@univerjs/engine-formula 0.15.0-insiders.20251227-c108ce3 → 0.15.0-insiders.20260106-79b11f9

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/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(w,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("@univerjs/core"),require("rxjs"),require("@univerjs/rpc")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","@univerjs/rpc"],S):(w=typeof globalThis<"u"?globalThis:w||self,S(w.UniverEngineFormula={},w.UniverCore,w.rxjs,w.UniverRpc))})(this,(function(w,S,Oe,vl){"use strict";var WR=Object.defineProperty;var QR=(w,S,Oe)=>S in w?WR(w,S,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):w[S]=Oe;var A=(w,S,Oe)=>QR(w,typeof S!="symbol"?S+"":S,Oe);var Ja;var Mt=(i=>(i.FALSE="FALSE",i.TRUE="TRUE",i))(Mt||{}),Dt=(i=>(i[i.SUCCESS=0]="SUCCESS",i[i.ERROR=1]="ERROR",i))(Dt||{}),Me=(i=>(i.ALL="#All",i.DATA="#Data",i.HEADERS="#Headers",i.TOTALS="#Totals",i.THIS_ROW="#This Row",i))(Me||{}),rt=(i=>(i[i.FRONT=0]="FRONT",i[i.BACK=1]="BACK",i))(rt||{});function ti(i,o,e,t,r){for(let n=0,s=i.length;n<s;n++){const a=i[n];if(o!==a.unitId||e!==a.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=a.range;if(t>=u&&t<=c&&r>=l&&r<=f)return!0}return!1}var h=(i=>(i.DIV_BY_ZERO="#DIV/0!",i.NAME="#NAME?",i.VALUE="#VALUE!",i.NUM="#NUM!",i.NA="#N/A",i.CYCLE="#CYCLE!",i.REF="#REF!",i.SPILL="#SPILL!",i.CALC="#CALC!",i.ERROR="#ERROR!",i.CONNECT="#GETTING_DATA",i.NULL="#NULL!",i))(h||{});const wt=new Set(Object.values(h)),ri=[...new Set(Object.values(h).map(i=>i.length))];var ni=(i=>(i[i.Financial=0]="Financial",i[i.Date=1]="Date",i[i.Math=2]="Math",i[i.Statistical=3]="Statistical",i[i.Lookup=4]="Lookup",i[i.Database=5]="Database",i[i.Text=6]="Text",i[i.Logical=7]="Logical",i[i.Information=8]="Information",i[i.Engineering=9]="Engineering",i[i.Cube=10]="Cube",i[i.Compatibility=11]="Compatibility",i[i.Web=12]="Web",i[i.Array=13]="Array",i[i.Univer=14]="Univer",i[i.User=15]="User",i[i.DefinedName=16]="DefinedName",i[i.Table=17]="Table",i))(ni||{}),z=(i=>(i.PLUS="+",i.MINUS="-",i.MULTIPLY="*",i.DIVIDED="/",i.CONCATENATE="&",i.POWER="^",i.EQUALS="=",i.NOT_EQUAL="<>",i.GREATER_THAN=">",i.GREATER_THAN_OR_EQUAL=">=",i.LESS_THAN="<",i.LESS_THAN_OR_EQUAL="<=",i))(z||{}),H=(i=>(i.EQUALS="=",i.NOT_EQUAL="<>",i.GREATER_THAN=">",i.GREATER_THAN_OR_EQUAL=">=",i.LESS_THAN="<",i.LESS_THAN_OR_EQUAL="<=",i))(H||{});const zr=new Map([["<>",4],["<",4],[">=",4],["=",4],[">",4],["<=",4],["&",3],["+",2],["-",2],["/",1],["*",1],["^",0]]),ct=new Set(zr.keys()),Il=new Set(["=","<>",">",">=","<","<="]);var K=(i=>(i.OPEN_BRACKET="(",i.CLOSE_BRACKET=")",i.COMMA=",",i.SINGLE_QUOTATION="'",i.DOUBLE_QUOTATION='"',i.OPEN_BRACES="{",i.CLOSE_BRACES="}",i.COLON=":",i.OPEN_SQUARE_BRACKET="[",i.CLOSE_SQUARE_BRACKET="]",i))(K||{}),Ke=(i=>(i.PERCENTAGE="%",i.POUND="#",i))(Ke||{});const Jr=new Set(["%","#"]);var De=(i=>(i.AT="@",i.MINUS="-",i.PLUS="+",i))(De||{});const Fl=" ",si=[...Object.values(H),...Object.values(z),...Object.values(K),...Object.values(Ke),...Object.values(De)];function Vr(i){return si.includes(i)}function ai(i){for(const o of si)if(i.indexOf(o)>-1)return!0;return!1}function Bl(i){return i[0]==="'"&&i[i.length-1]==="'"?i.substring(1,i.length-1):i}function kl(i){return Vr(i)&&i!==K.CLOSE_BRACES&&i!==K.CLOSE_BRACKET&&i!==K.SINGLE_QUOTATION&&i!==K.DOUBLE_QUOTATION||i===" "}const $l=new Set([z.PLUS,z.MINUS,z.MULTIPLY,z.DIVIDED,z.CONCATENATE,z.POWER,z.EQUALS,z.NOT_EQUAL,z.GREATER_THAN,z.GREATER_THAN_OR_EQUAL,z.LESS_THAN,z.LESS_THAN_OR_EQUAL,K.OPEN_BRACKET,K.COMMA,K.COLON,K.OPEN_BRACES,K.OPEN_SQUARE_BRACKET]);function Yl(i){return $l.has(i)}const Hl=new Set([z.PLUS,z.MINUS,z.MULTIPLY,z.DIVIDED,z.CONCATENATE,z.POWER,z.EQUALS,z.NOT_EQUAL,z.GREATER_THAN,z.GREATER_THAN_OR_EQUAL,z.LESS_THAN,z.LESS_THAN_OR_EQUAL,K.OPEN_BRACKET,K.COMMA,K.COLON,K.OPEN_BRACES,K.OPEN_SQUARE_BRACKET,Ke.PERCENTAGE,Ke.POUND]);function Gl(i){return Hl.has(i)}const ir='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',ii=new RegExp(ir),Wl="((?![\\[\\]\\/?*\\\\]).)*!",Lt="$",en="\\s*?:\\s*?",tn="[A-Za-z]+",rn="[1-9][0-9]*",or=`'?(${ir})?(${Wl})?'?`,ds=`\\${Lt}?${tn}\\${Lt}?${rn}`,Ql=`^(${De.AT})?${or}${ds}${en}${ds}$`,oi=new RegExp(Ql),ql=`^${or}\\s*?${ds}(${Ke.POUND})?$`,ui=new RegExp(ql),Xl=`^${or}\\${Lt}?${rn}${en}\\${Lt}?${rn}$`,li=new RegExp(Xl),Kl=`^${or}\\${Lt}?${tn}${en}\\${Lt}?${tn}$`,ci=new RegExp(Kl),Zl=`^${or}\\s*?\\${Lt}?${rn}$`,fi=new RegExp(Zl),zl=`^${or}\\s*?\\${Lt}?${tn}$`,mi=new RegExp(zl),Or="((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+",hi="\\[#.+\\]\\s*?,\\s*?",nn="\\[((?<!#).)*\\]",gi=`${nn}${en}${nn}`,Jl=`^(${ir})?${Or}$`,ec=`^(${ir})?${Or}(${nn}|\\[${hi}${nn}\\])+$`,tc=`^(${ir})?${Or}(\\[${gi}\\])?$|^${Or}(\\[${hi}${gi}\\])?$`,rc=`^(${ir})?${Or}\\[\\s*#([^\\]]+)\\s*\\]$`,di=new RegExp(Jl),Ci=new RegExp(ec),_i=new RegExp(tc),Ai=new RegExp(rc),nc="{.*?}",Ei=new RegExp(nc,"g");function Sr(i){return ui.lastIndex=0,ui.test(i)}function sc(i){return oi.lastIndex=0,oi.test(i)}function Ri(i){return li.lastIndex=0,li.test(i)}function yi(i){return ci.lastIndex=0,ci.test(i)}function bi(i){return fi.lastIndex=0,fi.test(i)}function pi(i){return mi.lastIndex=0,mi.test(i)}function ac(i){return di.lastIndex=0,di.test(i)}function ic(i){return Ci.lastIndex=0,Ci.test(i)}function oc(i){return _i.lastIndex=0,_i.test(i)}function uc(i){return Ai.lastIndex=0,Ai.test(i)}function lc(i){return Ei.lastIndex=0,Ei.test(i)}function Cs(i){return Sr(i)||sc(i)||Ri(i)||yi(i)}function _s(i){const o={};return Object.keys(i).forEach(e=>{const t=i[e];if(t==null)return!0;o[e]==null&&(o[e]={}),Object.keys(t).forEach(r=>{const n=t[r];o[e][r]=new S.ObjectMatrix(n)})}),o}function cc(i){const o={};for(const e in i){const t=i[e];if(t!=null){o[e]==null&&(o[e]={});for(const r in t){const n=t[r],s={};n.forValue((a,u,l)=>{s[a]===void 0&&(s[a]={}),s[a][u]=l}),o[e][r]=s}}}return o}const nt="P_1",Rt="R_1",Bt="L_1",Mr="LR_1",Ni="LO_1",Vi="LET",ur="LAMBDA",fc="CUBE",mc=new Set(["RAND","RANDBETWEEN","NOW","TODAY"]),Dr={type:S.CommandType.MUTATION,id:"sheet.mutation.data-validation-formula-mark-dirty",handler(){return!0}},Oi={id:"formula.mutation.register-function",type:S.CommandType.MUTATION,handler:()=>!0},sn={id:"formula.mutation.set-array-formula-data",type:S.CommandType.MUTATION,handler:(i,o)=>!0},hc=/[^0-9]/g,gc=/[^A-Za-z]/g;function wr(i){let o=i[0]==="$";const e=i.substring(1);let t=e.indexOf("$")>-1;return S.Tools.isStringNumber(e)&&o&&!t&&(o=!1,t=!0),o&&t?S.AbsoluteRefType.ALL:o?S.AbsoluteRefType.COLUMN:t?S.AbsoluteRefType.ROW:S.AbsoluteRefType.NONE}function dc(i){const o=i.split("!");o.length>1&&(i=o[o.length-1]);const e=i.split(":");return e.length>1?{startAbsoluteRefType:wr(e[0]),endAbsoluteRefType:wr(e[1])}:{startAbsoluteRefType:wr(e[0])}}function Si(i=S.AbsoluteRefType.NONE){let o="",e="";return i===S.AbsoluteRefType.ROW?o="$":i===S.AbsoluteRefType.COLUMN?e="$":i===S.AbsoluteRefType.ALL&&(o="$",e="$"),{rowAbsoluteString:o,columnAbsoluteString:e}}function yt(i){const{startColumn:o,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:n,endAbsoluteRefType:s,rangeType:a=S.RANGE_TYPE.NORMAL}=i,u=Si(n),l=Si(s);if(a===S.RANGE_TYPE.ROW||a===S.RANGE_TYPE.ALL){const m=`${u.rowAbsoluteString}${e+1}`,d=`${l.rowAbsoluteString}${r+1}`;return`${m}:${d}`}if(a===S.RANGE_TYPE.COLUMN){const m=`${u.columnAbsoluteString}${S.Tools.chatAtABC(o)}`,d=`${l.columnAbsoluteString}${S.Tools.chatAtABC(t)}`;return`${m}:${d}`}const c=`${u.columnAbsoluteString}${S.Tools.chatAtABC(o)}${u.rowAbsoluteString}${e+1}`,f=`${l.columnAbsoluteString}${S.Tools.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`;return c===f?c:`${c}:${f}`}function Mi(i,o){return`${Pi(i)}!${yt(o)}`}function Di(i,o,e){return ln(i)||ln(o)?`'[${cn(i)}]${cn(o)}'!${yt(e)}`:`[${i}]${o}!${yt(e)}`}function an(i){const{unitId:o,sheetName:e,range:t}=i;return o!=null&&o.length>0&&e!=null&&e.length>0?Di(o,e,t):e!=null&&e.length>0?Mi(e,t):yt(t)}function on(i){const o=Number.parseInt(i.replace(hc,""))-1,e=S.Tools.ABCatNum(i.replace(gc,"")),t=wr(i);return{row:o,column:e,absoluteRefType:t}}function un(i){const o=ii.exec(i);let e="";o!=null&&(e=o[0].trim(),e=As(e.slice(1,e.length-1)),i=i.replace(ii,""));const t=i.indexOf("!");let r="",n="";return t>-1?(r=i.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),r=As(r),n=i.substring(t+1)):n=i,{refBody:n,sheetName:r,unitId:e}}function lr(i){const{refBody:o,sheetName:e,unitId:t}=un(i),r=o.indexOf(":");if(r===-1){const _=on(o),C=_.row,E=_.column,R=_.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:C,startColumn:E,endRow:C,endColumn:E,startAbsoluteRefType:R,endAbsoluteRefType:R}}}const n=o.substring(0,r),s=o.substring(r+1),a=on(n),u=on(s),l=a.row>u.row?u.row:a.row,c=a.column>u.column?u.column:a.column,f=a.row>u.row?a.row:u.row,m=a.column>u.column?a.column:u.column;let d=S.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(f)?d=S.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(m)&&(d=S.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:f,endColumn:m,startAbsoluteRefType:a.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:d}}}const Cc=["LOG10"];function Lr(i){const o=wi(i);if(!Cs(o)||Cc.includes(o.toUpperCase().trim()))return!1;const{range:e}=lr(o);return!(e.endColumn>=16384)}function wi(i){const o=[];let e=!1;for(let t=0,r=i.length;t<r;t++){const n=i[t];if(n===Fl&&!e)o.push(n);else{if(!e&&(n===De.AT||n===De.MINUS||n===De.PLUS))continue;o.push(n),e=!0}}return o.join("")}function _c(i,o){const e=(i==null?void 0:i.split(","))||[];return i===""||e.length===0?[]:Li(i)?e.map(n=>{const s=lr(n);return{unitId:s.unitId,sheetId:o(s.sheetName),range:s.range,sheetName:s.sheetName}}):[]}function Li(i){return((i==null?void 0:i.split(","))||[]).every(e=>Lr(e.trim()))}function ln(i){return i.length===0?!1:!!(ai(i)||Ac(i)||Ec(i)||Rc(i)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(i))}function Pi(i){return ln(i)?`'${cn(i)}'`:i}function cn(i){return i.replace(/'/g,"''")}function As(i){return i.replace(/''/g,"'")}function Ac(i){const o=i.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(i)&&o!==null}function Ec(i){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(i)}function Rc(i){return!new RegExp("^\\p{Letter}","u").test(i.charAt(0))}function ji(i){const o=i.indexOf("[");return o===-1?{tableName:i,struct:""}:{tableName:i.slice(0,o),columnStruct:i.slice(o)}}var yc=Object.getOwnPropertyDescriptor,bc=(i,o,e,t)=>{for(var r=t>1?void 0:t?yc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pc=(i,o)=>(e,t)=>o(e,t,i);w.DefinedNamesService=class extends S.Disposable{constructor(e){super();A(this,"_definedNameMap",{});A(this,"_nameCacheMap",{});A(this,"_update$",new Oe.Subject);A(this,"update$",this._update$.asObservable());A(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});A(this,"_currentRange$",new Oe.Subject);A(this,"currentRange$",this._currentRange$.asObservable());A(this,"_focusRange$",new Oe.Subject);A(this,"focusRange$",this._focusRange$.asObservable());this._univerInstanceService=e}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var n;const{sheetName:r}=un(t);return(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetName(r)}focusRange(e,t){const r=this.getValueById(e,t);r!==void 0&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return yt(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._updateCache(e),this._update()}registerDefinedName(e,t){this._definedNameMap[e]===void 0&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._updateCache(e),this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._updateCache(e),this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._updateCache(e),this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){const r=this._nameCacheMap[e];if(r)return r[t.toLowerCase()]||null;const n=this._definedNameMap[e];if(n===void 0)return null;let s=null;for(const a of Object.values(n))if(a.name===t){s=a;break}return s&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=s),s}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]===void 0?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}getAllDefinedNames(){return this._definedNameMap}getDefinedNameByRefString(e,t){if(this._definedNameMap[e]){for(const[r,n]of Object.entries(this._definedNameMap[e]))if(n.formulaOrRefString===t)return n}}_update(){this._update$.next(null)}_updateCache(e){const t=this._definedNameMap[e];if(t===void 0){delete this._nameCacheMap[e];return}this._nameCacheMap[e]={};for(const r of Object.values(t))this._nameCacheMap[e][r.name.toLowerCase()]=r}},w.DefinedNamesService=bc([pc(0,S.IUniverInstanceService)],w.DefinedNamesService);const kt=S.createIdentifier("univer.formula.defined-names.service"),Nc=(i,o)=>{const{unitId:e,id:t}=o;return{...i.get(kt).getValueById(e,t),unitId:e}},Es={id:"formula.mutation.set-defined-name",type:S.CommandType.MUTATION,handler:(i,o)=>{if(o==null)return!1;const e=i.get(kt),{id:t,unitId:r,name:n,formulaOrRefString:s,comment:a,hidden:u,localSheetId:l,formulaOrRefStringWithPrefix:c}=o;return e.registerDefinedName(r,{id:t,name:n.trim(),formulaOrRefString:s.trim(),comment:a==null?void 0:a.trim(),hidden:u,localSheetId:l,formulaOrRefStringWithPrefix:c}),!0}},Ti={id:"formula.mutation.remove-defined-name",type:S.CommandType.MUTATION,handler:(i,o)=>{if(o==null)return!1;const e=i.get(kt),{unitId:t,id:r}=o;return e.removeDefinedName(t,r),!0}},fn={id:"formula.mutation.set-feature-calculation",type:S.CommandType.MUTATION,handler:()=>!0},mn={id:"formula.mutation.remove-feature-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Rs={id:"formula.mutation.set-formula-calculation-start",type:S.CommandType.MUTATION,handler:()=>!0},Ui={id:"formula.mutation.set-trigger-formula-calculation-start",type:S.CommandType.MUTATION,handler:()=>!0},ys={id:"formula.mutation.set-formula-string-batch-calculation",type:S.CommandType.MUTATION,handler:()=>!0},bs={id:"formula.mutation.set-formula-string-batch-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},ps={id:"formula.mutation.set-formula-calculation-stop",type:S.CommandType.MUTATION,handler:()=>!0},Pr={id:"formula.mutation.set-formula-calculation-notification",type:S.CommandType.MUTATION,handler:()=>!0},hn={id:"formula.mutation.set-formula-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ns={id:"formula.mutation.set-formula-dependency-calculation",type:S.CommandType.MUTATION,handler:()=>!0},gn={id:"formula.mutation.set-formula-dependency-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Vs={id:"formula.mutation.set-cell-formula-dependency-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Os={id:"formula.mutation.set-cell-formula-dependency-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ss={id:"formula.mutation.set-query-formula-dependency",type:S.CommandType.MUTATION,handler:()=>!0},Ms={id:"formula.mutation.set-query-formula-dependency-result",type:S.CommandType.MUTATION,handler:()=>!0},Ds={id:"formula.mutation.set-query-formula-dependency-all",type:S.CommandType.MUTATION,handler:()=>!0},ws={id:"formula.mutation.set-query-formula-dependency-all-result",type:S.CommandType.MUTATION,handler:()=>!0},Ls={id:"formula.mutation.set-formula-data",type:S.CommandType.MUTATION,handler:(i,o)=>!0},Ps={id:"formula.mutation.set-image-formula-data",type:S.CommandType.MUTATION,handler:(i,o)=>!0},jr={id:"formula.mutation.set-other-formula",type:S.CommandType.MUTATION,handler:()=>!0},Tr={id:"formula.mutation.remove-other-formula",type:S.CommandType.MUTATION,handler:()=>!0};class xi extends S.Disposable{constructor(){super();A(this,"_tableMap",new Map);A(this,"_tableOptionMap",new Map);A(this,"_update$",new Oe.Subject);A(this,"update$",this._update$.asObservable());this.registerTableOptionMap(Me.ALL,Me.ALL),this.registerTableOptionMap(Me.DATA,Me.DATA),this.registerTableOptionMap(Me.HEADERS,Me.HEADERS),this.registerTableOptionMap(Me.TOTALS,Me.TOTALS),this.registerTableOptionMap(Me.THIS_ROW,Me.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var n;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(n=this._tableMap.get(e))==null||n.set(t,r),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var r;return(r=this._tableMap.get(e))==null?void 0:r.get(t)}hasTable(e,t){const r=this._tableMap.get(e);return r?r.keys().some(n=>n.toLowerCase()===t.toLowerCase()):!1}_update(){this._update$.next(null)}}const cr=S.createIdentifier("univer.formula.super-table.service"),vi={id:"formula.mutation.set-super-table",type:S.CommandType.MUTATION,handler:(i,o)=>{const{unitId:e,tableName:t,reference:r}=o;return i.get(cr).registerTable(e,t,r),!0}},Ii={id:"formula.mutation.remove-super-table",type:S.CommandType.MUTATION,handler:(i,o)=>{const{unitId:e,tableName:t}=o;return i.get(cr).remove(e,t),!0}},Fi={id:"formula.mutation.set-super-table-option",type:S.CommandType.MUTATION,handler:(i,o)=>{const{tableOption:e,tableOptionType:t}=o;return i.get(cr).registerTableOptionMap(e,t),!0}};class bt{constructor(o){A(this,"_cache");this._cache=new S.LRUMap(o)}set(o,e){const t=this._hash(o);this._cache.set(t,e)}get(o){const e=this._hash(o);return this._cache.get(e)}clear(){this._cache.clear()}delete(o){this._cache.delete(this._hash(o))}forEach(o,e){this._cache.forEach(o,e)}_hash(o){return o.length<=64?o:S.hashAlgorithm(o).toString()}}const js=new bt(1e5);function $t(i){const o=js.get(i);if(o)return o;const e=lr(i);return js.set(i,e),lr(i)}function Vc(){js.clear()}var xe=(i=>(i[i.NORMAL=0]="NORMAL",i[i.NUMBER=1]="NUMBER",i[i.STRING=2]="STRING",i[i.FUNCTION=3]="FUNCTION",i[i.REFERENCE=4]="REFERENCE",i[i.ARRAY=5]="ARRAY",i[i.DEFINED_NAME=6]="DEFINED_NAME",i[i.TABLE=7]="TABLE",i))(xe||{});function Ts(i){let o="";for(const e of i)typeof e=="string"?o+=e:o+=e.token;return o}class oe{constructor(){A(this,"_parent");A(this,"_token",Rt);A(this,"_children",[]);A(this,"_lambdaId");A(this,"_functionDefinitionPrivacyVar");A(this,"_lambdaParameter","");A(this,"_startIndex",-1);A(this,"_endIndex",-1);A(this,"_definedNames",[])}dispose(){var o;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(o=this._functionDefinitionPrivacyVar)==null||o.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(o){this._lambdaId=o}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(o){this._functionDefinitionPrivacyVar=o}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(o){this._lambdaParameter=o}getParent(){return this._parent}setParent(o){this._parent=o}getChildren(){return this._children}setChildren(o){this._children=o}addChildren(o){this._children.push(o)}addChildrenFirst(o){this._children.unshift(o)}getToken(){return this._token}setToken(o){this._token=o}setIndex(o,e){this._startIndex=o,this._endIndex=e}setDefinedNames(o){this._definedNames=o}hasDefinedNames(){return this._definedNames.length>0}replaceChild(o,e){const t=this._getIndexInParent(o);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(o){const e=this.getParent();e&&e.removeChild(this),this.setParent(o),o.getChildren().push(this)}removeChild(o){const e=this._getIndexInParent(o);e!=null&&this.getChildren().splice(e,1)}serialize(){const o=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let n=0;n<r;n++){const s=e[n];s instanceof oe?t.push(s.serialize()):t.push(s)}return{token:o,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(o){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===o)return r}}const Bi=2e3,Us=new bt(Bi),xs=new bt(Bi);class fr extends S.Disposable{constructor(){super(...arguments);A(this,"_currentLexerNode",new oe);A(this,"_upLevel",0);A(this,"_segment","");A(this,"_bracketState",[]);A(this,"_squareBracketState",0);A(this,"_bracesState",0);A(this,"_singleQuotationState",0);A(this,"_doubleQuotationState",0);A(this,"_lambdaState",!1);A(this,"_colonState",!1);A(this,"_formulaErrorCount",0);A(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Us.clear(),xs.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 r=this._getCurrentParamIndex(e,t);if(r==null||r===h.VALUE)return;const n=r[0];if(typeof n=="string")return;let s=n.getParent(),a=n;for(;s;){const u=s.getToken();if(u!==nt&&!Vr(u)&&s.getStartIndex()!==-1){const l=s.getChildren().indexOf(a);return{functionName:u,paramIndex:l}}a=s,s=s.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,n=e[r];for(;(n===K.CLOSE_BRACKET||n===" ")&&r>=0;)n===K.CLOSE_BRACKET&&t++,n=e[--r];const s=this._getCurrentParamIndex(e,e.length-2);if(s==null||s===h.VALUE)return 0;const a=s[0];if(typeof a=="string")return 0;let u=a.getParent(),l=0;for(s[1]===K.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==nt&&c!==K.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==ur&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=xs.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const n=this.getSequenceNode(r);return xs.set(e,[...n]),n}convertRefersToAbsolute(e,t,r,n=""){const s=this.sequenceNodesBuilder(e);if(s==null)return e;let a="";e.substring(0,1)===z.EQUALS&&(a=z.EQUALS);for(let u=0,l=s.length;u<l;u++){const c=s[u];if(typeof c!="string"&&c.nodeType===xe.REFERENCE){const{token:f,endIndex:m}=c,d=$t(f);if(d==null)continue;const{range:_,sheetName:C,unitId:E}=d,R={..._,startAbsoluteRefType:t,endAbsoluteRefType:r},y=an({range:R,unitId:E,sheetName:C||n}),p=y.length-f.length;s[u]={...c,token:y,endIndex:m+p};for(let N=u+1;N<l;N++){const M=s[N];typeof M!="string"&&(M.startIndex+=p,M.endIndex+=p)}}}return`${a}${Ts(s)}`}moveFormulaRefOffset(e,t,r,n=!1){const s=this.sequenceNodesBuilder(e);if(s==null)return e;const a=[];for(let u=0,l=s.length;u<l;u++){const c=s[u];if(typeof c=="string"||c.nodeType!==xe.REFERENCE){a.push(c);continue}const{token:f}=c,m=$t(f),{sheetName:d,unitId:_}=m;let C=m.range;if(!n&&C.startAbsoluteRefType===S.AbsoluteRefType.ALL&&C.endAbsoluteRefType===S.AbsoluteRefType.ALL){a.push(c);continue}else C=S.moveRangeByOffset(C,t,r,n);let E="";S.isValidRange(C)?E=an({range:C,unitId:_,sheetName:d}):E=h.REF,a.push({...c,token:E})}return`=${Ts(a)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;const e=this._currentLexerNode.getChildren()[0];return e instanceof oe?!0:!!(this._passArrayOperator(e)||ct.has(e)||Jr.has(e)||e===De.AT||e===K.COMMA||e===K.COLON||e===K.OPEN_BRACKET)}_passArrayOperator(e){if(e.length===0||!(e[0]==="{"&&e[e.length-1]==="}"))return!1;const t=this._currentLexerNode.getChildren(),r=t[t.length-1];return r instanceof oe?!1:!!ct.has(r)}getSequenceNode(e){const t=[];let r=!1;for(let n=0,s=e.length;n<s;n++){const a=e[n],u=e[n-1],{segment:l,currentString:c}=a;if(c===K.DOUBLE_QUOTATION&&(r=!0),(l!==""||n===0)&&n!==s-1){t.push(c);continue}let f=(u==null?void 0:u.segment)||"";const m=n-f.length;let d=n-1;const _=n-1;if(n===s-1&&this._isLastMergeString(c)&&(f+=c,d+=1),f===""||zr.has(f)){t.push(c);continue}const C=f.trim(),E=wi(C);r===!0&&C[C.length-1]===K.DOUBLE_QUOTATION&&C[0]!==K.OPEN_BRACES?(r=!1,this._processPushSequenceNode(t,xe.STRING,f,m,d,_)):Sr(E)&&Lr(E)?this._processPushSequenceNode(t,xe.REFERENCE,f,m,d,_):S.Tools.isStringNumber(C)?this._processPushSequenceNode(t,xe.NUMBER,f,m,d,_):C.length>0&&this._processPushSequenceNode(t,xe.FUNCTION,f,m,d,_),(n!==s-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,n,s,a){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:n,endIndex:s},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===K.DOUBLE_QUOTATION||S.Tools.isStringNumber(e)||!Vr(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let n=0;for(;n<r;){const s=e[n];if(typeof s=="string"){const a=e[n-1];if(s.trim()===K.CLOSE_BRACES&&a!=null&&typeof a!="string"&&a.nodeType===xe.FUNCTION&&a.token.trim().substring(0,1)===K.OPEN_BRACES){a.nodeType=xe.ARRAY,a.token+=s,a.endIndex+=s.length,n++;continue}t.push(s)}else{const a=e[n+1],u=e[n+2];a===K.COLON&&typeof s!="string"&&u!=null&&typeof u!="string"&&Lr((s.token+a+u.token).trim())&&(s.nodeType=xe.REFERENCE,s.token+=a+u.token,s.endIndex=u.endIndex,n+=2),t.push(s)}n++}return this._minusSplitSequenceNode(t)}_minusSplitSequenceNode(e){const t=[];for(const r of e){if(typeof r!="string"){const s=r.token.match(/^(\s*([-@+]\s*)+)(.*)$/);if(s){const a=s[1],u=s[3];if(Lr(u.trim())){const l=a.length,c=r.startIndex,f=r.startIndex+l-1,m={nodeType:xe.NORMAL,token:a,startIndex:c,endIndex:f},d={nodeType:xe.REFERENCE,token:u,startIndex:f+1,endIndex:r.endIndex};t.push(m),t.push(d);continue}}}t.push(r)}return t}_pushSequenceNode(e,t,r){const n=r-t.startIndex+1;e.splice(e.length-n,n,t)}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r){var f;if(t===!0){const m=Us.get(e),d=r&&((f=this._simpleCheckDefinedName)==null?void 0:f.call(this,e,r));if(m&&!d)return m}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(Rt);const n=[];let s=this._nodeMaker(e,n);if(s===h.VALUE||n.length===0)return s;let a=!1,u="",l=[];if(r){const{hasDefinedName:m,sequenceString:d,definedNames:_}=this._handleDefinedName(n,r);a=m,u=d,l=_}if(a&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(Rt),s=this._nodeMaker(`=${u}`),s===h.VALUE))return s;const c=this._getTopNode(this._currentLexerNode);if(c&&(this._currentLexerNode=c),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return h.VALUE;Us.set(e,this._currentLexerNode)}return a&&this._currentLexerNode.setDefinedNames(l),this._currentLexerNode}_handleDefinedName(e,t){const{unitId:r,getValueByName:n,getSheetName:s}=t;if(r==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const a=this.getSequenceNode(e);let u="",l=!1;const c=[];for(let f=0,m=a.length;f<m;f++){const d=a[f];if(typeof d=="string"){u+=d;continue}const{nodeType:_,token:C}=d;let E=C;if(_===xe.REFERENCE||_===xe.FUNCTION){_===xe.FUNCTION&&(E=this._getHasSheetNameDefinedName(C,r,t));const R=n(r,E);if(R){const y=R.formulaOrRefString,p=this._handleNestedDefinedName(y,t);if(p==null||typeof p!="object")u+=p||h.NAME,l=!0,c.push(E);else if(typeof p=="object"){const{sequenceString:N,definedNames:M}=p;u+=N,M.forEach(D=>{c.push(D)}),l=!0}}else this._checkDefinedNameDirty(E,t)?(u+=h.NAME,l=!0,c.push(E)):u+=E}else u+=E}return{sequenceString:u,hasDefinedName:l,definedNames:c}}_getHasSheetNameDefinedName(e,t,r){if(!e.includes("!"))return e;const n=e.split("!");if(n.length!==2)return e;const s=n[0],a=n[1].trim(),u=r.getValueByName(t,a);if(!u)return e;const l=u.localSheetId;if(l!==void 0){if(l==="AllDefaultWorkbook")return a;const c=r.getSheetName(t,l);if(s===c)return a}else return a;return e}_handleNestedDefinedName(e,t){const r=[],n=this._nodeMaker(e,r);return n===h.VALUE||r.length===0?n:this._handleDefinedName(r,t)}_simpleCheckDefinedName(e,t){const{getDirtyDefinedNameMap:r,unitId:n}=t,s=r(),a=n;if(a!=null&&s[a]!=null){const u=Object.keys(s[a]);for(let l=0,c=u.length;l<c;l++){const f=u[l];if(e.indexOf(f)>-1)return!0}}return!1}_checkDefinedNameDirty(e,t){const{getDirtyDefinedNameMap:r,unitId:n}=t,s=r(),a=n;if(a!=null&&s[a]!=null){const u=Object.keys(s[a]);for(let l=0,c=u.length;l<c;l++)if(u[l]===e)return!0}return!1}_suffixExpressionHandler(e){var u;const t=e.getChildren();if(!t)return!1;const r=t.length,n=[],s=[];let a=!0;for(let l=0;l<r;l++){const c=t[l];if(c instanceof oe)a=this._suffixExpressionHandler(c),n.push(c);else{const f=c.trim();if(f==="")continue;if(ct.has(f)){if(f===z.PLUS&&this._deletePlusForPreNode(t[l-1]))continue;if(f!==z.PLUS&&f!==z.MINUS&&this._deletePlusForPreNode(t[l-1]))return!1;for(;s.length>0;){const m=(u=s[s.length-1])==null?void 0:u.trim();if(!m||m===K.OPEN_BRACKET)break;const d=zr.get(m),_=zr.get(f);if(d===void 0||_===void 0)break;if(_>=d)n.push(s.pop());else break}s.push(c)}else if(f===K.OPEN_BRACKET)s.push(c);else if(f===K.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(n,s,t,l);else{if(this._checkCloseBracket(t[l-1]))return!1;n.push(c)}}}return a?this._processSuffixExpressionRemain(n,s,e):!1}_processSuffixExpressionRemain(e,t,r){const n=e.length,s=e[n-1];for(;t.length>0;){const a=t.pop();if(!(s instanceof oe)&&(a===K.OPEN_BRACKET||a===K.CLOSE_BRACKET))return!1;e.push(a)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,n){var s;if(this._checkOpenBracket(r[n-1])||this._checkOperator(r[n-1]))return!1;for(;t.length>0;){const a=(s=t[t.length-1])==null?void 0:s.trim();if(!a)break;if(a===K.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===K.CLOSE_BRACKET||e instanceof oe}_checkOpenBracket(e){return e===K.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof oe?!1:ct.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof oe)){const t=e.trim();if(ct.has(t)||t===K.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new oe}_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}_formalErrorOccurred(){this._formulaErrorCount+=1}_hasFormalError(){return this._formulaErrorCount>0}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof oe)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 r,n,s,a,u,l;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===Bt){if((n=e==null?void 0:e.getParent())!=null&&n.getParent()){const c=(a=(s=this._currentLexerNode.getParent())==null?void 0:s.getParent())==null?void 0:a.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){let r=e;if(r!==""){const n=this._currentLexerNode.getChildren();if(!(r instanceof oe)&&this.isColonOpen()){const s=new oe;s.setToken(r),s.setParent(this._currentLexerNode),r=s}t?n.unshift(r):n.push(r)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,r=!1){const n=new oe;n.setToken(e),n.setIndex(t-e.length,t-1),this._setCurrentLexerNode(n,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_formulaErrorLastTokenCheck(e,t){const r=this._findPreviousToken(e,t)||"",n=e.length-1===t;if(!n&&this._isOperatorToken(r)||n&&Yl(r))return!0;if(Jr.has(r)){const s=this._findSecondLastNonSpaceToken(e,t);if(s==null||Gl(s))return!0}return!1}_findPreviousToken(e,t){let r=t;for(;r>=0;){const n=e[r];if(n!==" ")return n;r--}}_findSecondLastNonSpaceToken(e,t){let r=t,n=0;for(;r>=0;){const s=e[r];if(s!==" "&&(n++,n===2))return s;r--}return null}_findNextToken(e,t){let r=t;for(;r>=0;){const n=e[r];if(n!==" ")return n;r++}}_unexpectedEndingTokenExcludeOperator(e){return e===K.OPEN_BRACKET||e===K.COMMA||e===z.EQUALS||e===""}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!ct.has(e)}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new oe,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1,this._formulaErrorCount=0}_checkErrorState(){return!!(this._bracketState.length>0||this._bracesState>0||this._singleQuotationState>0||this._doubleQuotationState>0||this._hasFormalError())}_checkSimilarErrorToken(e,t,r){let n=t;if(e!==Ke.POUND)return!0;let s=r[++n];for(;s===" ";)s=r[++n];return!!Vr(s)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let r=0;r<ri.length;r++){const n=ri[r],s=t.slice(e,e+n).join("").toUpperCase();if(wt.has(s))return s}}_nodeMaker(e,t,r){let n=e.replace(/\r\n$|\r|\n/g," ");n.substring(0,1)===z.EQUALS&&(n=n.substring(1));const s=n.split(""),a=s.length;this._resetTemp(),this._formulaErrorLastTokenCheck(s,a-1)&&this._formalErrorOccurred();let u=0;for(;u<a;){const l=s[u];if(r===u)return[this._currentLexerNode,l];if(l===Ke.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(u,s)){const c=this._findErrorObject(u,s);if(c==null)return h.VALUE;this._pushNodeToChildren(c);for(let f=0;f<c.length;f++){const m=s[u];this._pushSegment(m),this._addSequenceArray(t,m,u),u++}this._resetSegment();continue}else if(l===K.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=s[u+1];if(c&&c===K.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==a-1)return h.VALUE;this._addSequenceArray(t,l,u),u++,this._addSequenceArray(t,c,u),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(nt,u)}else this._pushNodeToChildren(l),this._openBracket(0),this._resetSegment();else if(l===K.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(s,u-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const f=s[u+1];if(f&&f===K.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==a-1)return h.VALUE;this._newAndPushCurrentLexerNode(Bt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==a-1)return h.VALUE}else return h.VALUE;this._closeBracket()}else if(l===K.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(l),this._openBraces(),!this._formulaSpellCheck())return h.VALUE}else if(l===K.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===K.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===K.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===K.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=s[u+1];c&&c===K.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===K.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{const c=s[u+1];if(c&&c===K.SINGLE_QUOTATION){this._pushSegment(l),this._addSequenceArray(t,l,u),u++,this._pushSegment(c),this._addSequenceArray(t,c,u),u++;continue}else this._closeSingleQuotation()}this._pushSegment(l)}else if(l===K.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(s,u-1)&&this._formalErrorOccurred();const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==a-1&&c!=null)return h.VALUE;this._newAndPushCurrentLexerNode(nt,u)}else{const f=new oe;f.setToken(fc);const m=new oe;m.setToken(nt),m.changeToParent(f);const d=this._currentLexerNode.getParent();if(d&&d.getToken()===K.COLON){const _=d.getParent();if(!_)return h.VALUE;d.changeToParent(m),_.setChildren([]),f.changeToParent(_)}else return h.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=f,this._newAndPushCurrentLexerNode(nt,u)}}else if(l===K.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new oe;c.setToken(l);const f=new oe;f.setToken(nt),f.setParent(c);const m=new oe;m.setToken(nt),m.setParent(c),c.getChildren().push(f,m);let d=c,_=0;if(this._segmentCount()>0){let C,E,R=0;const y=this._segment.trim(),p=y[0],N=y[1];if(p===De.MINUS&&(C=new oe,C.setToken(De.MINUS),C.setIndex(u-this._segment.length,u-this._segment.length),R++),p===De.AT||N===De.AT){E=new oe,E.setToken(De.AT);const D=u-this._segment.length+R;E.setIndex(D,D),C&&(C.addChildren(E),E.setParent(C)),R++}if(R>0&&(this._segment=y.slice(R)),_=R,E)if(E.addChildren(c),c.setParent(E),E.getParent()){const D=E.getParent();D&&(d=D)}else d=E;else C&&(d=C,C.addChildren(c),c.setParent(C));const M=new oe;M.setToken(this._segment),M.setParent(f),M.setIndex(u-this._segment.length,u-1),f.getChildren().push(M),this._resetSegment()}else{const C=this._getLastChildCurrentLexerNode();C&&C.changeToParent(f)}this._setCurrentLexerNode(d),this._currentLexerNode=m,this._openColon(_)}else if(Jr.has(l)&&this._checkSimilarErrorToken(l,u,s)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);const c=new oe;c.setToken(l),c.setIndex(u-1,u-1);const f=this._getLastChildCurrent();f instanceof oe?f.changeToParent(c):f!==!1&&(c.getChildren().push(f),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ct.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let c=this._segment.trim();if(l===z.MINUS&&c===""){const f=this._findPreviousToken(s,u-1)||"",m=this._findNextToken(s,u+1)||"";if(this._unexpectedEndingTokenExcludeOperator(f)&&this._isOperatorToken(m)){this._pushNodeToChildren("0"),this._pushNodeToChildren(z.MINUS),this._addSequenceArray(t,l,u),this._resetSegment(),u++;continue}else if(this._unexpectedEndingToken(f))if(m===z.PLUS){this._pushSegment(z.MINUS),this._addSequenceArray(t,l,u),this._addSequenceArray(t,z.PLUS,u+1),u+=2;continue}else{this._pushSegment(z.MINUS),this._addSequenceArray(t,l,u),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(s,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===z.LESS_THAN||l===z.GREATER_THAN){const f=s[u+1];if(f&&ct.has(l+f)){this._pushNodeToChildren(c+l+f),this._resetSegment(),this._addSequenceArray(t,l,u),u++,this._addSequenceArray(t,f,u),u++;continue}else this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else(this._segment!==""||l!==" ")&&this._pushSegment(l);this._addSequenceArray(t,l,u),u++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return h.VALUE}_isScientificNotation(e,t,r){const n=e[t-2];if(n&&Number.isNaN(Number(n))||!(r===z.MINUS||r===z.PLUS))return!1;const s=e[t+1];if(s&&Number.isNaN(Number(s)))return!1;const a=e[t-1];return a&&a.toUpperCase()==="E"}_addSequenceArray(e,t,r){e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,r,n,s){return null}}function Oc(i,o,e,t,r,n,s){const a=(s==null?void 0:s.f)||"",u=(s==null?void 0:s.si)||"",l=S.isFormulaString(a),c=S.isFormulaId(u),f=i.getValue(r,n),m=(f==null?void 0:f.f)||"",d=(f==null?void 0:f.si)||"";function _(){var C;if(S.isFormulaString(m)&&S.isFormulaId(d)){const E=(C=e==null?void 0:e[d])==null?void 0:C.f;E?t.set(d,E):t.set(d,m)}}l&&c?(d!==u&&_(),i.setValue(r,n,{f:a,si:u}),e[u]={f:a,r,c:n},o.setValue(r,n,{f:a,si:u})):l&&!c?(m!==a&&_(),i.setValue(r,n,{f:a}),o.setValue(r,n,{f:a})):!l&&c?(d!==u&&_(),i.setValue(r,n,{f:"",si:u})):!l&&!c&&i.getValue(r,n)&&(_(),i.realDeleteValue(r,n),o.setValue(r,n,null))}function Sc(i,o,e,t){const r=i==null?void 0:i.getValue(e,t);if(r==null)return!0;const n=[];i.forValue((c,f,m)=>{c===e&&f===t||S.Rectangle.intersects(m,r)&&n.push(m)});const{startRow:s,startColumn:a,endRow:u,endColumn:l}=r;for(let c=s;c<=u;c++)for(let f=a;f<=l;f++){let m=!1;const d=S.cellToRange(c,f);n.some(_=>S.Rectangle.contains(_,d)?(m=!0,!0):!1),m||o.realDeleteValue(c,f)}}var Mc=Object.getOwnPropertyDescriptor,Dc=(i,o,e,t)=>{for(var r=t>1?void 0:t?Mc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ki=(i,o)=>(e,t)=>o(e,t,i);w.FormulaDataModel=class extends S.Disposable{constructor(e,t){super();A(this,"_arrayFormulaRange",{});A(this,"_arrayFormulaCellData",{});A(this,"_unitImageFormulaData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{var c,f,m,d;const s=r[n],a=(f=(c=this._arrayFormulaRange)==null?void 0:c[t])==null?void 0:f[n];if(a==null)return!0;const u=new S.ObjectMatrix(a);let l=new S.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[n])!=null&&(l=new S.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[n])),s.forValue((_,C)=>{const E=u.getValue(_,C);if(E==null)return!0;const{startRow:R,startColumn:y,endRow:p,endColumn:N}=E;for(let M=R;M<=p;M++)for(let D=y;D<=N;D++)l.setValue(M,D,null);u.realDeleteValue(_,C)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][n]=l.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(n=>{var l,c;const s=r[n],a=new S.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[n]),u=new S.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[n]);s.forValue((f,m)=>{const d=a==null?void 0:a.getValue(f,m);if(d==null)return!0;const{startRow:_,startColumn:C,endRow:E,endColumn:R}=d;for(let y=_;y<=E;y++)for(let p=C;p<=R;p++)u.setValue(y,p,null)}),s.forValue((f,m,d)=>{u.setValue(f,m,d)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][n]=u.getData())})})}getFormulaData(){const e={},t=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET);return t.length===0||t.forEach(r=>{const n=r.getUnitId();e[n]={},r.getSheets().forEach(a=>{const u=a.getCellMatrix(),l=a.getSheetId();vs(e,n,l,u)})}),e}getSheetFormulaData(e,t){const r={},n=this._univerInstanceService.getUnit(e);if(n==null)return{};r[e]={};const s=n.getSheetBySheetId(t);if(s==null)return{};const a=s.getCellMatrix();return vs(r,e,t,a),r[e][t]}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getUnitImageFormulaData(){return this._unitImageFormulaData}setUnitImageFormulaData(e){this._unitImageFormulaData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(n=>{var u;const s=new S.ObjectMatrix(r[n]),a=new S.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[n]);s.forValue((l,c,f)=>{a.setValue(l,c,f)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][n]=a.getData())})})}mergeUnitImageFormulaData(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const n=t[r],s=e[n];if(!s)continue;this._unitImageFormulaData[n]||(this._unitImageFormulaData[n]={});const a=Object.keys(s);for(let u=0;u<a.length;u++){const l=a[u],c=s[l];c&&(this._unitImageFormulaData[n][l]||(this._unitImageFormulaData[n][l]=new S.ObjectMatrix),c.forValue((f,m,d)=>{this._unitImageFormulaData[n][l].setValue(f,m,d)}))}}}deleteArrayFormulaRange(e,t,r,n){var u;const s=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(s==null)return;const a=new S.ObjectMatrix(s);a.getValue(r,n)&&(a.realDeleteValue(r,n),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=a.getData()))}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET),t={},r={},n={};for(const s of e){const a=s.getUnitId(),u=s.getSheets(),l={},c={};for(const f of u){const m=f.getSheetId(),d=f.getConfig();l[m]={cellData:new S.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData,defaultRowHeight:d.defaultRowHeight,defaultColumnWidth:d.defaultColumnWidth},c[f.getName()]=f.getSheetId()}t[a]=l,r[a]=s.getStyles(),n[a]=c}return{allUnitData:t,unitStylesData:r,unitSheetNameMap:n}}getHiddenRowsFiltered(){const e=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET),t={};for(const r of e){const n=r.getUnitId(),s=r.getSheets();t[n]={};for(const a of s){const u=a.getSheetId();t[n][u]={};const l=0,c=a.getRowCount()-1,f={};for(let m=l;m<=c;m++)a.getRowVisible(m)||(f[m]={hd:S.BooleanNumber.TRUE});t[n][u]=f}}return t}updateFormulaData(e,t,r){const n=new S.ObjectMatrix(r),s=this._getSheetFormulaIdMap(e,t),a=new Map,u=this.getFormulaData();u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new S.ObjectMatrix(l[t]||{}),f=new S.ObjectMatrix;return n.forValue((m,d,_)=>{Oc(c,f,s,a,m,d,_)}),c.forValue((m,d,_)=>{const C=(_==null?void 0:_.f)||"",E=(_==null?void 0:_.si)||"";if(S.isFormulaId(E)){const R=s==null?void 0:s[E],y=a.get(E);if(R&&!S.isFormulaString(C)){const p=R.f,N=d-R.c,M=m-R.r;c.setValue(m,d,{f:p,si:E,x:N,y:M}),f.setValue(m,d,{f:p,si:E,x:N,y:M})}else if(typeof y=="string"){const p=(_==null?void 0:_.x)||0,N=(_==null?void 0:_.y)||0,M=this._lexerTreeBuilder.moveFormulaRefOffset(y,p,N);a.set(E,{r:m,c:d,f:M}),c.setValue(m,d,{f:M,si:E}),f.setValue(m,d,{f:M,si:E})}else if(typeof y=="object"){const p=d-y.c,N=m-y.r;c.setValue(m,d,{f:y.f,si:E,x:p,y:N}),f.setValue(m,d,{f:y.f,si:E,x:p,y:N})}}}),f.getMatrix()}updateArrayFormulaRange(e,t,r){var u;const n=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!n)return;const s=new S.ObjectMatrix(n);new S.ObjectMatrix(r).forValue((l,c,f)=>{s.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,r){var c,f;const n=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!n)return;const s=new S.ObjectMatrix(n),a=(f=this._arrayFormulaCellData[e])==null?void 0:f[t];if(!a)return;const u=new S.ObjectMatrix(a);new S.ObjectMatrix(r).forValue((m,d,_)=>{Sc(s,u,m,d)})}updateImageFormulaData(e,t,r){var a;const n=(a=this._unitImageFormulaData[e])==null?void 0:a[t];if(!n)return;new S.ObjectMatrix(r).forValue((u,l)=>{n.realDeleteValue(u,l)})}getFormulaStringByCell(e,t,r,n){const s=this._univerInstanceService.getUnit(n);if(s==null)return null;const a=s.getSheetBySheetId(r);if(a==null)return null;const u=a.getCellMatrix(),l=u.getValue(e,t);if(l==null)return null;const{f:c,si:f}=l;if(S.isFormulaString(c))return c;if(S.isFormulaId(f)){let m=null;return u.forValue((d,_,C)=>{if(C==null)return!0;const{f:E,si:R}=C;if(S.isFormulaString(E)&&f===R)return m=this._lexerTreeBuilder.moveFormulaRefOffset(E,t-_,e-d),!1}),m}return null}getFormulaDirtyRanges(){const e=this.getFormulaData(),t=[];for(const r in e){const n=e[r];if(!n)continue;const s=this._univerInstanceService.getUnit(r);if(s)for(const a in n){const u=n[a];if(!u)continue;const l=s.getSheetBySheetId(a);if(!l)continue;const c={};for(const f of Object.keys(u)){const m=Number(f);for(const d in u[m]){const _=Number(d),C=l.getCellRaw(m,_),E=S.isFormulaString(C==null?void 0:C.f)||S.isFormulaId(C==null?void 0:C.si),R=(C==null?void 0:C.v)===void 0;if(!(E&&R))continue;c[_]||(c[_]=[]);const y=c[_].slice(-1)[0];y&&y.endRow===m-1?y.endRow=m:c[_].push({startRow:m,endRow:m})}}for(const f in c){const m=c[f];for(let d=0;d<m.length;d++){const _=m[d];t.push({unitId:r,sheetId:a,range:{rangeType:S.RANGE_TYPE.NORMAL,startRow:_.startRow,endRow:_.endRow,startColumn:Number(f),endColumn:Number(f)}})}}}}return t}_getSheetFormulaIdMap(e,t){const r={},n=this._univerInstanceService.getUnit(e);if(n==null)return r;const s=n.getSheetBySheetId(t);return s==null||s.getCellMatrix().forValue((u,l,c)=>{if(c==null)return!0;const{f,si:m}=c;S.isFormulaString(f)&&S.isFormulaId(m)&&(r[m]={f,r:u,c:l})}),r}},w.FormulaDataModel=Dc([ki(0,S.IUniverInstanceService),ki(1,S.Inject(fr))],w.FormulaDataModel);function vs(i,o,e,t){i[o]||(i[o]={}),i[o][e]||(i[o][e]={});const r=new Map,n=new S.ObjectMatrix(i[o][e]);t.forValue((a,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"",m=S.isFormulaString(c),d=S.isFormulaId(f);m&&d?(n.setValue(a,u,{f:c,si:f}),r.set(f,{f:c,r:a,c:u})):m&&!d?n.setValue(a,u,{f:c}):!m&&d&&n.setValue(a,u,{f:"",si:f})}),n.forValue((a,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"";if(S.isFormulaId(f)&&!S.isFormulaString(c)){const m=r.get(f);if(m){const d=m.f,_=u-m.c,C=a-m.r;n.setValue(a,u,{f:d,si:f,x:_,y:C})}else n.realDeleteValue(a,u)}});const s=n.getMatrix();return{[o]:{[e]:s}}}const wc=class ei{constructor(o,e){this.low=o,this.high=e}clone(){return new ei(this.low,this.high)}get max(){return this.clone()}less_than(o){return this.low<o.low||this.low===o.low&&this.high<o.high}equal_to(o){return this.low===o.low&&this.high===o.high}intersect(o){return!this.not_intersect(o)}not_intersect(o){return this.high<o.low||o.high<this.low}merge(o){return new ei(this.low===void 0?o.low:this.low<o.low?this.low:o.low,this.high===void 0?o.high:this.high>o.high?this.high:o.high)}output(){return[this.low,this.high]}static comparable_max(o,e){return o.merge(e)}static comparable_less_than(o,e){return o<e}},Te=0,Re=1;class Yt{constructor(o=void 0,e=void 0,t=null,r=null,n=null,s=Re){if(this.left=t,this.right=r,this.parent=n,this.color=s,this.item={key:o,value:e},o&&o instanceof Array&&o.length===2&&!Number.isNaN(o[0])&&!Number.isNaN(o[1])){let[a,u]=o;a>u&&([a,u]=[u,a]),this.item.key=new wc(a,u)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===Re}_value_less_than(o){return this.item.value&&o.item.value&&this.item.value.less_than?this.item.value.less_than(o.item.value):this.item.value<o.item.value}less_than(o){return this.item.value===this.item.key&&o.item.value===o.item.key?this.item.key.less_than(o.item.key):this.item.key.less_than(o.item.key)||this.item.key.equal_to(o.item.key)&&this._value_less_than(o)}_value_equal(o){return this.item.value&&o.item.value&&this.item.value.equal_to?this.item.value.equal_to(o.item.value):this.item.value===o.item.value}equal_to(o){return this.item.value===this.item.key&&o.item.value===o.item.key?this.item.key.equal_to(o.item.key):this.item.key.equal_to(o.item.key)&&this._value_equal(o)}intersect(o){return this.item.key.intersect(o.item.key)}copy_data(o){this.item.key=o.item.key,this.item.value=o.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){const o=this.item.key.constructor.comparable_max;this.max=o(this.max,this.right.max)}if(this.left&&this.left.max){const o=this.item.key.constructor.comparable_max;this.max=o(this.max,this.left.max)}}not_intersect_left_subtree(o){const e=this.item.key.constructor.comparable_less_than;let t=this.left.max.high!==void 0?this.left.max.high:this.left.max;return e(t,o.item.key.low)}not_intersect_right_subtree(o){const e=this.item.key.constructor.comparable_less_than;let t=this.right.max.low!==void 0?this.right.max.low:this.right.item.key.low;return e(o.item.key.high,t)}}class Is{constructor(){this.root=null,this.nil_node=new Yt}get size(){let o=0;return this.tree_walk(this.root,()=>o++),o}get keys(){let o=[];return this.tree_walk(this.root,e=>o.push(e.item.key.output?e.item.key.output():e.item.key)),o}get values(){let o=[];return this.tree_walk(this.root,e=>o.push(e.item.value)),o}get items(){let o=[];return this.tree_walk(this.root,e=>o.push({key:e.item.key.output?e.item.key.output():e.item.key,value:e.item.value})),o}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(o,e=o){if(o===void 0)return;let t=new Yt(o,e,this.nil_node,this.nil_node,null,Te);return this.tree_insert(t),this.recalc_max(t),t}exist(o,e=o){let t=new Yt(o,e);return!!this.tree_search(this.root,t)}remove(o,e=o){let t=new Yt(o,e),r=this.tree_search(this.root,t);return r&&this.tree_delete(r),r}search(o,e=(t,r)=>t===r?r.output():t){let t=new Yt(o),r=[];return this.tree_search_interval(this.root,t,r),r.map(n=>e(n.item.value,n.item.key))}intersect_any(o){let e=new Yt(o);return this.tree_find_any_interval(this.root,e)}forEach(o){this.tree_walk(this.root,e=>o(e.item.key,e.item.value))}map(o){const e=new Is;return this.tree_walk(this.root,t=>e.insert(t.item.key,o(t.item.value,t.item.key))),e}*iterate(o,e=(t,r)=>t===r?r.output():t){let t;for(o?t=this.tree_search_nearest_forward(this.root,new Yt(o)):this.root&&(t=this.local_minimum(this.root));t;)yield e(t.item.value,t.item.key),t=this.tree_successor(t)}recalc_max(o){let e=o;for(;e.parent!=null;)e.parent.update_max(),e=e.parent}tree_insert(o){let e=this.root,t=null;if(this.root==null||this.root===this.nil_node)this.root=o;else{for(;e!==this.nil_node;)t=e,o.less_than(e)?e=e.left:e=e.right;o.parent=t,o.less_than(t)?t.left=o:t.right=o}this.insert_fixup(o)}insert_fixup(o){let e,t;for(e=o;e!==this.root&&e.parent.color===Te;)e.parent===e.parent.parent.left?(t=e.parent.parent.right,t.color===Te?(e.parent.color=Re,t.color=Re,e.parent.parent.color=Te,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,this.rotate_left(e)),e.parent.color=Re,e.parent.parent.color=Te,this.rotate_right(e.parent.parent))):(t=e.parent.parent.left,t.color===Te?(e.parent.color=Re,t.color=Re,e.parent.parent.color=Te,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,this.rotate_right(e)),e.parent.color=Re,e.parent.parent.color=Te,this.rotate_left(e.parent.parent)));this.root.color=Re}tree_delete(o){let e,t;o.left===this.nil_node||o.right===this.nil_node?e=o:e=this.tree_successor(o),e.left!==this.nil_node?t=e.left:t=e.right,t.parent=e.parent,e===this.root?this.root=t:(e===e.parent.left?e.parent.left=t:e.parent.right=t,e.parent.update_max()),this.recalc_max(t),e!==o&&(o.copy_data(e),o.update_max(),this.recalc_max(o)),e.color===Re&&this.delete_fixup(t)}delete_fixup(o){let e=o,t;for(;e!==this.root&&e.parent!=null&&e.color===Re;)e===e.parent.left?(t=e.parent.right,t.color===Te&&(t.color=Re,e.parent.color=Te,this.rotate_left(e.parent),t=e.parent.right),t.left.color===Re&&t.right.color===Re?(t.color=Te,e=e.parent):(t.right.color===Re&&(t.color=Te,t.left.color=Re,this.rotate_right(t),t=e.parent.right),t.color=e.parent.color,e.parent.color=Re,t.right.color=Re,this.rotate_left(e.parent),e=this.root)):(t=e.parent.left,t.color===Te&&(t.color=Re,e.parent.color=Te,this.rotate_right(e.parent),t=e.parent.left),t.left.color===Re&&t.right.color===Re?(t.color=Te,e=e.parent):(t.left.color===Re&&(t.color=Te,t.right.color=Re,this.rotate_left(t),t=e.parent.left),t.color=e.parent.color,e.parent.color=Re,t.left.color=Re,this.rotate_right(e.parent),e=this.root));e.color=Re}tree_search(o,e){if(!(o==null||o===this.nil_node))return e.equal_to(o)?o:e.less_than(o)?this.tree_search(o.left,e):this.tree_search(o.right,e)}tree_search_nearest_forward(o,e){let t,r=o;for(;r&&r!==this.nil_node;)r.less_than(e)?r.intersect(e)?(t=r,r=r.left):r=r.right:((!t||r.less_than(t))&&(t=r),r=r.left);return t||null}tree_search_interval(o,e,t){o!=null&&o!==this.nil_node&&(o.left!==this.nil_node&&!o.not_intersect_left_subtree(e)&&this.tree_search_interval(o.left,e,t),o.intersect(e)&&t.push(o),o.right!==this.nil_node&&!o.not_intersect_right_subtree(e)&&this.tree_search_interval(o.right,e,t))}tree_find_any_interval(o,e){let t=!1;return o!=null&&o!==this.nil_node&&(o.left!==this.nil_node&&!o.not_intersect_left_subtree(e)&&(t=this.tree_find_any_interval(o.left,e)),t||(t=o.intersect(e)),!t&&o.right!==this.nil_node&&!o.not_intersect_right_subtree(e)&&(t=this.tree_find_any_interval(o.right,e))),t}local_minimum(o){let e=o;for(;e.left!=null&&e.left!==this.nil_node;)e=e.left;return e}local_maximum(o){let e=o;for(;e.right!=null&&e.right!==this.nil_node;)e=e.right;return e}tree_successor(o){let e,t,r;if(o.right!==this.nil_node)e=this.local_minimum(o.right);else{for(t=o,r=o.parent;r!=null&&r.right===t;)t=r,r=r.parent;e=r}return e}rotate_left(o){let e=o.right;o.right=e.left,e.left!==this.nil_node&&(e.left.parent=o),e.parent=o.parent,o===this.root?this.root=e:o===o.parent.left?o.parent.left=e:o.parent.right=e,e.left=o,o.parent=e,o!=null&&o!==this.nil_node&&o.update_max(),e=o.parent,e!=null&&e!==this.nil_node&&e.update_max()}rotate_right(o){let e=o.left;o.left=e.right,e.right!==this.nil_node&&(e.right.parent=o),e.parent=o.parent,o===this.root?this.root=e:o===o.parent.left?o.parent.left=e:o.parent.right=e,e.right=o,o.parent=e,o!==null&&o!==this.nil_node&&o.update_max(),e=o.parent,e!=null&&e!==this.nil_node&&e.update_max()}tree_walk(o,e){o!=null&&o!==this.nil_node&&(this.tree_walk(o.left,e),e(o),this.tree_walk(o.right,e))}testRedBlackProperty(){let o=!0;return this.tree_walk(this.root,function(e){e.color===Te&&(e.left.color===Re&&e.right.color===Re||(o=!1))}),o}testBlackHeightProperty(o){let e=0,t=0,r=0;if(o.color===Re&&e++,o.left!==this.nil_node?t=this.testBlackHeightProperty(o.left):t=1,o.right!==this.nil_node?r=this.testBlackHeightProperty(o.right):r=1,t!==r)throw new Error("Red-black height property violated");return e+=t,e}}const Fs=Symbol("EMPTY_CELL");class Lc{constructor(){A(this,"_cache",new Map);A(this,"_continueBuildingCache",new Map)}set(o,e,t,r,n,s=!1){if(!this.shouldContinueBuildingCache(o,e,t,n)&&!s)return;let a=this._cache.get(o);a==null&&(a=new Map,this._cache.set(o,a));let u=a.get(e);u==null&&(u=new Map,a.set(e,u));let l=u.get(t);if(l==null&&(l=new Map,u.set(t,l)),s){for(const[m,d]of l)if(d.has(n)){d.delete(n);break}}let c=typeof r=="string"?r.toLowerCase():r;(c===""||c===null)&&(c=Fs);let f=l.get(c);f==null&&(f=new Set,l.set(c,f)),f.add(n)}getCellValuePositions(o,e,t){var r,n;return(n=(r=this._cache.get(o))==null?void 0:r.get(e))==null?void 0:n.get(t)}getCellPositions(o,e,t,r,n){var u,l,c;let s=typeof r=="string"?r.toLowerCase():r;(s===""||s===null)&&(s=Fs);const a=(c=(l=(u=this._cache.get(o))==null?void 0:u.get(e))==null?void 0:l.get(t))==null?void 0:c.get(s);return a&&[...a].filter(f=>n.some(([m,d])=>f>=m&&f<=d))}setContinueBuildingCache(o,e,t,r,n){if(t===-1||r===-1||n===-1)return;let s=this._continueBuildingCache.get(o);s==null&&(s=new Map,this._continueBuildingCache.set(o,s));let a=s.get(e);a==null&&(a=new Map,s.set(e,a));let u=a.get(t);if(u==null){u=new Is,u.insert([r,n]),a.set(t,u);return}this._handleNewInterval(u,r,n)}shouldContinueBuildingCache(o,e,t,r){var a,u;if(t===-1||r===-1)return!1;const n=(u=(a=this._continueBuildingCache.get(o))==null?void 0:a.get(e))==null?void 0:u.get(t);return n?n.search([r,r]).length===0:!0}canUseCache(o,e,t,r,n){var f,m;const s=(m=(f=this._continueBuildingCache.get(o))==null?void 0:f.get(e))==null?void 0:m.get(t);if(t===-1||r===-1||n===-1||!s)return{rowsInCache:[],rowsNotInCache:[]};const a=s.search([r,n]);if(a.length===0)return{rowsInCache:[],rowsNotInCache:[]};a.sort((d,_)=>d[0]-_[0]);const u=[],l=[];let c=r;for(let d=0;d<a.length;d++){const[_,C]=a[d];if(c>=_){if(n<=C){u.push([c,n]);break}u.push([c,C]),c=C+1,d===a.length-1&&c<=n&&l.push([c,n])}else{if(n>C){u.push([_,C]),l.push([c,_-1]),c=C+1,d===a.length-1&&c<=n&&l.push([c,n]);continue}u.push([_,n]),l.push([c,_-1])}}return{rowsInCache:u,rowsNotInCache:l}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(o,e,t){let r=o.search([e,t]);if(r.length===0){const a=[e-1<0?0:e-1,t+1];if(r=o.search(a),r.length===0){o.insert([e,t]);return}}let n=e,s=t;for(const a of r)n=Math.min(n,a[0]),s=Math.max(s,a[1]),o.remove(a);o.insert([n,s])}}const Ge=new Lc,dn="engine-formula.config",$i=1,Pc="CYCLE_REFERENCE_COUNT",jc="RETURN_DEPENDENCY_TREE",Yi={};class Hi extends S.Disposable{constructor(){super(...arguments);A(this,"_getRowFilteredCallback")}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,r){var n;return this._getRowFilteredCallback&&(n=this._getRowFilteredCallback(e,t,r))!=null?n:!1}}const Bs=S.createIdentifier("univer.formula.sheet-row-filtered.service");var Tc=Object.getOwnPropertyDescriptor,Uc=(i,o,e,t)=>{for(var r=t>1?void 0:t?Tc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Cn=(i,o)=>(e,t)=>o(e,t,i);w.FormulaCurrentConfigService=class extends S.Disposable{constructor(e,t,r,n){super();A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_arrayFormulaCellData",{});A(this,"_arrayFormulaRange",{});A(this,"_formulaData",{});A(this,"_sheetNameMap",{});A(this,"_forceCalculate",!1);A(this,"_clearDependencyTreeCache",{});A(this,"_dirtyRanges",[]);A(this,"_dirtyNameMap",{});A(this,"_dirtyDefinedNameMap",{});A(this,"_dirtyUnitFeatureMap",{});A(this,"_dirtyUnitOtherFormulaMap",{});A(this,"_excludedCell");A(this,"_sheetIdToNameMap",{});A(this,"_executeUnitId","");A(this,"_executeSubUnitId","");this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=r,this._sheetRowFilteredService=n}dispose(){super.dispose(),this._unitData={},this._unitStylesData={},this._arrayFormulaCellData={},this._arrayFormulaRange={},this._formulaData={},this._sheetNameMap={},this._clearDependencyTreeCache={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._dirtyUnitOtherFormulaMap={},this._excludedCell={},this._sheetIdToNameMap={}}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}getArrayFormulaRange(){return this._arrayFormulaRange}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]||""}setSheetNameMap(e){this._sheetIdToNameMap=e}getClearDependencyTreeCache(){return this._clearDependencyTreeCache}getLocale(){return this._localeService.getCurrentLocale()}getSheetsInfo(){const e=this._univerInstanceService.getCurrentUnitForType(S.UniverInstanceType.UNIVER_SHEET),{id:t,sheetOrder:r}=e.getSnapshot();return{sheetOrder:r,sheetNameMap:this._sheetIdToNameMap[t]}}getSheetRowColumnCount(e,t){const r=this._univerInstanceService.getUnit(e),n=r==null?void 0:r.getSheetBySheetId(t),s=n==null?void 0:n.getSnapshot();if(!s)return{rowCount:0,columnCount:0};const{rowCount:a,columnCount:u}=s;return{rowCount:a,columnCount:u}}getFilteredOutRows(e,t,r,n){const s=[];for(let a=r;a<=n;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&s.push(a);return s}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:r,unitStylesData:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=_s(e.arrayFormulaCellData),this._arrayFormulaRange=e.arrayFormulaRange,this._forceCalculate=e.forceCalculate,this._clearDependencyTreeCache=e.clearDependencyTreeCache||{},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)}loadDataLite(e){const{allUnitData:t,unitSheetNameMap:r,unitStylesData:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=_s(this._formulaDataModel.getArrayFormulaCellData()),this._arrayFormulaRange=this._formulaDataModel.getArrayFormulaRange(),e&&this._applyUnitRowData(e)}getDirtyData(){return{forceCalculation:this._forceCalculate,dirtyRanges:this._dirtyRanges,dirtyNameMap:this._dirtyNameMap,dirtyDefinedNameMap:this._dirtyDefinedNameMap,dirtyUnitFeatureMap:this._dirtyUnitFeatureMap,dirtyUnitOtherFormulaMap:this._dirtyUnitOtherFormulaMap,clearDependencyTreeCache:this._clearDependencyTreeCache}}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(r=>{t[r]&&Object.keys(t[r]).forEach(n=>{e[r]==null&&(e[r]={}),e[r][t[r][n]]=n})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(n=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][n]]=n})})}_loadSheetData(){const e=this._univerInstanceService.getCurrentUnitForType(S.UniverInstanceType.UNIVER_SHEET),t=e==null?void 0:e.getActiveSheet();return this._executeUnitId=e==null?void 0:e.getUnitId(),this._executeSubUnitId=t==null?void 0:t.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(const t in e)if(e[t]!=null)for(const r in e[t])e[t][r]!=null&&(this._unitData[t]==null&&(this._unitData[t]={}),this._unitData[t][r]==null&&(this._unitData[t][r]={cellData:new S.ObjectMatrix({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][r].rowData=e[t][r])}},w.FormulaCurrentConfigService=Uc([Cn(0,S.IUniverInstanceService),Cn(1,S.Inject(S.LocaleService)),Cn(2,S.Inject(w.FormulaDataModel)),Cn(3,S.Inject(Bs))],w.FormulaCurrentConfigService);const pt=S.createIdentifier("univer.formula.current-data.service");var xc=Object.getOwnPropertyDescriptor,vc=(i,o,e,t)=>{for(var r=t>1?void 0:t?xc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ks=(i,o)=>(e,t)=>o(e,t,i);w.Lexer=class extends S.Disposable{constructor(o,e,t){super(),this._definedNamesService=o,this._lexerTreeBuilder=e,this._formulaCurrentConfigService=t}treeBuilder(o,e=!0){const t=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(t)?this._lexerTreeBuilder.treeBuilder(o,e):this._lexerTreeBuilder.treeBuilder(o,e,{unitId:this._formulaCurrentConfigService.getExecuteUnitId(),getValueByName:this._definedNamesService.getValueByName.bind(this._definedNamesService),getDirtyDefinedNameMap:this._formulaCurrentConfigService.getDirtyDefinedNameMap.bind(this._formulaCurrentConfigService),getSheetName:this._formulaCurrentConfigService.getSheetName.bind(this._formulaCurrentConfigService)})}_isDeepDefinedNameMapEmpty(o){for(const e in o)if(Object.keys(o[e]).length>0)return!1;return!0}},w.Lexer=vc([ks(0,kt),ks(1,S.Inject(fr)),ks(2,pt)],w.Lexer);function _n(i){if(i==null)return!0;const{v:o,f:e,si:t,p:r}=i;return!(!(o==null||typeof o=="string"&&o.length===0)||e!=null&&e.length>0||t!=null&&t.length>0||r!=null)}class An{constructor(){A(this,"pattern","")}dispose(){}getPattern(){return this.pattern}setPattern(o){this.pattern=o}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(o){return!1}}function Ic(i){var o;if(i===null)return 0;if(i!=null&&i.p){const e=i==null?void 0:i.p.body;if(e==null)return 0;const t=e.dataStream;return S.BuildTextUtils.transform.getPlainText(t)}return(o=i==null?void 0:i.v)!=null?o:0}function Fc(i,o=!1){return!o&&!(S.isFormulaString(i==null?void 0:i.f)||S.isFormulaId(i==null?void 0:i.si))?null:typeof(i==null?void 0:i.v)=="string"&&wt.has(i.v)?i.v:null}function Gi(i,o,e,t,r){var s;const n=Object.keys(r);for(const a of n){const u=r[a],l=(s=u==null?void 0:u[t])==null?void 0:s[e];if(l==null)continue;const c=l.getValue(i,o);if(c!=null)return c}}var Ht=(i=>(i[i.MIN=0]="MIN",i[i.MAX=1]="MAX",i))(Ht||{}),Le=(i=>(i[i.NORMAL=0]="NORMAL",i[i.MIN=1]="MIN",i[i.MAX=2]="MAX",i))(Le||{});function En(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(i,o)=>i.localeCompare(o)}function Wi(i){return i.indexOf("*")>-1||i.indexOf("?")>-1}function $s(i,o){const e=kc(o).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(i)}function Qi(i){return i.replace(/~?[*?]/g,o=>o.startsWith("~")?o.substring(1):" ")}function Bc(i,o,e){let t=!1;switch(e){case H.EQUALS:t=$s(i,o);break;case H.NOT_EQUAL:t=!$s(i,o);break;case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:t=$s(i,o)||i>Qi(o);break;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:t=i<Qi(o);break}return t}function kc(i){return i.replace(/[.+^${}()|[\]\\]/g,"\\$&")}function Ys(i){switch(i){case 1:return 2;case 0:return 0;case-1:return 1;default:return 0}}function Hs(i){return i===-2?1:0}const $c=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Yc={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 Hc(i,o,e){var u,l;if(i==null||o==null)return o;const t=(e==null?void 0:e.getStyleByCell(i))||i.s,r=(e==null?void 0:e.getStyleByCell(o))||o.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return o;const n=(u=t==null?void 0:t.n)==null?void 0:u.pattern,s=(l=r==null?void 0:r.n)==null?void 0:l.pattern;if(n==null||s==null)return o;const a=n||s;return r.n.pattern=a,o}const Gs=new bt(1e5);function qi(i){const o=Gs.get(i);if(o!==void 0)return o;const e=Wc(i);return Gs.set(i,e),e}function Gc(){Gs.clear()}function Wc(i){if(Qc(i))return 3;const o=S.numfmt.getFormatInfo(i).type||"unknown";return Yc[o]}function Qc(i){return!!$c.find(o=>i.includes(o))&&i.startsWith("_(")}function Rn(i,o,e){if(i==="")return o;if(o==="")return i;const t=qi(i),r=qi(o);return e===z.PLUS||e===z.MINUS?t===4&&r===4||t===11&&r===11?"":o:e===z.MULTIPLY||e===z.DIVIDED?t===6&&r===6||t===7&&r===7||t===8&&r===8||t===9&&r===9?o:"":i||o}const qc=new Map([[S.LocaleType.EN_US,"$"],[S.LocaleType.RU_RU,"₽"],[S.LocaleType.VI_VN,"₫"],[S.LocaleType.ZH_CN,"¥"],[S.LocaleType.ZH_TW,"NT$"],[S.LocaleType.FR_FR,"€"],[S.LocaleType.FA_IR,"﷼"],[S.LocaleType.KO_KR,"₩"],[S.LocaleType.ES_ES,"€"],[S.LocaleType.CA_ES,"€"]]);function Xi(i){return qc.get(i)||"$"}function We(i,o=2){let e=o;o>127&&(e=127);let t="";return e>0&&(t=`.${"0".repeat(e)}`),`"${Xi(i)}"#,##0${t}_);[Red]("${Xi(i)}"#,##0${t})`}function Xc(i,o,e=2){return S.numfmt.format(We(i,e),o)}const Ws=new bt(1e5);function Kc(i){let o=i;o.startsWith('"')&&o.endsWith('"')&&(o=o.slice(1,-1));const e=Ws.get(o);if(e)return{isNumberPattern:!0,value:e.value,pattern:e.pattern};const t=S.numfmt.parseNumber(o);if(t&&t.z)return Qs(o,t.v,t.z);const r=S.numfmt.parseDate(o);if(r&&r.z)return Qs(o,r.v,r.z);const n=S.numfmt.parseTime(o);return n&&n.z?Qs(o,n.v,n.z):{isNumberPattern:!1}}function Qs(i,o,e){return Ws.set(i,{value:o,pattern:e}),{isNumberPattern:!0,value:o,pattern:e}}function Zc(){Ws.clear()}class Nt extends An{constructor(e){super();A(this,"_customData");this._rawValue=e}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(e){}setArrayValue(e){}withCustomData(e){return this._customData=e,this}getCustomData(){return this._customData}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isDateFormat(){return!1}isError(){return!1}isNull(){return!1}isHyperlink(){return!1}isImage(){return!1}sum(){return g.create(h.VALUE)}max(){return g.create(h.VALUE)}min(){return g.create(h.VALUE)}count(){return g.create(h.VALUE)}countA(){return g.create(h.VALUE)}countBlank(){return g.create(h.VALUE)}getNegative(){return g.create(h.VALUE)}getReciprocal(){return g.create(h.VALUE)}plus(e){return g.create(h.VALUE)}minus(e){return g.create(h.VALUE)}multiply(e){return g.create(h.VALUE)}divided(e){return g.create(h.VALUE)}mod(e){return g.create(h.VALUE)}map(e){return g.create(h.NAME)}mapValue(e){return g.create(h.NAME)}compare(e,t,r=!1){return g.create(h.NAME)}isEqual(e){return this.compare(e,H.EQUALS)}isNotEqual(e){return this.compare(e,H.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,H.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,H.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,H.LESS_THAN)}isGreaterThan(e){return this.compare(e,H.GREATER_THAN)}concatenateFront(e){return g.create(h.NAME)}concatenateBack(e){return g.create(h.NAME)}plusBy(e){return g.create(h.VALUE)}minusBy(e){return g.create(h.VALUE)}multiplyBy(e){return g.create(h.VALUE)}dividedBy(e){return g.create(h.VALUE)}modInverse(e){return g.create(h.VALUE)}compareBy(e,t,r=!1){return g.create(h.NAME)}concatenate(e,t=rt.FRONT){let r=this.getValue().toString();if(typeof e=="string")t===rt.FRONT?r=e+r:r+=e;else if(typeof e=="number")t===rt.FRONT?r=e.toString()+r:r+=e.toString();else if(typeof e=="boolean"){const n=e?"TRUE":"FALSE";t===rt.FRONT?r=n+r:r+=n}return r}pow(e){return g.create(h.VALUE)}powInverse(e){return g.create(h.VALUE)}sqrt(){return g.create(h.VALUE)}cbrt(){return g.create(h.VALUE)}cos(){return g.create(h.VALUE)}cosh(){return g.create(h.VALUE)}acos(){return g.create(h.VALUE)}acosh(){return g.create(h.VALUE)}sin(){return g.create(h.VALUE)}sinh(){return g.create(h.VALUE)}asin(){return g.create(h.VALUE)}asinh(){return g.create(h.VALUE)}tan(){return g.create(h.VALUE)}tanh(){return g.create(h.VALUE)}atan(){return g.create(h.VALUE)}atan2(e){return g.create(h.VALUE)}atan2Inverse(e){return g.create(h.VALUE)}atanh(){return g.create(h.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return g.create(h.VALUE)}log10(){return g.create(h.VALUE)}exp(){return g.create(h.VALUE)}abs(){return g.create(h.VALUE)}round(e){return g.create(h.VALUE)}roundInverse(e){return g.create(h.VALUE)}floor(e){return g.create(h.VALUE)}floorInverse(e){return g.create(h.VALUE)}ceil(e){return g.create(h.VALUE)}ceilInverse(e){return g.create(h.VALUE)}convertToNumberObjectValue(){return g.create(h.VALUE)}convertToBooleanObjectValue(){return g.create(h.VALUE)}}const zc=1e3,qs=new bt(zc);class g extends Nt{constructor(o,e=""){super(o),this._errorType=o,this._errorContent=e}static create(o,e=""){const t=`${o}-${e}`,r=qs.get(t);if(r)return r;const n=new g(o,e);return qs.set(t,n),n}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(o){return o.getErrorType()===this.getErrorType()}isError(){return!0}}function Xs(i){let o;switch(i){case H.EQUALS:o=H.EQUALS;break;case H.GREATER_THAN:o=H.LESS_THAN;break;case H.GREATER_THAN_OR_EQUAL:o=H.LESS_THAN_OR_EQUAL;break;case H.LESS_THAN:o=H.GREATER_THAN;break;case H.LESS_THAN_OR_EQUAL:o=H.GREATER_THAN_OR_EQUAL;break;case H.NOT_EQUAL:o=H.NOT_EQUAL;break}return o}var mr=9e15,Pt=1e9,Ks="0123456789abcdef",yn="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",bn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Zs={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-mr,maxE:mr,crypto:!1},Ki,Vt,le=!0,pn="[DecimalError] ",jt=pn+"Invalid argument: ",Zi=pn+"Precision limit exceeded",zi=pn+"crypto unavailable",Ji="[object Decimal]",ve=Math.floor,Pe=Math.pow,Jc=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,ef=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,tf=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,eo=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,st=1e7,ae=7,rf=9007199254740991,nf=yn.length-1,zs=bn.length-1,k={toStringTag:Ji};k.absoluteValue=k.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),re(i)},k.ceil=function(){return re(new this.constructor(this),this.e+1,2)},k.clampedTo=k.clamp=function(i,o){var e,t=this,r=t.constructor;if(i=new r(i),o=new r(o),!i.s||!o.s)return new r(NaN);if(i.gt(o))throw Error(jt+o);return e=t.cmp(i),e<0?i:t.cmp(o)>0?o:new r(t)},k.comparedTo=k.cmp=function(i){var o,e,t,r,n=this,s=n.d,a=(i=new n.constructor(i)).d,u=n.s,l=i.s;if(!s||!a)return!u||!l?NaN:u!==l?u:s===a?0:!s^u<0?1:-1;if(!s[0]||!a[0])return s[0]?u:a[0]?-l:0;if(u!==l)return u;if(n.e!==i.e)return n.e>i.e^u<0?1:-1;for(t=s.length,r=a.length,o=0,e=t<r?t:r;o<e;++o)if(s[o]!==a[o])return s[o]>a[o]^u<0?1:-1;return t===r?0:t>r^u<0?1:-1},k.cosine=k.cos=function(){var i,o,e=this,t=e.constructor;return e.d?e.d[0]?(i=t.precision,o=t.rounding,t.precision=i+Math.max(e.e,e.sd())+ae,t.rounding=1,e=sf(t,io(t,e)),t.precision=i,t.rounding=o,re(Vt==2||Vt==3?e.neg():e,i,o,!0)):new t(1):new t(NaN)},k.cubeRoot=k.cbrt=function(){var i,o,e,t,r,n,s,a,u,l,c=this,f=c.constructor;if(!c.isFinite()||c.isZero())return new f(c);for(le=!1,n=c.s*Pe(c.s*c,1/3),!n||Math.abs(n)==1/0?(e=Ue(c.d),i=c.e,(n=(i-e.length+1)%3)&&(e+=n==1||n==-2?"0":"00"),n=Pe(e,1/3),i=ve((i+1)/3)-(i%3==(i<0?-1:2)),n==1/0?e="5e"+i:(e=n.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),t=new f(e),t.s=c.s):t=new f(n.toString()),s=(i=f.precision)+3;;)if(a=t,u=a.times(a).times(a),l=u.plus(c),t=Ne(l.plus(c).times(a),l.plus(u),s+2,1),Ue(a.d).slice(0,s)===(e=Ue(t.d)).slice(0,s))if(e=e.slice(s-3,s+1),e=="9999"||!r&&e=="4999"){if(!r&&(re(a,i+1,0),a.times(a).times(a).eq(c))){t=a;break}s+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(re(t,i+1,1),o=!t.times(t).times(t).eq(c));break}return le=!0,re(t,i,f.rounding,o)},k.decimalPlaces=k.dp=function(){var i,o=this.d,e=NaN;if(o){if(i=o.length-1,e=(i-ve(this.e/ae))*ae,i=o[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},k.dividedBy=k.div=function(i){return Ne(this,new this.constructor(i))},k.dividedToIntegerBy=k.divToInt=function(i){var o=this,e=o.constructor;return re(Ne(o,new e(i),0,1,1),e.precision,e.rounding)},k.equals=k.eq=function(i){return this.cmp(i)===0},k.floor=function(){return re(new this.constructor(this),this.e+1,3)},k.greaterThan=k.gt=function(i){return this.cmp(i)>0},k.greaterThanOrEqualTo=k.gte=function(i){var o=this.cmp(i);return o==1||o===0},k.hyperbolicCosine=k.cosh=function(){var i,o,e,t,r,n=this,s=n.constructor,a=new s(1);if(!n.isFinite())return new s(n.s?1/0:NaN);if(n.isZero())return a;e=s.precision,t=s.rounding,s.precision=e+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<32?(i=Math.ceil(r/3),o=(1/Mn(4,i)).toString()):(i=16,o="2.3283064365386962890625e-10"),n=hr(s,1,n.times(o),new s(1),!0);for(var u,l=i,c=new s(8);l--;)u=n.times(n),n=a.minus(u.times(c.minus(u.times(c))));return re(n,s.precision=e,s.rounding=t,!0)},k.hyperbolicSine=k.sinh=function(){var i,o,e,t,r=this,n=r.constructor;if(!r.isFinite()||r.isZero())return new n(r);if(o=n.precision,e=n.rounding,n.precision=o+Math.max(r.e,r.sd())+4,n.rounding=1,t=r.d.length,t<3)r=hr(n,2,r,r,!0);else{i=1.4*Math.sqrt(t),i=i>16?16:i|0,r=r.times(1/Mn(5,i)),r=hr(n,2,r,r,!0);for(var s,a=new n(5),u=new n(16),l=new n(20);i--;)s=r.times(r),r=r.times(a.plus(s.times(u.times(s).plus(l))))}return n.precision=o,n.rounding=e,re(r,o,e,!0)},k.hyperbolicTangent=k.tanh=function(){var i,o,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+7,t.rounding=1,Ne(e.sinh(),e.cosh(),t.precision=i,t.rounding=o)):new t(e.s)},k.inverseCosine=k.acos=function(){var i=this,o=i.constructor,e=i.abs().cmp(1),t=o.precision,r=o.rounding;return e!==-1?e===0?i.isNeg()?mt(o,t,r):new o(0):new o(NaN):i.isZero()?mt(o,t+4,r).times(.5):(o.precision=t+6,o.rounding=1,i=new o(1).minus(i).div(i.plus(1)).sqrt().atan(),o.precision=t,o.rounding=r,i.times(2))},k.inverseHyperbolicCosine=k.acosh=function(){var i,o,e=this,t=e.constructor;return e.lte(1)?new t(e.eq(1)?0:NaN):e.isFinite()?(i=t.precision,o=t.rounding,t.precision=i+Math.max(Math.abs(e.e),e.sd())+4,t.rounding=1,le=!1,e=e.times(e).minus(1).sqrt().plus(e),le=!0,t.precision=i,t.rounding=o,e.ln()):new t(e)},k.inverseHyperbolicSine=k.asinh=function(){var i,o,e=this,t=e.constructor;return!e.isFinite()||e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,t.rounding=1,le=!1,e=e.times(e).plus(1).sqrt().plus(e),le=!0,t.precision=i,t.rounding=o,e.ln())},k.inverseHyperbolicTangent=k.atanh=function(){var i,o,e,t,r=this,n=r.constructor;return r.isFinite()?r.e>=0?new n(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(i=n.precision,o=n.rounding,t=r.sd(),Math.max(t,i)<2*-r.e-1?re(new n(r),i,o,!0):(n.precision=e=t-r.e,r=Ne(r.plus(1),new n(1).minus(r),e+i,1),n.precision=i+4,n.rounding=1,r=r.ln(),n.precision=i,n.rounding=o,r.times(.5))):new n(NaN)},k.inverseSine=k.asin=function(){var i,o,e,t,r=this,n=r.constructor;return r.isZero()?new n(r):(o=r.abs().cmp(1),e=n.precision,t=n.rounding,o!==-1?o===0?(i=mt(n,e+4,t).times(.5),i.s=r.s,i):new n(NaN):(n.precision=e+6,n.rounding=1,r=r.div(new n(1).minus(r.times(r)).sqrt().plus(1)).atan(),n.precision=e,n.rounding=t,r.times(2)))},k.inverseTangent=k.atan=function(){var i,o,e,t,r,n,s,a,u,l=this,c=l.constructor,f=c.precision,m=c.rounding;if(l.isFinite()){if(l.isZero())return new c(l);if(l.abs().eq(1)&&f+4<=zs)return s=mt(c,f+4,m).times(.25),s.s=l.s,s}else{if(!l.s)return new c(NaN);if(f+4<=zs)return s=mt(c,f+4,m).times(.5),s.s=l.s,s}for(c.precision=a=f+10,c.rounding=1,e=Math.min(28,a/ae+2|0),i=e;i;--i)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(le=!1,o=Math.ceil(a/ae),t=1,u=l.times(l),s=new c(l),r=l;i!==-1;)if(r=r.times(u),n=s.minus(r.div(t+=2)),r=r.times(u),s=n.plus(r.div(t+=2)),s.d[o]!==void 0)for(i=o;s.d[i]===n.d[i]&&i--;);return e&&(s=s.times(2<<e-1)),le=!0,re(s,c.precision=f,c.rounding=m,!0)},k.isFinite=function(){return!!this.d},k.isInteger=k.isInt=function(){return!!this.d&&ve(this.e/ae)>this.d.length-2},k.isNaN=function(){return!this.s},k.isNegative=k.isNeg=function(){return this.s<0},k.isPositive=k.isPos=function(){return this.s>0},k.isZero=function(){return!!this.d&&this.d[0]===0},k.lessThan=k.lt=function(i){return this.cmp(i)<0},k.lessThanOrEqualTo=k.lte=function(i){return this.cmp(i)<1},k.logarithm=k.log=function(i){var o,e,t,r,n,s,a,u,l=this,c=l.constructor,f=c.precision,m=c.rounding,d=5;if(i==null)i=new c(10),o=!0;else{if(i=new c(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new c(NaN);o=i.eq(10)}if(e=l.d,l.s<0||!e||!e[0]||l.eq(1))return new c(e&&!e[0]?-1/0:l.s!=1?NaN:e?0:1/0);if(o)if(e.length>1)n=!0;else{for(r=e[0];r%10===0;)r/=10;n=r!==1}if(le=!1,a=f+d,s=Ut(l,a),t=o?On(c,a+10):Ut(i,a),u=Ne(s,t,a,1),Ur(u.d,r=f,m))do if(a+=10,s=Ut(l,a),t=o?On(c,a+10):Ut(i,a),u=Ne(s,t,a,1),!n){+Ue(u.d).slice(r+1,r+15)+1==1e14&&(u=re(u,f+1,0));break}while(Ur(u.d,r+=10,m));return le=!0,re(u,f,m)},k.minus=k.sub=function(i){var o,e,t,r,n,s,a,u,l,c,f,m,d=this,_=d.constructor;if(i=new _(i),!d.d||!i.d)return!d.s||!i.s?i=new _(NaN):d.d?i.s=-i.s:i=new _(i.d||d.s!==i.s?d:NaN),i;if(d.s!=i.s)return i.s=-i.s,d.plus(i);if(l=d.d,m=i.d,a=_.precision,u=_.rounding,!l[0]||!m[0]){if(m[0])i.s=-i.s;else if(l[0])i=new _(d);else return new _(u===3?-0:0);return le?re(i,a,u):i}if(e=ve(i.e/ae),c=ve(d.e/ae),l=l.slice(),n=c-e,n){for(f=n<0,f?(o=l,n=-n,s=m.length):(o=m,e=c,s=l.length),t=Math.max(Math.ceil(a/ae),s)+2,n>t&&(n=t,o.length=1),o.reverse(),t=n;t--;)o.push(0);o.reverse()}else{for(t=l.length,s=m.length,f=t<s,f&&(s=t),t=0;t<s;t++)if(l[t]!=m[t]){f=l[t]<m[t];break}n=0}for(f&&(o=l,l=m,m=o,i.s=-i.s),s=l.length,t=m.length-s;t>0;--t)l[s++]=0;for(t=m.length;t>n;){if(l[--t]<m[t]){for(r=t;r&&l[--r]===0;)l[r]=st-1;--l[r],l[t]+=st}l[t]-=m[t]}for(;l[--s]===0;)l.pop();for(;l[0]===0;l.shift())--e;return l[0]?(i.d=l,i.e=Vn(l,e),le?re(i,a,u):i):new _(u===3?-0:0)},k.modulo=k.mod=function(i){var o,e=this,t=e.constructor;return i=new t(i),!e.d||!i.s||i.d&&!i.d[0]?new t(NaN):!i.d||e.d&&!e.d[0]?re(new t(e),t.precision,t.rounding):(le=!1,t.modulo==9?(o=Ne(e,i.abs(),0,3,1),o.s*=i.s):o=Ne(e,i,0,t.modulo,1),o=o.times(i),le=!0,e.minus(o))},k.naturalExponential=k.exp=function(){return Js(this)},k.naturalLogarithm=k.ln=function(){return Ut(this)},k.negated=k.neg=function(){var i=new this.constructor(this);return i.s=-i.s,re(i)},k.plus=k.add=function(i){var o,e,t,r,n,s,a,u,l,c,f=this,m=f.constructor;if(i=new m(i),!f.d||!i.d)return!f.s||!i.s?i=new m(NaN):f.d||(i=new m(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(l=f.d,c=i.d,a=m.precision,u=m.rounding,!l[0]||!c[0])return c[0]||(i=new m(f)),le?re(i,a,u):i;if(n=ve(f.e/ae),t=ve(i.e/ae),l=l.slice(),r=n-t,r){for(r<0?(e=l,r=-r,s=c.length):(e=c,t=n,s=l.length),n=Math.ceil(a/ae),s=n>s?n+1:s+1,r>s&&(r=s,e.length=1),e.reverse();r--;)e.push(0);e.reverse()}for(s=l.length,r=c.length,s-r<0&&(r=s,e=c,c=l,l=e),o=0;r;)o=(l[--r]=l[r]+c[r]+o)/st|0,l[r]%=st;for(o&&(l.unshift(o),++t),s=l.length;l[--s]==0;)l.pop();return i.d=l,i.e=Vn(l,t),le?re(i,a,u):i},k.precision=k.sd=function(i){var o,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(jt+i);return e.d?(o=to(e.d),i&&e.e+1>o&&(o=e.e+1)):o=NaN,o},k.round=function(){var i=this,o=i.constructor;return re(new o(i),i.e+1,o.rounding)},k.sine=k.sin=function(){var i,o,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+Math.max(e.e,e.sd())+ae,t.rounding=1,e=of(t,io(t,e)),t.precision=i,t.rounding=o,re(Vt>2?e.neg():e,i,o,!0)):new t(NaN)},k.squareRoot=k.sqrt=function(){var i,o,e,t,r,n,s=this,a=s.d,u=s.e,l=s.s,c=s.constructor;if(l!==1||!a||!a[0])return new c(!l||l<0&&(!a||a[0])?NaN:a?s:1/0);for(le=!1,l=Math.sqrt(+s),l==0||l==1/0?(o=Ue(a),(o.length+u)%2==0&&(o+="0"),l=Math.sqrt(o),u=ve((u+1)/2)-(u<0||u%2),l==1/0?o="5e"+u:(o=l.toExponential(),o=o.slice(0,o.indexOf("e")+1)+u),t=new c(o)):t=new c(l.toString()),e=(u=c.precision)+3;;)if(n=t,t=n.plus(Ne(s,n,e+2,1)).times(.5),Ue(n.d).slice(0,e)===(o=Ue(t.d)).slice(0,e))if(o=o.slice(e-3,e+1),o=="9999"||!r&&o=="4999"){if(!r&&(re(n,u+1,0),n.times(n).eq(s))){t=n;break}e+=4,r=1}else{(!+o||!+o.slice(1)&&o.charAt(0)=="5")&&(re(t,u+1,1),i=!t.times(t).eq(s));break}return le=!0,re(t,u,c.rounding,i)},k.tangent=k.tan=function(){var i,o,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+10,t.rounding=1,e=e.sin(),e.s=1,e=Ne(e,new t(1).minus(e.times(e)).sqrt(),i+10,0),t.precision=i,t.rounding=o,re(Vt==2||Vt==4?e.neg():e,i,o,!0)):new t(NaN)},k.times=k.mul=function(i){var o,e,t,r,n,s,a,u,l,c=this,f=c.constructor,m=c.d,d=(i=new f(i)).d;if(i.s*=c.s,!m||!m[0]||!d||!d[0])return new f(!i.s||m&&!m[0]&&!d||d&&!d[0]&&!m?NaN:!m||!d?i.s/0:i.s*0);for(e=ve(c.e/ae)+ve(i.e/ae),u=m.length,l=d.length,u<l&&(n=m,m=d,d=n,s=u,u=l,l=s),n=[],s=u+l,t=s;t--;)n.push(0);for(t=l;--t>=0;){for(o=0,r=u+t;r>t;)a=n[r]+d[t]*m[r-t-1]+o,n[r--]=a%st|0,o=a/st|0;n[r]=(n[r]+o)%st|0}for(;!n[--s];)n.pop();return o?++e:n.shift(),i.d=n,i.e=Vn(n,e),le?re(i,f.precision,f.rounding):i},k.toBinary=function(i,o){return ea(this,2,i,o)},k.toDecimalPlaces=k.toDP=function(i,o){var e=this,t=e.constructor;return e=new t(e),i===void 0?e:(ke(i,0,Pt),o===void 0?o=t.rounding:ke(o,0,8),re(e,i+e.e+1,o))},k.toExponential=function(i,o){var e,t=this,r=t.constructor;return i===void 0?e=ft(t,!0):(ke(i,0,Pt),o===void 0?o=r.rounding:ke(o,0,8),t=re(new r(t),i+1,o),e=ft(t,!0,i+1)),t.isNeg()&&!t.isZero()?"-"+e:e},k.toFixed=function(i,o){var e,t,r=this,n=r.constructor;return i===void 0?e=ft(r):(ke(i,0,Pt),o===void 0?o=n.rounding:ke(o,0,8),t=re(new n(r),i+r.e+1,o),e=ft(t,!1,i+t.e+1)),r.isNeg()&&!r.isZero()?"-"+e:e},k.toFraction=function(i){var o,e,t,r,n,s,a,u,l,c,f,m,d=this,_=d.d,C=d.constructor;if(!_)return new C(d);if(l=e=new C(1),t=u=new C(0),o=new C(t),n=o.e=to(_)-d.e-1,s=n%ae,o.d[0]=Pe(10,s<0?ae+s:s),i==null)i=n>0?o:l;else{if(a=new C(i),!a.isInt()||a.lt(l))throw Error(jt+a);i=a.gt(o)?n>0?o:l:a}for(le=!1,a=new C(Ue(_)),c=C.precision,C.precision=n=_.length*ae*2;f=Ne(a,o,0,1,1),r=e.plus(f.times(t)),r.cmp(i)!=1;)e=t,t=r,r=l,l=u.plus(f.times(r)),u=r,r=o,o=a.minus(f.times(r)),a=r;return r=Ne(i.minus(e),t,0,1,1),u=u.plus(r.times(l)),e=e.plus(r.times(t)),u.s=l.s=d.s,m=Ne(l,t,n,1).minus(d).abs().cmp(Ne(u,e,n,1).minus(d).abs())<1?[l,t]:[u,e],C.precision=c,le=!0,m},k.toHexadecimal=k.toHex=function(i,o){return ea(this,16,i,o)},k.toNearest=function(i,o){var e=this,t=e.constructor;if(e=new t(e),i==null){if(!e.d)return e;i=new t(1),o=t.rounding}else{if(i=new t(i),o===void 0?o=t.rounding:ke(o,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(le=!1,e=Ne(e,i,0,o,1).times(i),le=!0,re(e)):(i.s=e.s,e=i),e},k.toNumber=function(){return+this},k.toOctal=function(i,o){return ea(this,8,i,o)},k.toPower=k.pow=function(i){var o,e,t,r,n,s,a=this,u=a.constructor,l=+(i=new u(i));if(!a.d||!i.d||!a.d[0]||!i.d[0])return new u(Pe(+a,l));if(a=new u(a),a.eq(1))return a;if(t=u.precision,n=u.rounding,i.eq(1))return re(a,t,n);if(o=ve(i.e/ae),o>=i.d.length-1&&(e=l<0?-l:l)<=rf)return r=ro(u,a,e,t),i.s<0?new u(1).div(r):re(r,t,n);if(s=a.s,s<0){if(o<i.d.length-1)return new u(NaN);if((i.d[o]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return e=Pe(+a,l),o=e==0||!isFinite(e)?ve(l*(Math.log("0."+Ue(a.d))/Math.LN10+a.e+1)):new u(e+"").e,o>u.maxE+1||o<u.minE-1?new u(o>0?s/0:0):(le=!1,u.rounding=a.s=1,e=Math.min(12,(o+"").length),r=Js(i.times(Ut(a,t+e)),t),r.d&&(r=re(r,t+5,1),Ur(r.d,t,n)&&(o=t+10,r=re(Js(i.times(Ut(a,o+e)),o),o+5,1),+Ue(r.d).slice(t+1,t+15)+1==1e14&&(r=re(r,t+1,0)))),r.s=s,le=!0,u.rounding=n,re(r,t,n))},k.toPrecision=function(i,o){var e,t=this,r=t.constructor;return i===void 0?e=ft(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(ke(i,1,Pt),o===void 0?o=r.rounding:ke(o,0,8),t=re(new r(t),i,o),e=ft(t,i<=t.e||t.e<=r.toExpNeg,i)),t.isNeg()&&!t.isZero()?"-"+e:e},k.toSignificantDigits=k.toSD=function(i,o){var e=this,t=e.constructor;return i===void 0?(i=t.precision,o=t.rounding):(ke(i,1,Pt),o===void 0?o=t.rounding:ke(o,0,8)),re(new t(e),i,o)},k.toString=function(){var i=this,o=i.constructor,e=ft(i,i.e<=o.toExpNeg||i.e>=o.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},k.truncated=k.trunc=function(){return re(new this.constructor(this),this.e+1,1)},k.valueOf=k.toJSON=function(){var i=this,o=i.constructor,e=ft(i,i.e<=o.toExpNeg||i.e>=o.toExpPos);return i.isNeg()?"-"+e:e};function Ue(i){var o,e,t,r=i.length-1,n="",s=i[0];if(r>0){for(n+=s,o=1;o<r;o++)t=i[o]+"",e=ae-t.length,e&&(n+=Tt(e)),n+=t;s=i[o],t=s+"",e=ae-t.length,e&&(n+=Tt(e))}else if(s===0)return"0";for(;s%10===0;)s/=10;return n+s}function ke(i,o,e){if(i!==~~i||i<o||i>e)throw Error(jt+i)}function Ur(i,o,e,t){var r,n,s,a;for(n=i[0];n>=10;n/=10)--o;return--o<0?(o+=ae,r=0):(r=Math.ceil((o+1)/ae),o%=ae),n=Pe(10,ae-o),a=i[r]%n|0,t==null?o<3?(o==0?a=a/100|0:o==1&&(a=a/10|0),s=e<4&&a==99999||e>3&&a==49999||a==5e4||a==0):s=(e<4&&a+1==n||e>3&&a+1==n/2)&&(i[r+1]/n/100|0)==Pe(10,o-2)-1||(a==n/2||a==0)&&(i[r+1]/n/100|0)==0:o<4?(o==0?a=a/1e3|0:o==1?a=a/100|0:o==2&&(a=a/10|0),s=(t||e<4)&&a==9999||!t&&e>3&&a==4999):s=((t||e<4)&&a+1==n||!t&&e>3&&a+1==n/2)&&(i[r+1]/n/1e3|0)==Pe(10,o-3)-1,s}function Nn(i,o,e){for(var t,r=[0],n,s=0,a=i.length;s<a;){for(n=r.length;n--;)r[n]*=o;for(r[0]+=Ks.indexOf(i.charAt(s++)),t=0;t<r.length;t++)r[t]>e-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/e|0,r[t]%=e)}return r.reverse()}function sf(i,o){var e,t,r;if(o.isZero())return o;t=o.d.length,t<32?(e=Math.ceil(t/3),r=(1/Mn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),i.precision+=e,o=hr(i,1,o.times(r),new i(1));for(var n=e;n--;){var s=o.times(o);o=s.times(s).minus(s).times(8).plus(1)}return i.precision-=e,o}var Ne=(function(){function i(t,r,n){var s,a=0,u=t.length;for(t=t.slice();u--;)s=t[u]*r+a,t[u]=s%n|0,a=s/n|0;return a&&t.unshift(a),t}function o(t,r,n,s){var a,u;if(n!=s)u=n>s?1:-1;else for(a=u=0;a<n;a++)if(t[a]!=r[a]){u=t[a]>r[a]?1:-1;break}return u}function e(t,r,n,s){for(var a=0;n--;)t[n]-=a,a=t[n]<r[n]?1:0,t[n]=a*s+t[n]-r[n];for(;!t[0]&&t.length>1;)t.shift()}return function(t,r,n,s,a,u){var l,c,f,m,d,_,C,E,R,y,p,N,M,D,L,P,j,I,v,Y,Q=t.constructor,se=t.s==r.s?1:-1,te=t.d,W=r.d;if(!te||!te[0]||!W||!W[0])return new Q(!t.s||!r.s||(te?W&&te[0]==W[0]:!W)?NaN:te&&te[0]==0||!W?se*0:se/0);for(u?(d=1,c=t.e-r.e):(u=st,d=ae,c=ve(t.e/d)-ve(r.e/d)),v=W.length,j=te.length,R=new Q(se),y=R.d=[],f=0;W[f]==(te[f]||0);f++);if(W[f]>(te[f]||0)&&c--,n==null?(D=n=Q.precision,s=Q.rounding):a?D=n+(t.e-r.e)+1:D=n,D<0)y.push(1),_=!0;else{if(D=D/d+2|0,f=0,v==1){for(m=0,W=W[0],D++;(f<j||m)&&D--;f++)L=m*u+(te[f]||0),y[f]=L/W|0,m=L%W|0;_=m||f<j}else{for(m=u/(W[0]+1)|0,m>1&&(W=i(W,m,u),te=i(te,m,u),v=W.length,j=te.length),P=v,p=te.slice(0,v),N=p.length;N<v;)p[N++]=0;Y=W.slice(),Y.unshift(0),I=W[0],W[1]>=u/2&&++I;do m=0,l=o(W,p,v,N),l<0?(M=p[0],v!=N&&(M=M*u+(p[1]||0)),m=M/I|0,m>1?(m>=u&&(m=u-1),C=i(W,m,u),E=C.length,N=p.length,l=o(C,p,E,N),l==1&&(m--,e(C,v<E?Y:W,E,u))):(m==0&&(l=m=1),C=W.slice()),E=C.length,E<N&&C.unshift(0),e(p,C,N,u),l==-1&&(N=p.length,l=o(W,p,v,N),l<1&&(m++,e(p,v<N?Y:W,N,u))),N=p.length):l===0&&(m++,p=[0]),y[f++]=m,l&&p[0]?p[N++]=te[P]||0:(p=[te[P]],N=1);while((P++<j||p[0]!==void 0)&&D--);_=p[0]!==void 0}y[0]||y.shift()}if(d==1)R.e=c,Ki=_;else{for(f=1,m=y[0];m>=10;m/=10)f++;R.e=f+c*d-1,re(R,a?n+R.e+1:n,s,_)}return R}})();function re(i,o,e,t){var r,n,s,a,u,l,c,f,m,d=i.constructor;e:if(o!=null){if(f=i.d,!f)return i;for(r=1,a=f[0];a>=10;a/=10)r++;if(n=o-r,n<0)n+=ae,s=o,c=f[m=0],u=c/Pe(10,r-s-1)%10|0;else if(m=Math.ceil((n+1)/ae),a=f.length,m>=a)if(t){for(;a++<=m;)f.push(0);c=u=0,r=1,n%=ae,s=n-ae+1}else break e;else{for(c=a=f[m],r=1;a>=10;a/=10)r++;n%=ae,s=n-ae+r,u=s<0?0:c/Pe(10,r-s-1)%10|0}if(t=t||o<0||f[m+1]!==void 0||(s<0?c:c%Pe(10,r-s-1)),l=e<4?(u||t)&&(e==0||e==(i.s<0?3:2)):u>5||u==5&&(e==4||t||e==6&&(n>0?s>0?c/Pe(10,r-s):0:f[m-1])%10&1||e==(i.s<0?8:7)),o<1||!f[0])return f.length=0,l?(o-=i.e+1,f[0]=Pe(10,(ae-o%ae)%ae),i.e=-o||0):f[0]=i.e=0,i;if(n==0?(f.length=m,a=1,m--):(f.length=m+1,a=Pe(10,ae-n),f[m]=s>0?(c/Pe(10,r-s)%Pe(10,s)|0)*a:0),l)for(;;)if(m==0){for(n=1,s=f[0];s>=10;s/=10)n++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;n!=a&&(i.e++,f[0]==st&&(f[0]=1));break}else{if(f[m]+=a,f[m]!=st)break;f[m--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop()}return le&&(i.e>d.maxE?(i.d=null,i.e=NaN):i.e<d.minE&&(i.e=0,i.d=[0])),i}function ft(i,o,e){if(!i.isFinite())return ao(i);var t,r=i.e,n=Ue(i.d),s=n.length;return o?(e&&(t=e-s)>0?n=n.charAt(0)+"."+n.slice(1)+Tt(t):s>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(i.e<0?"e":"e+")+i.e):r<0?(n="0."+Tt(-r-1)+n,e&&(t=e-s)>0&&(n+=Tt(t))):r>=s?(n+=Tt(r+1-s),e&&(t=e-r-1)>0&&(n=n+"."+Tt(t))):((t=r+1)<s&&(n=n.slice(0,t)+"."+n.slice(t)),e&&(t=e-s)>0&&(r+1===s&&(n+="."),n+=Tt(t))),n}function Vn(i,o){var e=i[0];for(o*=ae;e>=10;e/=10)o++;return o}function On(i,o,e){if(o>nf)throw le=!0,e&&(i.precision=e),Error(Zi);return re(new i(yn),o,1,!0)}function mt(i,o,e){if(o>zs)throw Error(Zi);return re(new i(bn),o,e,!0)}function to(i){var o=i.length-1,e=o*ae+1;if(o=i[o],o){for(;o%10==0;o/=10)e--;for(o=i[0];o>=10;o/=10)e++}return e}function Tt(i){for(var o="";i--;)o+="0";return o}function ro(i,o,e,t){var r,n=new i(1),s=Math.ceil(t/ae+4);for(le=!1;;){if(e%2&&(n=n.times(o),oo(n.d,s)&&(r=!0)),e=ve(e/2),e===0){e=n.d.length-1,r&&n.d[e]===0&&++n.d[e];break}o=o.times(o),oo(o.d,s)}return le=!0,n}function no(i){return i.d[i.d.length-1]&1}function so(i,o,e){for(var t,r,n=new i(o[0]),s=0;++s<o.length;){if(r=new i(o[s]),!r.s){n=r;break}t=n.cmp(r),(t===e||t===0&&n.s===e)&&(n=r)}return n}function Js(i,o){var e,t,r,n,s,a,u,l=0,c=0,f=0,m=i.constructor,d=m.rounding,_=m.precision;if(!i.d||!i.d[0]||i.e>17)return new m(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(o==null?(le=!1,u=_):u=o,a=new m(.03125);i.e>-2;)i=i.times(a),f+=5;for(t=Math.log(Pe(2,f))/Math.LN10*2+5|0,u+=t,e=n=s=new m(1),m.precision=u;;){if(n=re(n.times(i),u,1),e=e.times(++c),a=s.plus(Ne(n,e,u,1)),Ue(a.d).slice(0,u)===Ue(s.d).slice(0,u)){for(r=f;r--;)s=re(s.times(s),u,1);if(o==null)if(l<3&&Ur(s.d,u-t,d,l))m.precision=u+=10,e=n=a=new m(1),c=0,l++;else return re(s,m.precision=_,d,le=!0);else return m.precision=_,s}s=a}}function Ut(i,o){var e,t,r,n,s,a,u,l,c,f,m,d=1,_=10,C=i,E=C.d,R=C.constructor,y=R.rounding,p=R.precision;if(C.s<0||!E||!E[0]||!C.e&&E[0]==1&&E.length==1)return new R(E&&!E[0]?-1/0:C.s!=1?NaN:E?0:C);if(o==null?(le=!1,c=p):c=o,R.precision=c+=_,e=Ue(E),t=e.charAt(0),Math.abs(n=C.e)<15e14){for(;t<7&&t!=1||t==1&&e.charAt(1)>3;)C=C.times(i),e=Ue(C.d),t=e.charAt(0),d++;n=C.e,t>1?(C=new R("0."+e),n++):C=new R(t+"."+e.slice(1))}else return l=On(R,c+2,p).times(n+""),C=Ut(new R(t+"."+e.slice(1)),c-_).plus(l),R.precision=p,o==null?re(C,p,y,le=!0):C;for(f=C,u=s=C=Ne(C.minus(1),C.plus(1),c,1),m=re(C.times(C),c,1),r=3;;){if(s=re(s.times(m),c,1),l=u.plus(Ne(s,new R(r),c,1)),Ue(l.d).slice(0,c)===Ue(u.d).slice(0,c))if(u=u.times(2),n!==0&&(u=u.plus(On(R,c+2,p).times(n+""))),u=Ne(u,new R(d),c,1),o==null)if(Ur(u.d,c-_,y,a))R.precision=c+=_,l=s=C=Ne(f.minus(1),f.plus(1),c,1),m=re(C.times(C),c,1),r=a=1;else return re(u,R.precision=p,y,le=!0);else return R.precision=p,u;u=l,r+=2}}function ao(i){return String(i.s*i.s/0)}function Sn(i,o){var e,t,r;for((e=o.indexOf("."))>-1&&(o=o.replace(".","")),(t=o.search(/e/i))>0?(e<0&&(e=t),e+=+o.slice(t+1),o=o.substring(0,t)):e<0&&(e=o.length),t=0;o.charCodeAt(t)===48;t++);for(r=o.length;o.charCodeAt(r-1)===48;--r);if(o=o.slice(t,r),o){if(r-=t,i.e=e=e-t-1,i.d=[],t=(e+1)%ae,e<0&&(t+=ae),t<r){for(t&&i.d.push(+o.slice(0,t)),r-=ae;t<r;)i.d.push(+o.slice(t,t+=ae));o=o.slice(t),t=ae-o.length}else t-=r;for(;t--;)o+="0";i.d.push(+o),le&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function af(i,o){var e,t,r,n,s,a,u,l,c;if(o.indexOf("_")>-1){if(o=o.replace(/(\d)_(?=\d)/g,"$1"),eo.test(o))return Sn(i,o)}else if(o==="Infinity"||o==="NaN")return+o||(i.s=NaN),i.e=NaN,i.d=null,i;if(ef.test(o))e=16,o=o.toLowerCase();else if(Jc.test(o))e=2;else if(tf.test(o))e=8;else throw Error(jt+o);for(n=o.search(/p/i),n>0?(u=+o.slice(n+1),o=o.substring(2,n)):o=o.slice(2),n=o.indexOf("."),s=n>=0,t=i.constructor,s&&(o=o.replace(".",""),a=o.length,n=a-n,r=ro(t,new t(e),n,n*2)),l=Nn(o,e,st),c=l.length-1,n=c;l[n]===0;--n)l.pop();return n<0?new t(i.s*0):(i.e=Vn(l,c),i.d=l,le=!1,s&&(i=Ne(i,r,a*4)),u&&(i=i.times(Math.abs(u)<54?Pe(2,u):U.pow(2,u))),le=!0,i)}function of(i,o){var e,t=o.d.length;if(t<3)return o.isZero()?o:hr(i,2,o,o);e=1.4*Math.sqrt(t),e=e>16?16:e|0,o=o.times(1/Mn(5,e)),o=hr(i,2,o,o);for(var r,n=new i(5),s=new i(16),a=new i(20);e--;)r=o.times(o),o=o.times(n.plus(r.times(s.times(r).minus(a))));return o}function hr(i,o,e,t,r){var n,s,a,u,l=i.precision,c=Math.ceil(l/ae);for(le=!1,u=e.times(e),a=new i(t);;){if(s=Ne(a.times(u),new i(o++*o++),l,1),a=r?t.plus(s):t.minus(s),t=Ne(s.times(u),new i(o++*o++),l,1),s=a.plus(t),s.d[c]!==void 0){for(n=c;s.d[n]===a.d[n]&&n--;);if(n==-1)break}n=a,a=t,t=s,s=n}return le=!0,s.d.length=c+1,s}function Mn(i,o){for(var e=i;--o;)e*=i;return e}function io(i,o){var e,t=o.s<0,r=mt(i,i.precision,1),n=r.times(.5);if(o=o.abs(),o.lte(n))return Vt=t?4:1,o;if(e=o.divToInt(r),e.isZero())Vt=t?3:2;else{if(o=o.minus(e.times(r)),o.lte(n))return Vt=no(e)?t?2:3:t?4:1,o;Vt=no(e)?t?1:4:t?3:2}return o.minus(r).abs()}function ea(i,o,e,t){var r,n,s,a,u,l,c,f,m,d=i.constructor,_=e!==void 0;if(_?(ke(e,1,Pt),t===void 0?t=d.rounding:ke(t,0,8)):(e=d.precision,t=d.rounding),!i.isFinite())c=ao(i);else{for(c=ft(i),s=c.indexOf("."),_?(r=2,o==16?e=e*4-3:o==8&&(e=e*3-2)):r=o,s>=0&&(c=c.replace(".",""),m=new d(1),m.e=c.length-s,m.d=Nn(ft(m),10,r),m.e=m.d.length),f=Nn(c,10,r),n=u=f.length;f[--u]==0;)f.pop();if(!f[0])c=_?"0p+0":"0";else{if(s<0?n--:(i=new d(i),i.d=f,i.e=n,i=Ne(i,m,e,t,0,r),f=i.d,n=i.e,l=Ki),s=f[e],a=r/2,l=l||f[e+1]!==void 0,l=t<4?(s!==void 0||l)&&(t===0||t===(i.s<0?3:2)):s>a||s===a&&(t===4||l||t===6&&f[e-1]&1||t===(i.s<0?8:7)),f.length=e,l)for(;++f[--e]>r-1;)f[e]=0,e||(++n,f.unshift(1));for(u=f.length;!f[u-1];--u);for(s=0,c="";s<u;s++)c+=Ks.charAt(f[s]);if(_){if(u>1)if(o==16||o==8){for(s=o==16?4:3,--u;u%s;u++)c+="0";for(f=Nn(c,r,o),u=f.length;!f[u-1];--u);for(s=1,c="1.";s<u;s++)c+=Ks.charAt(f[s])}else c=c.charAt(0)+"."+c.slice(1);c=c+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)c="0"+c;c="0."+c}else if(++n>u)for(n-=u;n--;)c+="0";else n<u&&(c=c.slice(0,n)+"."+c.slice(n))}c=(o==16?"0x":o==2?"0b":o==8?"0o":"")+c}return i.s<0?"-"+c:c}function oo(i,o){if(i.length>o)return i.length=o,!0}function uf(i){return new this(i).abs()}function lf(i){return new this(i).acos()}function cf(i){return new this(i).acosh()}function ff(i,o){return new this(i).plus(o)}function mf(i){return new this(i).asin()}function hf(i){return new this(i).asinh()}function gf(i){return new this(i).atan()}function df(i){return new this(i).atanh()}function Cf(i,o){i=new this(i),o=new this(o);var e,t=this.precision,r=this.rounding,n=t+4;return!i.s||!o.s?e=new this(NaN):!i.d&&!o.d?(e=mt(this,n,1).times(o.s>0?.25:.75),e.s=i.s):!o.d||i.isZero()?(e=o.s<0?mt(this,t,r):new this(0),e.s=i.s):!i.d||o.isZero()?(e=mt(this,n,1).times(.5),e.s=i.s):o.s<0?(this.precision=n,this.rounding=1,e=this.atan(Ne(i,o,n,1)),o=mt(this,n,1),this.precision=t,this.rounding=r,e=i.s<0?e.minus(o):e.plus(o)):e=this.atan(Ne(i,o,n,1)),e}function _f(i){return new this(i).cbrt()}function Af(i){return re(i=new this(i),i.e+1,2)}function Ef(i,o,e){return new this(i).clamp(o,e)}function Rf(i){if(!i||typeof i!="object")throw Error(pn+"Object expected");var o,e,t,r=i.defaults===!0,n=["precision",1,Pt,"rounding",0,8,"toExpNeg",-mr,0,"toExpPos",0,mr,"maxE",0,mr,"minE",-mr,0,"modulo",0,9];for(o=0;o<n.length;o+=3)if(e=n[o],r&&(this[e]=Zs[e]),(t=i[e])!==void 0)if(ve(t)===t&&t>=n[o+1]&&t<=n[o+2])this[e]=t;else throw Error(jt+e+": "+t);if(e="crypto",r&&(this[e]=Zs[e]),(t=i[e])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(zi);else this[e]=!1;else throw Error(jt+e+": "+t);return this}function yf(i){return new this(i).cos()}function bf(i){return new this(i).cosh()}function uo(i){var o,e,t;function r(n){var s,a,u,l=this;if(!(l instanceof r))return new r(n);if(l.constructor=r,lo(n)){l.s=n.s,le?!n.d||n.e>r.maxE?(l.e=NaN,l.d=null):n.e<r.minE?(l.e=0,l.d=[0]):(l.e=n.e,l.d=n.d.slice()):(l.e=n.e,l.d=n.d?n.d.slice():n.d);return}if(u=typeof n,u==="number"){if(n===0){l.s=1/n<0?-1:1,l.e=0,l.d=[0];return}if(n<0?(n=-n,l.s=-1):l.s=1,n===~~n&&n<1e7){for(s=0,a=n;a>=10;a/=10)s++;le?s>r.maxE?(l.e=NaN,l.d=null):s<r.minE?(l.e=0,l.d=[0]):(l.e=s,l.d=[n]):(l.e=s,l.d=[n]);return}if(n*0!==0){n||(l.s=NaN),l.e=NaN,l.d=null;return}return Sn(l,n.toString())}if(u==="string")return(a=n.charCodeAt(0))===45?(n=n.slice(1),l.s=-1):(a===43&&(n=n.slice(1)),l.s=1),eo.test(n)?Sn(l,n):af(l,n);if(u==="bigint")return n<0?(n=-n,l.s=-1):l.s=1,Sn(l,n.toString());throw Error(jt+n)}if(r.prototype=k,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Rf,r.clone=uo,r.isDecimal=lo,r.abs=uf,r.acos=lf,r.acosh=cf,r.add=ff,r.asin=mf,r.asinh=hf,r.atan=gf,r.atanh=df,r.atan2=Cf,r.cbrt=_f,r.ceil=Af,r.clamp=Ef,r.cos=yf,r.cosh=bf,r.div=pf,r.exp=Nf,r.floor=Vf,r.hypot=Of,r.ln=Sf,r.log=Mf,r.log10=wf,r.log2=Df,r.max=Lf,r.min=Pf,r.mod=jf,r.mul=Tf,r.pow=Uf,r.random=xf,r.round=vf,r.sign=If,r.sin=Ff,r.sinh=Bf,r.sqrt=kf,r.sub=$f,r.sum=Yf,r.tan=Hf,r.tanh=Gf,r.trunc=Wf,i===void 0&&(i={}),i&&i.defaults!==!0)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],o=0;o<t.length;)i.hasOwnProperty(e=t[o++])||(i[e]=this[e]);return r.config(i),r}function pf(i,o){return new this(i).div(o)}function Nf(i){return new this(i).exp()}function Vf(i){return re(i=new this(i),i.e+1,3)}function Of(){var i,o,e=new this(0);for(le=!1,i=0;i<arguments.length;)if(o=new this(arguments[i++]),o.d)e.d&&(e=e.plus(o.times(o)));else{if(o.s)return le=!0,new this(1/0);e=o}return le=!0,e.sqrt()}function lo(i){return i instanceof U||i&&i.toStringTag===Ji||!1}function Sf(i){return new this(i).ln()}function Mf(i,o){return new this(i).log(o)}function Df(i){return new this(i).log(2)}function wf(i){return new this(i).log(10)}function Lf(){return so(this,arguments,-1)}function Pf(){return so(this,arguments,1)}function jf(i,o){return new this(i).mod(o)}function Tf(i,o){return new this(i).mul(o)}function Uf(i,o){return new this(i).pow(o)}function xf(i){var o,e,t,r,n=0,s=new this(1),a=[];if(i===void 0?i=this.precision:ke(i,1,Pt),t=Math.ceil(i/ae),this.crypto)if(crypto.getRandomValues)for(o=crypto.getRandomValues(new Uint32Array(t));n<t;)r=o[n],r>=429e7?o[n]=crypto.getRandomValues(new Uint32Array(1))[0]:a[n++]=r%1e7;else if(crypto.randomBytes){for(o=crypto.randomBytes(t*=4);n<t;)r=o[n]+(o[n+1]<<8)+(o[n+2]<<16)+((o[n+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(o,n):(a.push(r%1e7),n+=4);n=t/4}else throw Error(zi);else for(;n<t;)a[n++]=Math.random()*1e7|0;for(t=a[--n],i%=ae,t&&i&&(r=Pe(10,ae-i),a[n]=(t/r|0)*r);a[n]===0;n--)a.pop();if(n<0)e=0,a=[0];else{for(e=-1;a[0]===0;e-=ae)a.shift();for(t=1,r=a[0];r>=10;r/=10)t++;t<ae&&(e-=ae-t)}return s.e=e,s.d=a,s}function vf(i){return re(i=new this(i),i.e+1,this.rounding)}function If(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function Ff(i){return new this(i).sin()}function Bf(i){return new this(i).sinh()}function kf(i){return new this(i).sqrt()}function $f(i,o){return new this(i).sub(o)}function Yf(){var i=0,o=arguments,e=new this(o[i]);for(le=!1;e.s&&++i<o.length;)e=e.plus(o[i]);return le=!0,re(e,this.precision,this.rounding)}function Hf(i){return new this(i).tan()}function Gf(i){return new this(i).tanh()}function Wf(i){return re(i=new this(i),i.e+1,1)}k[Symbol.for("nodejs.util.inspect.custom")]=k.toString,k[Symbol.toStringTag]="Decimal";var U=k.constructor=uo(Zs);yn=new U(yn),bn=new U(bn);function Qf(i,o){const e=i+o;return Number.isSafeInteger(e)?e:new U(i).add(o).toNumber()}function qf(i,o){const e=i-o;return Number.isSafeInteger(e)?e:new U(i).sub(o).toNumber()}function gr(i,o){const e=i*o;return Number.isSafeInteger(e)?e:new U(i).mul(o).toNumber()}function Xf(i,o){const e=i/o;return Number.isSafeInteger(e)?e:new U(i).div(o).toNumber()}function xt(i,o){const e=10**Math.trunc(o),t=Dn(i,e);return Math.round(gr(i,e)+t)/e}function Qe(i,o){const e=10**Math.trunc(o),t=Dn(i,e);return Math.floor(gr(i,e)+t)/e}function $e(i,o){const e=10**Math.trunc(o),t=Dn(i,e);return Math.ceil(gr(i,e)-t)/e}function Dn(i,o){return Number.EPSILON*Math.max(1,Math.abs(gr(i,o)))}function co(i,o){return i-o*Math.floor(i/o)}function Kf(i,o){return i**o}function Zf(i){return Math.sqrt(i)}function fo(i,o){return i===o}function zf(i,o){return i>o}function Jf(i,o){return i>=o}function em(i,o){return i<o}function tm(i,o){return i<=o}function ta(i,o=15){return Math.floor(Math.abs(i)).toString().length>=o?i:Number.parseFloat(i.toPrecision(o))}function rm(i,o,e=Number.EPSILON){return Math.abs(i-o)<e}function wn(i,o=12,e=1e-10){const t=ta(i,o);return rm(i,t,e)?t:ta(i)}function nm(i){return i-Math.trunc(i)}const gs=class gs extends Nt{static create(){return this._instance=this._instance||new gs(0),this._instance}isNull(){return!0}plus(o){return b.create(0).plus(o)}minus(o){return b.create(0).minus(o)}multiply(o){return b.create(0).multiply(o)}divided(o){return b.create(0).divided(o)}mod(o){return b.create(0).mod(o)}compare(o,e){return o.isString()?x.create("").compare(o,e):o.isBoolean()?F.create(!1).compare(o,e):b.create(0).compare(o,e)}concatenateFront(o){return o.isArray()?o.concatenateBack(x.create("")):x.create(this.concatenate(o.getValue(),rt.FRONT))}concatenateBack(o){return o.isArray()?o.concatenateFront(x.create("")):x.create(this.concatenate(o.getValue(),rt.BACK))}plusBy(o){return b.create(0).plusBy(o)}minusBy(o){return b.create(0).minusBy(o)}multiplyBy(o){return b.create(0).multiplyBy(o)}dividedBy(o){return b.create(0).dividedBy(o)}compareBy(o,e){return typeof o=="string"?x.create("").compareBy(o,e):typeof o=="boolean"?F.create(!1).compareBy(o,e):b.create(0).compareBy(o,e)}pow(o){return b.create(0).pow(o)}sqrt(){return b.create(0).sqrt()}cbrt(){return b.create(0).cbrt()}cos(){return b.create(0).cos()}cosh(){return b.create(0).cosh()}acos(){return b.create(0).acos()}acosh(){return b.create(0).acosh()}sin(){return b.create(0).sin()}sinh(){return b.create(0).sinh()}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(o){return b.create(0).atan2(o)}atanh(){return b.create(0).atanh()}log(){return g.create(h.NUM)}log10(){return g.create(h.NUM)}exp(){return b.create(0).exp()}abs(){return b.create(0).abs()}round(o){return b.create(0).round(o)}floor(o){return b.create(0).floor(o)}ceil(o){return b.create(0).ceil(o)}convertToNumberObjectValue(){return b.create(0)}convertToBooleanObjectValue(){return F.create(!1)}};A(gs,"_instance");let ce=gs;const ar=class ar extends Nt{constructor(e){super(e);A(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new ar(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new ar(!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):g.create(h.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,Xs(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const n=b.create(e?1:0);return this._convertToNumber().compare(n,t)}return ar.create(r)}_compareString(e){switch(e){case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!0;case H.EQUALS:case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){const e=this.getValue();let t=0;return e&&(t=1),b.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return xr(this.getValue())}convertToBooleanObjectValue(){return this}};A(ar,"_instanceTrue"),A(ar,"_instanceFalse");let F=ar;class b extends Nt{constructor(e){super(e);A(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=new b(e);return t&&r.setPattern(t),r}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);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.plusBy(t.getValue());if(r.isError())return r;const n=Rn(this.getPattern(),t.getPattern(),z.PLUS);return r=b.create(Number(r.getValue()),n),r}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.minusBy(t.getValue());if(r.isError())return r;const n=Rn(this.getPattern(),t.getPattern(),z.MINUS);return r=b.create(Number(r.getValue()),n),r}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.multiplyBy(t.getValue());if(r.isError())return r;const n=Rn(this.getPattern(),t.getPattern(),z.MULTIPLY);return r=b.create(Number(r.getValue()),n),r}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.dividedBy(t.getValue());if(r.isError())return r;const n=Rn(this.getPattern(),t.getPattern(),z.DIVIDED);return r=b.create(Number(r.getValue()),n),r}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return g.create(h.DIV_BY_ZERO);if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(r===0)return g.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return g.create(h.NUM);const n=co(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}if(typeof r=="boolean"){const n=r?1:0;return n===0?g.create(h.DIV_BY_ZERO):b.create(co(t,n))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):x.create(this.concatenate(e.getValue(),rt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):x.create(this.concatenate(e.getValue(),rt.BACK))}isDateFormat(){const e=this.getPattern();return S.numfmt.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Xs(t));let r=!1;return e.isDateFormat()&&this.isDateFormat()&&(r=!0),this.compareBy(e.getValue(),t,r)}plusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Qf(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}minusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=qf(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}multiplyBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=gr(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}dividedBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(r===0)return g.create(h.DIV_BY_ZERO);const n=Xf(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}compareBy(e,t,r=!1){const n=this.getValue();let s=!1,a=n,u=e;return r&&(a=Math.round(n*1e8)/1e8,u=Math.round(e*1e8)/1e8),typeof u=="string"?s=this._compareString(t):typeof u=="number"?s=this._compareNumber(a,u,t):typeof u=="boolean"&&(s=this._compareBoolean(t)),F.create(s)}_compareString(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}_compareNumber(e,t,r){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,r):this._compareFiniteNumber(e,t,r)}_compareFiniteNumber(e,t,r){switch(r){case H.EQUALS:return fo(e,t);case H.GREATER_THAN:return zf(e,t);case H.GREATER_THAN_OR_EQUAL:return Jf(e,t);case H.LESS_THAN:return em(e,t);case H.LESS_THAN_OR_EQUAL:return tm(e,t);case H.NOT_EQUAL:return!fo(e,t)}}_compareBoolean(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);if(this.isError())return this;const t=this.getValue();let r=e;if(e.isString()&&(r=e.convertToNumberObjectValue()),r.isError())return r;const n=+r.getValue();if(Number.isNaN(n))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(n))return g.create(h.NUM);if(t===0)return n<0?g.create(h.DIV_BY_ZERO):n===0?g.create(h.NUM):b.create(0);const s=Kf(t,n);return Number.isFinite(s)?b.create(s):g.create(h.NUM)}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Zf(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cos(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cosh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acos(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acosh(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sin(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sinh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asin(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asinh(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tan(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tanh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atan(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(t===0&&r===0)return g.create(h.DIV_BY_ZERO);const n=Math.atan2(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atanh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log10(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.exp(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.abs(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-xt(Math.abs(t),r):xt(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(xt(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Qe(Math.abs(t),r):Qe(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(Qe(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-$e(Math.abs(t),r):$e(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create($e(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Ln(!0)}_compareInfinity(e,t,r){let n=!1;switch(r){case H.EQUALS:n=e===t;break;case H.GREATER_THAN:n=e>t;break;case H.GREATER_THAN_OR_EQUAL:n=e>=t;break;case H.LESS_THAN:n=e<t;break;case H.LESS_THAN_OR_EQUAL:n=e<=t;break;case H.NOT_EQUAL:n=e!==t;break}return n}}const sm=1e5,ra=new bt(sm);class x extends Nt{constructor(e){super(e);A(this,"_value");A(this,"_isHyperlink",!1);A(this,"_hyperlinkUrl","");A(this,"_isImage",!1);A(this,"_imageInfo");this._value=e}static create(e,t){var s;const r=ra.get(e);if(r&&t&&this.checkCacheByOptions(r,t))return r;const n=new x(e);return t!=null&&t.isHyperlink&&(n._isHyperlink=t.isHyperlink,n._hyperlinkUrl=(s=t.hyperlinkUrl)!=null?s:""),t!=null&&t.isImage&&(n._isImage=t.isImage,n._imageInfo=t.imageInfo),ra.set(e,n),n}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!S.Tools.diffValue(e.getImageInfo(),t.imageInfo))}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}isImage(){return this._isImage}getImageInfo(){return this._imageInfo}concatenateFront(e){return e.isArray()?e.concatenateBack(this):x.create(this.concatenate(e.getValue(),rt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):x.create(this.concatenate(e.getValue(),rt.BACK))}plus(e){return this.convertToNumberObjectValue().plus(e)}minus(e){return this.convertToNumberObjectValue().minus(e)}multiply(e){return this.convertToNumberObjectValue().multiply(e)}divided(e){return this.convertToNumberObjectValue().divided(e)}compare(e,t,r){return e.isArray()?e.compare(this,Xs(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let n=this.getValue(),s=!1;if(typeof e=="string"){let a=e;if(r||(n=n.toLocaleLowerCase(),a=a.toLocaleLowerCase()),Wi(a))return this._checkWildcard(a,t);s=this._compareString(n,a,t)}else typeof e=="number"?s=this._compareNumber(t):typeof e=="boolean"&&(s=this._compareBoolean(t));return F.create(s)}_compareString(e,t,r){switch(r){case H.EQUALS:return e===t;case H.GREATER_THAN:return e>t;case H.GREATER_THAN_OR_EQUAL:return e>=t;case H.LESS_THAN:return e<t;case H.LESS_THAN_OR_EQUAL:return e<=t;case H.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case H.NOT_EQUAL:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!0;case H.EQUALS:case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}convertToNumberObjectValue(){const e=this.getValue(),t=S.getNumfmtParseValueFilter(e);return t&&t.z?xr(t.v,t.z):xr(e)}convertToBooleanObjectValue(){return F.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),n=Bc(r,e,t);return F.create(n)}}function Ln(i){if(typeof i=="boolean")return F.create(i);let o=!1;if(typeof i=="string"){const e=i.toLocaleUpperCase();e===Mt.TRUE?o=!0:e===Mt.FALSE&&(o=!1)}else i===1?o=!0:o=!1;return F.create(o)}function am(i){let o=i.toString();return o.charAt(0)==='"'&&o.charAt(o.length-1)==='"'&&(o=o.slice(1,-1),o=o.replace(/""/g,'"')),x.create(o)}function xr(i,o=""){if(typeof i=="boolean"){let e=0;return i&&(e=1),b.create(e,o)}else{if(typeof i=="number")return Number.isFinite(i)?b.create(i,o):g.create(h.NUM);if(S.isRealNum(i))return b.create(Number(i),o)}return g.create(h.VALUE)}function im(i){return""}function mo(i=[],o=!1){const e=[];for(let t=0;t<i.length;t++){const r=i[t];e[t]==null&&(e[t]=[]);for(let n=0;n<r.length;n++){const s=r[n];e[t][n]=ht.create(s,o)}}return e}function om(i=[]){const o=[];for(let e=0;e<i.length;e++){const t=i[e];o[e]==null&&(o[e]=[]);for(let r=0;r<t.length;r++){const n=t[r];n==null?o[e][r]=null:n.isError()?o[e][r]=n.getErrorType():o[e][r]=n.getValue()}}return o}class Z extends Nt{constructor(e){super(typeof e=="string"?e:im());A(this,"_values",[]);A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"_unitId","");A(this,"_sheetId","");A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_sliceCache",new Map);A(this,"_flattenCache");A(this,"_defaultValue",null);A(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new Z(e)}static createByArray(e){const r={calculateValueList:mo(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new Z(r)}dispose(){this._values=[],this._defaultValue=null,this._flattenPosition=null,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 r;return((r=this._values[e])==null?void 0:r[t])||this._defaultValue}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const n=r[t];return n==null?null:n}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount){console.error("Exceeding array bounds.");return}this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,n=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:n-1}}iterator(e){var u;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let l=t;l<=r;l++)for(let c=n;c<=s;c++)if(e(((u=a[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let l=r;l>=t;l--)for(let c=s;c>=n;c--)if(e(((u=a[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!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(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[ce.create()]];const n=[];n[0]=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.get(s,a);if(!(u==null||u.isError())&&u.getValue()===!0){const l=this.get(s,a);n[0].push(l)}}return n}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let n=0;n<this._columnCount;n++){const s=this.get(r,n);e[0].push(s)}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=[],r=[],n=[];let s=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()){s++;continue}c.isString()?(e.push(c),r.push(s++)):(t.push(c),n.push(s++))}const a={stringArray:e,numberArray:t,stringPosition:r,numberPosition:n};return this._flattenPosition=a,a}slice(e,t){let r=0,n=this._rowCount,s=1,a=0,u=this._columnCount,l=1;if(e!=null&&(r=e[0]||0,n=e[1]||this._rowCount,s=e[2]||1),t!=null&&(a=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),r>=this._rowCount||a>=this._columnCount)return;const c=`${r}_${n}_${s}_${a}_${u}_${l}`,f=this._sliceCache.get(c);if(f!=null)return f;const m=[],d=this._values;let _=0,C=0;for(let p=r;p<n;p+=s){C=0,m[_]==null&&(m[_]=[]);for(let N=a;N<u;N+=l){if(!d[p])return;let M=d[p][N]||this._defaultValue;M==null&&(M=ce.create()),m[_][C]=M,C++}_++}if(m.length===0||m[0].length===0)return;const E=s>1?-1:r+this._currentRow,R=l>1?-1:a+this._currentColumn,y=this._createNewArray(m,m.length,m[0].length,E,R);return y.setDefaultValue(this._defaultValue),this._sliceCache.set(c,y),y}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,r=this._columnCount,n=this._createNewArray(e,r,t);return n.setDefaultValue(this._defaultValue),n}orderSearch(e,t=Le.MIN,r=!1,n=!1){let s,a,u,l;const c=(f,m,d)=>{if(f==null||f.isNull())return!0;let _;if(n===!0?_=f.compare(e,H.EQUALS):_=f.isEqual(e),(_==null?void 0:_.getValue())===!0)return s=f,u={row:m,column:d},!1;t===Le.MAX?f.isGreaterThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,l={row:m,column:d}):t===Le.MIN&&f.isLessThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,l={row:m,column:d})};if(r?this.iteratorReverse((f,m,d)=>c(f,m,d)):this.iterator((f,m,d)=>c(f,m,d)),s!=null)return u;if(a!=null)return l}binarySearch(e,t=Ht.MIN,r=Le.MIN){if(e.isError())return;const{stringArray:n,stringPosition:s,numberArray:a,numberPosition:u}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,s,t,r):this._binarySearch(e,a,u,t,r)}_binarySearch(e,t,r,n=Ht.MIN,s=Le.MIN){const a=En(),u=Number(e.getValue()),l=!Number.isNaN(u);let c=0,f=t.length-1,m=-1,d=-1,_=-1;for(;c<=f;){const C=Math.floor((c+f)/2),E=t[C];let R;if(E.isNull())R=n===Ht.MIN?1:-1;else{const y=E.getValue();if(l){const p=Number(y);R=Number.isNaN(p)?1:Math.sign(p-u)}else R=a(y.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(n===Ht.MAX&&(R=-R),R===0){m=C;break}R<0?(d=C,c=C+1):(_=C,f=C-1)}if(s===Le.NORMAL)return m!==-1?r[m]:void 0;if(s===Le.MIN)return m!==-1?r[m]:n===Ht.MIN?r[d]:r[_];if(s===Le.MAX)return m!==-1?r[m]:n===Ht.MIN?r[_]:r[d]}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=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return Z.create("{0}").minus(this)}getReciprocal(){return Z.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,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,n,s)=>r==null?ce.create():r.isError()?r:e(r,n,s);return this.mapValue(t)}mapValue(e){var s;const t=this._rowCount,r=this._columnCount,n=[];for(let a=0;a<t;a++){const u=[];for(let l=0;l<r;l++){const c=(s=this._values)==null?void 0:s[a];if(c==null)u[l]=g.create(h.VALUE);else{const f=c[l]||this._defaultValue;f?u[l]=e(f,a,l):u[l]=ce.create()}}n.push(u)}return this._createNewArray(n,t,r)}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())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}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())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}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(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||ce.create();if(t.sortByRow(0),r%2===0){const n=t.get(0,r/2)||ce.create(),s=t.get(0,r/2-1)||ce.create();return n.plus(s).divided(b.create(2))}return t.get(0,(r-1)/2)||ce.create()}var(e=0){const t=this.mean(),r=[[]];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()||r[0].push(f)});const{_unitId:n,_sheetId:s,_currentRow:a,_currentColumn:u}=this;return Z.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:n,sheetId:s,row:a,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 om(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=En();return(r,n)=>{const s=r[e],a=n[e];return s==null?1:a==null?-1:s.isError()&&s.isError()?0:s.isError()?1:a.isError()?-1:t(s.getValue(),a.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_batchOperator(e,t,r,n){const s=[];let a=this._rowCount,u=this._columnCount;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();if(a=Math.max(f,a),u=Math.max(m,u),f===1&&m===1){const d=e.getFirstCell();for(let _=0;_<u;_++)s.push(d)}else if(f===1&&this._columnCount>1){const d=e.getArrayValue();for(let _=0;_<u;_++)d[0]&&d[0][_]?s.push(d[0][_]):s.push(ce.create())}else return this._batchOperatorArray(e,t,r,n)}else for(let f=0;f<u;f++)s.push(e);const l=[];for(let f=0;f<u;f++){const m=s[f];this._batchOperatorValue(m,f,l,t,r,n)}const c=this._createNewArray(l,a,u);return c.setDefaultValue(F.create(!1)),c}_batchOperatorValue(e,t,r,n,s,a){const u=this._rowCount,l=this.getUnitId(),c=this.getSheetId(),f=this.getCurrentRow(),m=this.getCurrentColumn();if(n===5){const{rowsInCache:d,rowsNotInCache:_}=Ge.canUseCache(l,c,t+m,f,f+u-1);if(d.length>0){if(s===H.EQUALS&&!(e.isString()&&Wi(e.getValue()))){const C=Ge.getCellPositions(l,c,t+m,e.isNull()?null:e.getValue(),d);C!=null&&C.forEach(E=>{if(E<f||E>f+u-1)return;const R=E-f;r[R]==null&&(r[R]=[]),r[R][t]=F.create(!0)})}else{const C=Ge.getCellValuePositions(l,c,t+m);C!=null&&C.forEach((E,R)=>{let y=ce.create();wt.has(R)?y=g.create(R):typeof R=="string"?y=x.create(R):typeof R=="number"?y=b.create(R):typeof R=="boolean"&&(y=F.create(R));let p;y.isError()?p=y:e.isError()?p=e:p=y.compare(e,s,a),E.forEach(N=>{N>=f&&N<=f+u-1&&(r[N-f]==null&&(r[N-f]=[]),r[N-f][t]=p)})})}if(_.length>0)for(const C of _){const[E,R]=C;for(let y=E;y<=R;y++)this.__batchOperatorRowValue(e,t,r,n,y-f,l,c,f,m,s,a);Ge.setContinueBuildingCache(l,c,t+m,E,R)}return}}for(let d=0;d<u;d++)this.__batchOperatorRowValue(e,t,r,n,d,l,c,f,m,s,a);Ge.setContinueBuildingCache(l,c,t+m,f,f+u-1)}__batchOperatorRowValue(e,t,r,n,s,a,u,l,c,f,m){const d=this.getValueOrDefault(s,t);if(r[s]==null&&(r[s]=[]),d&&e)if(d.isError())r[s][t]=d;else if(e.isError())r[s][t]=e;else switch(n){case 1:r[s][t]=d.plus(e);break;case 0:r[s][t]=d.minus(e);break;case 2:r[s][t]=d.multiply(e);break;case 3:r[s][t]=d.divided(e);break;case 4:r[s][t]=d.mod(e);break;case 5:f?r[s][t]=d.compare(e,f,m):r[s][t]=g.create(h.VALUE);break;case 6:r[s][t]=d.concatenateFront(e);break;case 7:r[s][t]=d.concatenateBack(e);break;case 8:r[s][t]=d.pow(e);break;case 9:r[s][t]=d.round(e);break;case 10:r[s][t]=d.floor(e);break;case 12:r[s][t]=d.atan2(e);break;case 11:r[s][t]=d.ceil(e);break}else r[s][t]=g.create(h.NA);!d||d!=null&&d.isNull()?Ge.set(a,u,t+c,Fs,s+l):Ge.set(a,u,t+c,d.getValue(),s+l)}_batchOperatorArray(e,t,r,n){let s=e.getRowCount(),a=e.getColumnCount();s<this._rowCount&&(s=this._rowCount),a<this._columnCount&&(a=this._columnCount);const u=[],l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let f=0;f<s;f++){const m=[];for(let d=0;d<a;d++){let _;l===3?_=this.getValueOrDefault(0,0):l===1?_=this.getValueOrDefault(0,d):l===2?_=this.getValueOrDefault(f,0):_=this.getValueOrDefault(f,d);let C;if(c===3?C=e.getValueOrDefault(0,0):c===1?C=e.getValueOrDefault(0,d):c===2?C=e.getValueOrDefault(f,0):C=e.getValueOrDefault(f,d),_&&C)if(_.isError())m[d]=_;else if(C.isError())m[d]=C;else switch(t){case 1:m[d]=_.plus(C);break;case 0:m[d]=_.minus(C);break;case 2:m[d]=_.multiply(C);break;case 3:m[d]=_.divided(C);break;case 4:m[d]=_.mod(C);break;case 5:r?m[d]=_.compare(C,r,n):m[d]=g.create(h.VALUE);break;case 6:m[d]=_.concatenateFront(C);break;case 7:m[d]=_.concatenateBack(C);break;case 8:m[d]=_.pow(C);break;case 9:m[d]=_.round(C);break;case 12:m[d]=_.atan2(C);break;case 10:m[d]=_.floor(C);break;case 11:m[d]=_.ceil(C);break}else m[d]=g.create(h.NA)}u.push(m)}return this._createNewArray(u,s,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,n=[];let s=0;for(let a=0;a<r;a++){const l=t[a].split(","),c=l.length;s<c&&(s=c);const f=[];for(let m=0;m<c;m++){const d=l[m].trim();f.push(ht.create(d))}n.push(f)}return this._rowCount=r,this._columnCount=s,n}_createNewArray(e,t,r,n=-1,s=-1){(this._currentColumn===-1||this._currentRow===-1)&&(n=-1,s=-1);const a={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:s};return Z.create(a)}}class ht{static create(o,e=!1){if(o==null)return ce.create();if(typeof o=="boolean")return F.create(o);if(typeof o=="string"){const t=o.toLocaleUpperCase().trim();if(wt.has(t))return g.create(t);if(t===Mt.TRUE||t===Mt.FALSE)return Ln(o);if(S.isRealNum(o))return b.create(Number(o));if(!e){const{isNumberPattern:n,value:s,pattern:a}=Kc(o);if(n)return b.create(s,a)}const r=o.replace(/\n/g,"").replace(/\r/g,"");return!um(r)&&lc(r)?Z.create(r):am(o)}return typeof o=="number"?xr(o):g.create(h.VALUE)}}function um(i){const o=i.trim();return o.startsWith('"')&&o.endsWith('"')}const lm=1e4,dr=new bt(lm);class Gt extends An{constructor(e){super();A(this,"_forcedSheetId","");A(this,"_forcedSheetName","");A(this,"_defaultSheetId","");A(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_filteredOutRows",[]);A(this,"_defaultUnitId","");A(this,"_forcedUnitId","");A(this,"_runtimeData",{});A(this,"_arrayFormulaCellData",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeFeatureCellData",{});A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);A(this,"_currentRow");A(this,"_currentColumn");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:r,endColumn:n}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||n>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){const{x:e,y:t}=this.getRefOffset(),r=this.getRangeData();let{startRow:n,startColumn:s,endRow:a,endColumn:u}=S.moveRangeByOffset(r,e,t);return Number.isNaN(n)&&(n=0),Number.isNaN(s)&&(s=0),Number.isNaN(a)&&(a=this.getActiveSheetRowCount()-1),Number.isNaN(u)&&(u=this.getActiveSheetColumnCount()-1),{startRow:n,endRow:a,startColumn:s,endColumn:u}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(g.create(h.VALUE),t,n);const a=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=r;l++)for(let c=n;c<=s;c++){if(l<0||c<0)return e(g.create(h.REF),l,c);const f=this.getCellData(l,c);let m=!1;if(_n(f)){m=e(null,l,c);continue}let d=this.getCellValueObject(f);if(l===t&&c===n){const _=this.getCellPattern(a,u,l,c);if(_&&d.isNumber()){const C=Number(d.getValue());d=b.create(C,_)}}if(m=e(d,l,c),m===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return g.create(h.VALUE);const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return b.create(0);let n=this.getCellValueObject(r);const s=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(s,a,e,t);if(u&&n.isNumber()){const l=Number(n.getValue());n=b.create(l,u)}return n}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}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=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(){const e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){const e=this.getRangeData();return e.endColumn-e.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}isCurrentRowForRange(){return!1}isCurrentColumnForRange(){return!1}isMultiArea(){return!1}unionBy(e){return g.create(h.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Ic(e);if(wt.has(t))return g.create(t);if(e.t===S.CellValueType.NUMBER){const r=this._getPatternByCell(e);return S.isTextFormat(r)?x.create(t.toString()):xr(t,r)}return e.t===S.CellValueType.STRING||e.t===S.CellValueType.FORCE_STRING?x.create(t.toString()):e.t===S.CellValueType.BOOLEAN?Ln(t):ht.create(t)}_getPatternByCell(e){var n;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((n=r==null?void 0:r.n)==null?void 0:n.pattern)||""}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 r=this.getCurrentActiveSheetData(),n=this.getCurrentRuntimeSheetData(),s=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData();return(n==null?void 0:n.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(s==null?void 0:s.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){return Gi(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let r=e,n=t;const s=this.getRangeData();r||(r=s.startRow),n||(n=s.startColumn);const a=this.getCellData(r,n);return a?this.getCellValueObject(a):g.create(h.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,r,n){var l,c,f,m;const s=this._unitStylesData[e];if(!s)return"";const a=(f=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:f.getValue(r,n);if(!a)return"";const u=s.getStyleByCell(a);return((m=u==null?void 0:u.n)==null?void 0:m.pattern)||""}toArrayValueObject(e=!0){var _;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${n}_${s}`,u=dr.get(a);if(u&&e)return u;const l=r-t+1,c=s-n+1;if(l<0||c<0)return this._getBlankArrayValueObject();const f=new Array(l);this.iterator((C,E,R)=>{const y=E-t,p=R-n;f[y]||(f[y]=new Array(c)),C==null&&(C=ce.create()),f[y][p]=C});const m={calculateValueList:f,rowCount:f.length,columnCount:((_=f[0])==null?void 0:_.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:n},d=Z.create(m);return e&&dr.set(a,d),d}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 Z.create(e)}}class ho extends An{constructor(o){super(),this._promise=o}isAsyncObject(){return!0}async getValue(){return this._promise}}class go extends An{constructor(o){super(),this._promiseList=o}isAsyncArrayObject(){return!0}async getValue(){var t;const o=[];for(let r=0;r<this._promiseList.length;r++){const n=this._promiseList[r];o[r]==null&&(o[r]=[]);for(let s=0;s<n.length;s++){const a=n[s];a.isAsyncObject()?o[r][s]=await a.getValue():o[r][s]=a}}const e={calculateValueList:o,rowCount:o.length,columnCount:((t=o[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return Z.create(e)}}class vr extends Gt{constructor(o,e,t){super(""),this.setRangeData(o),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}class na extends Gt{constructor(o){super(o);const e=$t(o);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(o){if(!o.isCell())return g.create(h.REF);const e=o,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(o,e){const t=o.startRow,r=o.startColumn,n=e.startRow,s=e.startColumn,a={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>n?(a.startRow=n,a.endRow=t):(a.startRow=t,a.endRow=n),r>s?(a.startColumn=s,a.endColumn=r):(a.startColumn=r,a.endColumn=s),o.startAbsoluteRefType&&(a.startAbsoluteRefType=o.startAbsoluteRefType),e.startAbsoluteRefType&&(a.endAbsoluteRefType=e.startAbsoluteRefType),a}_createRange(o){const e=new vr(o,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:r}=this.getRefOffset();e.setRefOffset(t,r);const n=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),n!=null&&e.setForcedSheetIdDirect(n);const s=this.getForcedUnitId();return s&&e.setForcedUnitIdDirect(s),e}}class sa extends Gt{constructor(o){super(o);const e=$t(o);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:e.range.endColumn,endRow:Number.NaN,rangeType:S.RANGE_TYPE.COLUMN};this.setRangeData(t)}isColumn(){return!0}unionBy(o){if(!o.isColumn())return g.create(h.REF);const e=o;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startColumn;if(n>=t.startColumn&&n<=t.endColumn)return this;const s=t.startColumn;return n>s?t.endColumn=n:(t.startColumn=n,t.endColumn=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=S.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class aa extends Gt{constructor(o){super(o);const e=$t(o);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:e.range.endRow,rangeType:S.RANGE_TYPE.ROW};this.setRangeData(t)}isRow(){return!0}unionBy(o){if(!o.isRow())return g.create(h.REF);const e=o;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startRow;if(n>=t.startRow&&n<=t.endRow)return this;const s=t.startRow;return n>s?t.endRow=n:(t.startRow=n,t.endRow=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=S.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}function O(i,o,e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<i;a++){const u=[];for(let l=0;l<o;l++){if(r===1&&n===1){const f=e.isArray()?e.get(0,0):e;u.push(f);continue}if(r===1&&l<n){const f=e.get(0,l);u.push(f);continue}if(n===1&&a<r){const f=e.get(a,0);u.push(f);continue}if(a>=r||l>=n){u.push(t!=null?t:ce.create());continue}const c=e.get(a,l);u.push(c)}s.push(u)}return at(s,i,o)}function at(i,o,e,t="",r=""){const n={calculateValueList:i,rowCount:o,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return Z.create(n)}function ia(i){const o=[H.EQUALS,H.NOT_EQUAL,H.GREATER_THAN_OR_EQUAL,H.GREATER_THAN,H.LESS_THAN_OR_EQUAL,H.LESS_THAN];for(const e of o)if(i.startsWith(e)){const t=i.substring(e.length);return[e,ht.create(t)]}return[H.EQUALS,ht.create(i)]}function Pn(i,o,e,t){if(!e)if(o.isString()){const r=`${o.getValue()}`,[n,s]=ia(r);e=n,o=s}else e=H.EQUALS;return i.compare(o,e,t)}function cm(i,o){const e=Math.max(i.isArray()?i.getRowCount():1,o.isArray()?o.getRowCount():1),t=Math.max(i.isArray()?i.getColumnCount():1,o.isArray()?o.getColumnCount():1),r=O(e,t,i),n=O(e,t,o);return r.mapValue((s,a,u)=>{const l=n.get(a,u);return s!=null&&s.isError()?s:l!=null&&l.isError()?l:s!=null&&s.isBoolean()&&(l!=null&&l.isBoolean())?Ln(s.getValue()&&l.getValue()):F.create(!1)})}function fm(i){const o=i.getValue();let e=0;return o&&(e=1),b.create(e)}function Co(i){return i.isArray()&&i.getRowCount()===1&&i.getColumnCount()===1?!0:i.isReferenceObject()?!!(i.isCell()||i.getRowCount()===1&&i.getColumnCount()===1):(i=i,!!(i.isString()||i.isNumber()||i.isBoolean()||i.isError()||i.isNull()))}function mm(i){const o=i==null?void 0:i.getPattern();let e={},t={};if(o&&(e={s:{n:{pattern:o}}}),i!=null&&i.getCustomData()&&(t={custom:i.getCustomData()}),i==null)return{v:null,...e};if(i.isError())return{v:i.getErrorType(),t:S.CellValueType.STRING,...e,...t};if(i.isValueObject()){const r=i,n=r.getValue();return r.isNumber()?{v:n,t:S.CellValueType.NUMBER,...e,...t}:r.isBoolean()?{v:n?1:0,t:S.CellValueType.BOOLEAN,...e,...t}:r.isString()?{v:n,t:S.CellValueType.STRING,...e,...t}:r.isNull()?{v:null,...e,...t}:{v:n,t:S.CellValueType.STRING,...e,...t}}}function hm(i){let o=0,e=0;return i.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const n=t;o=Math.max(o,n.getRowCount()),e=Math.max(e,n.getColumnCount())}else o=Math.max(o,1),e=Math.max(e,1)}),{maxRowLength:o,maxColumnLength:e}}function Ir(i,o){if(i.length===0||i.length%2!==0)return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let e=null,t=-1,r=-1;if(o){if(!o.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};e=o.toArrayValueObject(),t=e.getRowCount(),r=e.getColumnCount()}let n=0,s=0,a=!1;const u=[];for(let l=0;l<i.length;l++)if(l%2===1){const c=i[l-1],f=i[l];if(!c.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};const m=c.toArrayValueObject(),d=m.getRowCount(),_=m.getColumnCount();l===1&&t===-1&&r===-1?(t=d,r=_):!a&&(t!==d||r!==_)&&(a=!0);let C=f;f.isReferenceObject()&&(C=f.toArrayValueObject()),n=Math.max(n,C.isArray()?C.getRowCount():1),s=Math.max(s,C.isArray()?C.getColumnCount():1),u.push(m),u.push(C)}return{isError:!1,errorObject:null,rangeIsDifferentSize:a,criteriaMaxRowLength:n,criteriaMaxColumnLength:s,targetRange:e,variants:u}}function oa(i){return i.isArray()?i:Z.createByArray([[i.getValue()]])}function Fr(i,o,e,t=!1){const r=[];for(let n=0;n<i.length;n++){if(n%2===1)continue;const s=i[n],a=i[n+1];O(o,e,a,g.create(h.NA)).iterator((l,c,f)=>{if(!l)return;let m=Pn(s,l);if(t&&(m=jn(m,s,l)),r[c]===void 0&&(r[c]=[]),r[c][f]===void 0){r[c][f]=m;return}r[c][f]=cm(r[c][f],m)})}return r}function jn(i,o,e){const[t,r]=ia(`${e.getValue()}`);return i.mapValue((n,s,a)=>{const u=o.get(s,a);if(u&&gm(u,r))return n;if(u!=null&&u.isError()&&r.isError()&&u.getValue()===r.getValue())return F.create(!0);if(t===H.EQUALS||t===H.NOT_EQUAL){if(u!=null&&u.isNumber()&&r.isString()){const l=r.convertToNumberObjectValue();if(l.isNumber())return u.compare(l,t)}if(r.isNumber()&&(u!=null&&u.isString())){const l=u.convertToNumberObjectValue();if(l.isNumber())return l.compare(r,t)}if(t===H.EQUALS)return F.create(!1);if(t===H.NOT_EQUAL)return F.create(!0)}return F.create(!1)})}function gm(i,o){if(i.isNumber()&&o.isNumber()||i.isBoolean()&&o.isBoolean())return!0;const e=i.isString()&&i.getValue()==="",t=o.isString()&&o.getValue()==="";return!!((e||i.isNull())&&(t||o.isNull())||i.isString()&&!e&&o.isString()&&!t)}var Br=(i=>(i[i.CELL=0]="CELL",i[i.COLUMN=1]="COLUMN",i[i.ROW=2]="ROW",i))(Br||{});function dm(i,o){let e;switch(o){case 1:e=new sa(i);break;case 2:e=new aa(i);break;default:e=new na(i);break}return e}function Cm(i,o){let e;return i.isCell()&&o.isCell()||i.isRow()&&o.isRow()||i.isColumn()&&o.isColumn()?e=i.unionBy(o):e=g.create(h.NAME),e}var _m=Object.getOwnPropertyDescriptor,Am=(i,o,e,t)=>{for(var r=t>1?void 0:t?_m(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Em=(i,o)=>(e,t)=>o(e,t,i);w.HyperlinkEngineFormulaService=class extends S.Disposable{constructor(o){super(),this._univerInstanceService=o}generateCellValue(o,e){if(e.trim()==="")return{v:""};let t=o;if(o.startsWith("#")&&Cs(o.slice(1))){const{unitId:r,sheetName:n,range:s}=lr(o.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(S.UniverInstanceType.UNIVER_SHEET);if(r===""||r===a.getUnitId())if(n==="")t=`#gid=${a.getActiveSheet().getSheetId()}&range=${yt(s)}`;else{const u=a.getSheetBySheetName(n);u&&(t=`#gid=${u.getSheetId()}&range=${yt(s)}`)}}else S.Tools.isLegalUrl(o)&&(t=S.Tools.normalizeUrl(o));return{p:S.RichTextBuilder.create().insertLink(e,t).getData()}}},w.HyperlinkEngineFormulaService=Am([Em(0,S.IUniverInstanceService)],w.HyperlinkEngineFormulaService);const ua=S.createIdentifier("univer.formula.hyperlink-engine-formula.service");var Rm=Object.getOwnPropertyDescriptor,ym=(i,o,e,t)=>{for(var r=t>1?void 0:t?Rm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},_o=(i,o)=>(e,t)=>o(e,t,i),qe=(i=>(i[i.IDLE=0]="IDLE",i[i.START=1]="START",i[i.START_DEPENDENCY=2]="START_DEPENDENCY",i[i.START_CALCULATION=3]="START_CALCULATION",i[i.CURRENTLY_CALCULATING=4]="CURRENTLY_CALCULATING",i[i.START_DEPENDENCY_ARRAY_FORMULA=5]="START_DEPENDENCY_ARRAY_FORMULA",i[i.START_CALCULATION_ARRAY_FORMULA=6]="START_CALCULATION_ARRAY_FORMULA",i[i.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]="CURRENTLY_CALCULATING_ARRAY_FORMULA",i[i.CALCULATION_COMPLETED=8]="CALCULATION_COMPLETED",i))(qe||{}),Cr=(i=>(i[i.INITIAL=0]="INITIAL",i[i.STOP_EXECUTION=1]="STOP_EXECUTION",i[i.NOT_EXECUTED=2]="NOT_EXECUTED",i[i.SUCCESS=3]="SUCCESS",i))(Cr||{});w.FormulaRuntimeService=class extends S.Disposable{constructor(e,t){super();A(this,"_formulaExecuteStage",0);A(this,"_stopState",!1);A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_currentRowCount",Number.NEGATIVE_INFINITY);A(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);A(this,"_currentSubUnitId","");A(this,"_currentUnitId","");A(this,"_runtimeData",{});A(this,"_runtimeOtherData",{});A(this,"_unitArrayFormulaRange",{});A(this,"_unitArrayFormulaEmbeddedMap",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeClearArrayFormulaCellData",{});A(this,"_runtimeFeatureRange",{});A(this,"_runtimeFeatureCellData",{});A(this,"_runtimeImageFormulaData",[]);A(this,"_functionsExecutedState",0);A(this,"_functionDefinitionPrivacyVar",new Map);A(this,"_totalFormulasToCalculate",0);A(this,"_completedFormulasCount",0);A(this,"_totalArrayFormulasToCalculate",0);A(this,"_completedArrayFormulasCount",0);A(this,"_formulaCycleIndex",0);A(this,"_isCycleDependency",!1);A(this,"_dependencyTreeModelData",[]);this._currentConfigService=e,this._hyperlinkEngineFormulaService=t}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(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}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._unitArrayFormulaEmbeddedMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._runtimeImageFormulaData=[],this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){Gc(),Zc(),Vc()}setCurrent(e,t,r,n,s,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=n,this._currentSubUnitId=s,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,r,n){const s=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});const u=this._runtimeOtherData[a];(u[s]===void 0||u[s]===null)&&(u[s]={});const l=u[s];let c=[];if(n.isReferenceObject()||n.isValueObject()&&n.isArray()){const f=n,{startRow:m,startColumn:d}=f.getRangePosition();f.iterator((_,C,E)=>{const R=this._getValueObjectOfRuntimeData(_),y=C-m,p=E-d;c[y]==null&&(c[y]=[]),c[y][p]=R})}else c=[[this._getValueObjectOfRuntimeData(n)]];(l[e]===void 0||l[e]===null)&&(l[e]={}),(l[e][r]===void 0||l[e][r]===null)&&(l[e][r]={}),l[e][r][t]=c}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,n=this._currentRowCount,s=this.currentColumnCount,a=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[a]==null&&(l[a]=new S.ObjectMatrix);const c=l[a];this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const f=this._unitArrayFormulaRange[u];(f[a]===null||f[a]===void 0)&&(f[a]={});const m=new S.ObjectMatrix(f[a]);this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const d=this._runtimeArrayFormulaCellData[u];d[a]==null&&(d[a]=new S.ObjectMatrix);const _=d[a];this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const C=this._runtimeClearArrayFormulaCellData[u];C[a]==null&&(C[a]=new S.ObjectMatrix);const E=C[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const R=e,{startRow:y,startColumn:p,endRow:N,endColumn:M}=R.getRangePosition();if(y===N&&p===M){const L=R.getFirstCell(),P=this._getValueObjectOfRuntimeData(L);c.setValue(t,r,P),E.setValue(t,r,P),Ge.set(u,a,r,L.getValue(),t,!0);return}const D={startRow:t,startColumn:r,endRow:N-y+t,endColumn:M-p+r};if(m.setValue(t,r,D),this._checkIfArrayFormulaRangeHasData(u,a,t,r,D)||this._checkIfArrayFormulaExceeded(n,s,D)){const L=this._getValueObjectOfRuntimeData(g.create(h.SPILL));c.setValue(t,r,L),E.setValue(t,r,L),Ge.set(u,a,r,h.SPILL,t,!0);const P=this._currentConfigService.getUnitData();R.iterator((j,I,v)=>{var te,W;const Y=I-y+t,Q=v-p+r,se=(W=(te=P[u])==null?void 0:te[a])==null?void 0:W.cellData.getValue(Y,Q);if(I===y&&v===p)_.setValue(t,r,L);else if(se!=null)se.v==null&&(se.v=""),_.setValue(Y,Q,se);else{if(this._isInOtherArrayFormulaRange(u,a,t,r,Y,Q))return!0;_.setValue(Y,Q,{v:""})}})}else{const L=g.create(h.SPILL);R.iterator((P,j,I)=>{Ge.set(u,a,r-p+I,P?P.getValue():0,t-y+j,!0);const v=this._getValueObjectOfRuntimeData(P);if(j===y&&I===p){if(P!=null&&P.isError()&&P.isEqualType(L))return E.setValue(t,r,{}),c.setValue(t,r,{...this._getValueObjectOfRuntimeData(L)}),!1;c.setValue(t,r,{...v})}const Y=j-y+t,Q=I-p+r;_.setValue(Y,Q,v)})}}else{const R=this._getValueObjectOfRuntimeData(e);if(c.setValue(t,r,R),e.isString()&&e.isImage()){const y=e.getImageInfo();y&&this._runtimeImageFormulaData.push({...y,unitId:u,sheetId:a,row:t,column:r})}Ge.set(u,a,r,e.getValue(),t,!0),E.setValue(t,r,R)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):mm(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){const e=this._currentUnitId,t=this._currentSubUnitId,r=this._currentRow,n=this._currentColumn,s=this._unitArrayFormulaEmbeddedMap;s[e]==null&&(s[e]={}),s[e][t]==null&&(s[e][t]={}),s[e][t][r]==null&&(s[e][t][r]={}),s[e][t][r][n]=!0}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}setDependencyTreeModelData(e){this._dependencyTreeModelData=e}getDependencyTreeModelData(){return this._dependencyTreeModelData}getRuntimeImageFormulaData(){return this._runtimeImageFormulaData}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),arrayFormulaEmbedded:this.getUnitArrayFormulaEmbeddedMap(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),imageFormulaData:this.getRuntimeImageFormulaData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData(),dependencyTreeModelData:this.getDependencyTreeModelData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}clearArrayObjectCache(){dr.clear()}_checkIfArrayFormulaRangeHasData(e,t,r,n,s){var d,_,C,E,R,y,p,N,M,D,L;const{startRow:a,startColumn:u,endRow:l,endColumn:c}=s,f=this._currentConfigService.getUnitData(),m=this._currentConfigService.getArrayFormulaCellData();(C=(_=(d=this._unitArrayFormulaRange[e])==null?void 0:d[t])==null?void 0:_[r])==null||C[n];for(let P=a;P<=l;P++)for(let j=u;j<=c;j++){if(P===r&&n===j)continue;const I=(y=(R=(E=this._runtimeData)==null?void 0:E[e])==null?void 0:R[t])==null?void 0:y.getValue(P,j);(N=(p=m==null?void 0:m[e])==null?void 0:p[t])==null||N.getValue(P,j);const v=(L=(D=(M=f==null?void 0:f[e])==null?void 0:M[t])==null?void 0:D.cellData)==null?void 0:L.getValue(P,j),Y=this._getRuntimeFeatureCellValue(P,j,t,e);if(!_n(I)||this._isInOtherArrayFormulaRange(e,t,r,n,P,j)||!_n(v)||!_n(Y))return!0}return!1}_getRuntimeFeatureCellValue(e,t,r,n){return Gi(e,t,r,n,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,r,n,s,a){var f;const u=(f=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:f[t];if(u==null)return!1;let l=!1;return new S.ObjectMatrix(u).forValue((m,d,_)=>{var R,y;if(m===r&&d===n)return;const C=this._isInArrayFormulaRange(_,s,a),E=(y=(R=this._runtimeData[e])==null?void 0:R[t])==null?void 0:y.getValue(m,d);C&&(E==null?void 0:E.v)!==h.SPILL&&(l=!0)}),l}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:n,startColumn:s,endRow:a,endColumn:u}=e;return t>=n&&t<=a&&r>=s&&r<=u}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,n){const s=this._currentConfigService.getDirtyRanges();return s.length===0?!0:ti(s,e,t,r,n)}},w.FormulaRuntimeService=ym([_o(0,pt),_o(1,ua)],w.FormulaRuntimeService);const it=S.createIdentifier("univer.formula.runtime.service");var ue=(i=>(i[i.REFERENCE=1]="REFERENCE",i[i.VALUE=2]="VALUE",i[i.OPERATOR=3]="OPERATOR",i[i.FUNCTION=4]="FUNCTION",i[i.LAMBDA=5]="LAMBDA",i[i.LAMBDA_PARAMETER=6]="LAMBDA_PARAMETER",i[i.ERROR=7]="ERROR",i[i.BASE=8]="BASE",i[i.ROOT=9]="ROOT",i[i.UNION=10]="UNION",i[i.PREFIX=11]="PREFIX",i[i.SUFFIX=12]="SUFFIX",i[i.NULL=13]="NULL",i))(ue||{});const gt=new Map([[1,7],[2,9],[3,8],[4,6],[5,1],[6,2],[9,10],[10,3],[11,4],[12,5]]);class Ye{constructor(o){A(this,"_children",[]);A(this,"_definedNames");A(this,"_parent");A(this,"_valueObject");A(this,"_calculateState",!1);A(this,"_async",!1);A(this,"_address",!1);A(this,"_isForcedCalculateFunction",!1);this._token=o}dispose(){var o;this._children.forEach(e=>{e.dispose()}),(o=this._valueObject)==null||o.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return ue.BASE}resetCalculationState(){this._children.forEach(o=>{o.resetCalculationState()}),this._valueObject=null,this._calculateState=!1}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(o){this._parent=o,o.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...o){this._children.push(...o)}getToken(){return this._token}setValue(o){this._valueObject=o}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(o=!0){}async executeAsync(){return Promise.resolve(Dt.SUCCESS)}serialize(){const o=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];t.push(a.serialize())}const n={token:o,nodeType:this.nodeType};return r>0&&(n.children=t),n}hasDefinedName(o){var e;return((e=this._definedNames)==null?void 0:e.includes(o))||!1}setDefinedNames(o){this._definedNames=o}getDefinedNames(){return this._definedNames}}class je extends Ye{constructor(e){super(e);A(this,"_errorValueObject");this._errorValueObject=g.create(e)}get nodeType(){return ue.ERROR}static create(e){return new je(e)}getValue(){return this._errorValueObject}}const dt=100;class Ct{get zIndex(){return 0}dispose(){}create(o,e,t){let r;return o instanceof oe?r=o.getToken():r=o,new Ye(r)}}class la extends Ye{get nodeType(){return ue.ROOT}execute(){const o=this.getChildren();if(o.length>1){this.setValue(g.create(h.VALUE));return}const e=o[0];e==null?this.setValue(g.create(h.VALUE)):this.setValue(e.getValue())}}class ca extends Ct{get zIndex(){return gt.get(ue.ROOT)||dt}checkAndCreateNodeType(o){if(!(o instanceof oe))return;if(o.getToken()===Rt)return new la(Rt)}}const bm=5e3,kr=new bt(bm);function fa(i,o,e,t,r){let n=kr.get(`${i}${o}`);if(n&&!Ao(n,r))return n;const s=e.treeBuilder(o);return wt.has(s)?je.create(s):(n=t.parse(s),n==null?(console.error("generateAstNode astNode is null"),je.create(s)):(kr.set(`${i}${o}`,n),n))}function Ao(i,o){const e=o.getDirtyDefinedNameMap(),t=o.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let n=0,s=r.length;n<s;n++){const a=r[n];if(i.hasDefinedName(a))return!0}}return!1}function pm(i,o,e){return!!(o!=null&&Ao(o,e))}const Ot=S.createIdentifier("univer.formula-function.service");class Eo extends S.Disposable{constructor(){super(...arguments);A(this,"_functionExecutors",new Map);A(this,"_functionDescriptions",new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}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 r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return S.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.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 r=e[t];this._functionDescriptions.delete(r)}}deleteFormulaAstCacheKey(...e){kr.forEach((t,r)=>{e.forEach(n=>{r.includes(n)&&kr.delete(r)})})}}var Ie=(i=>(i.COMPARE="COMPARE",i.DIVIDED="DIVIDED",i.MINUS="MINUS",i.MULTIPLY="MULTIPLY",i.PLUS="PLUS",i.UNION="UNION",i.CUBE="CUBE",i))(Ie||{}),Nm=Object.getOwnPropertyDescriptor,Vm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Nm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ro=(i,o)=>(e,t)=>o(e,t,i);class Tn extends Ye{constructor(o,e,t){super(e),this._runtimeService=o,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ue.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error("PrefixNode execute value is null"),this.setValue(g.create(h.VALUE));return}this._operatorString===De.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(b.create(0),e)):this._operatorString===De.AT?t=this._handlerAT(e):t=g.create(h.VALUE),this.setValue(t)}_handlerAT(o){if(!o.isReferenceObject())return g.create(h.VALUE);const e=o;if(e.isCell())return g.create(h.VALUE);const t=this._runtimeService,r=t.currentRow||0,n=t.currentColumn||0,s=e.getRangePosition(),{startRow:a,startColumn:u,endRow:l,endColumn:c}=s;return c!==u&&l!==a||a===l&&u===c?g.create(h.VALUE):l===a&&n>=u&&n<=c?e.getCellByColumn(n):u===c&&r>=a&&r<=l?e.getCellByRow(r):e.isTable()?e.getCellByPosition(r):g.create(h.VALUE)}}w.PrefixNodeFactory=class extends Ct{constructor(o,e){super(),this._functionService=o,this._runtimeService=e}get zIndex(){return gt.get(ue.PREFIX)||dt}checkAndCreateNodeType(o){if(!(o instanceof oe))return;const e=o.getToken(),t=e.trim();if(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')return;let r="";if(t===De.MINUS)r=Ie.MINUS;else return t===De.AT?new Tn(this._runtimeService,t):void 0;const n=this._functionService.getExecutor(r);return n?new Tn(this._runtimeService,t,n):(console.error(`No function ${e}`),je.create(h.NAME))}},w.PrefixNodeFactory=Vm([Ro(0,Ot),Ro(1,it)],w.PrefixNodeFactory);function yo(i,o,e){let t,r,n=i;const s=n[0];let a=0;if(s===De.MINUS){const u=o.getExecutor(Ie.MINUS);t=new Tn(e,De.MINUS,u),a++}else s===De.AT&&(r=new Tn(e,De.AT),t&&r.setParent(t),a++);return a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var Om=Object.getOwnPropertyDescriptor,Sm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Om(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},_r=(i,o)=>(e,t)=>o(e,t,i);class Mm extends Ye{constructor(o,e,t,r,n,s){super(o),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=n,this._formulaDataModel=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return ue.FUNCTION}async executeAsync(){const o=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const u=e[s].getValue();u!=null&&(u.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?o.push(u.toArrayValueObject()):o.push(u))}const r=await this._calculateAsync(o);let n;return r.isAsyncObject()||r.isAsyncArrayObject()?n=await r.getValue():n=r,this._setEmbeddedArrayFormulaToResult(n),this._setRefData(n),this.setValue(n),Promise.resolve(Dt.SUCCESS)}execute(){const o=[],e=this.getChildren(),t=e.length;this._compatibility();for(let n=0;n<t;n++){const a=e[n].getValue();a!=null&&(a.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(a),a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?o.push(a.toArrayValueObject()):o.push(a))}const r=this._calculate(o);this._setEmbeddedArrayFormulaToResult(r),this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_setEmbeddedArrayFormulaToResult(o){if(!o.isArray())return;const e=o.getRowCount(),t=o.getColumnCount();e<=1&&t<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const o=this.getChildren(),e=o.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=o[1].getValue(),r=o[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let n,s;if(t!=null&&t.isReferenceObject()){const _=t.getRangeData(),{startRow:C,startColumn:E,endRow:R,endColumn:y}=_;n=R-C+1,s=y-E+1}else n=t!=null&&t.isArray()?t.getRowCount():1,s=t!=null&&t.isArray()?t.getColumnCount():1;const a=r.getRangeData(),{startRow:u,startColumn:l,endRow:c,endColumn:f}=a,m=c-u+1,d=f-l+1;n!==m&&(a.endRow+=n-m),s!==d&&(a.endColumn+=s-d)}_handleCustomResult(o){var t;if(typeof o!="object"||o==null)return ht.create(o);const e=mo(o);return Z.create({calculateValueList:e,rowCount:e.length,columnCount:((t=e[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(o){return o.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(o){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(o.length<e||o.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(o));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...o);return r}async _calculateAsync(o){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(o.length<e||o.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(o));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...o);return r}_setDefinedNamesForFunction(){const o=this._currentConfigService.getExecuteUnitId();if(o==null)return;const e=this._definedNamesService.getDefinedNameMap(o);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:o,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(o,e,t,r),this._functionExecutor.needsSheetRowColumnCount){const{rowCount:n,columnCount:s}=this._currentConfigService.getSheetRowColumnCount(o,e);this._functionExecutor.setSheetRowColumnCount(n,s)}}_setRefData(o){if(!o.isReferenceObject())return;const e=o;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())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(o){const{startRow:e,endRow:t}=o.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(o.getUnitId(),o.getSheetId(),e,t);o.setFilteredOutRows(r)}}class Dm extends Ye{constructor(o="Error"){super(o)}get nodeType(){return ue.FUNCTION}async executeAsync(){return this.setValue(g.create(h.NAME)),Promise.resolve(Dt.SUCCESS)}execute(){this.setValue(g.create(h.NAME))}}w.FunctionNodeFactory=class extends Ct{constructor(o,e,t,r,n,s){super(),this._functionService=o,this._currentConfigService=e,this._runtimeService=t,this._definedNamesService=r,this._injector=n,this._formulaDataModel=s}get zIndex(){return gt.get(ue.FUNCTION)||dt}create(o){const e=this._functionService.getExecutor(o);return e?new Mm(o,e,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${o}`),je.create(h.NAME))}checkAndCreateNodeType(o){if(typeof o=="string")return;const e=o.getToken(),{tokenTrim:t,minusPrefixNode:r,atPrefixNode:n}=yo(e.trim(),this._functionService,this._runtimeService);if(!Number.isNaN(Number(t))&&!this._isParentUnionNode(o))return je.create(h.VALUE);const s=t.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return n?a.setParent(n):r&&a.setParent(r),a}}_isParentUnionNode(o){var e,t;return((t=(e=o.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken())===K.COLON}},w.FunctionNodeFactory=Sm([_r(0,Ot),_r(1,pt),_r(2,it),_r(3,kt),_r(4,S.Inject(S.Injector)),_r(5,S.Inject(w.FormulaDataModel))],w.FunctionNodeFactory);var wm=Object.getOwnPropertyDescriptor,Lm=(i,o,e,t)=>{for(var r=t>1?void 0:t?wm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Pm=(i,o)=>(e,t)=>o(e,t,i);w.Interpreter=class extends S.Disposable{constructor(o){super(),this._runtimeService=o}async executeAsync(o){if(!o||!o.node)return Promise.resolve(g.create(h.VALUE));const e=o.node,t=o.refOffsetX,r=o.refOffsetY;await this._executeAsync(e,t,r);const n=e.getValue();return n==null?Promise.resolve(g.create(h.VALUE)):Promise.resolve(n)}execute(o){if(!o||!o.node)return g.create(h.VALUE);const e=o.node,t=o.refOffsetX,r=o.refOffsetY;this._execute(e,t,r);const n=e.getValue();return n==null?g.create(h.VALUE):n}executePreCalculateNode(o){return o.execute(),o.getValue()}checkAsyncNode(o){if(o==null)return!1;const e=[];this._checkAsyncNode(o,e);for(let t=0,r=e.length;t<r;t++)if(e[t]===!0)return!0;return!1}_checkAsyncNode(o,e){const t=o.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];e.push(s.isAsync()),this._checkAsyncNode(s,e)}}async _executeAsync(o,e=0,t=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Dt.ERROR);const r=o.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===ur&&a.isEmptyParamFunction()){a.execute();continue}await this._executeAsync(a,e,t)}return o.nodeType===ue.REFERENCE&&o.setRefOffset(e,t),o.nodeType===ue.FUNCTION&&o.isAsync()?await o.executeAsync():o.execute(),Promise.resolve(Dt.SUCCESS)}_execute(o,e=0,t=0){if(this._runtimeService.isStopExecution())return Dt.ERROR;const r=o.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===ur&&a.isEmptyParamFunction()){a.execute();continue}this._execute(a,e,t)}return o.nodeType===ue.REFERENCE&&o.setRefOffset(e,t),o.execute(),Dt.SUCCESS}},w.Interpreter=Lm([Pm(0,it)],w.Interpreter);function bo(i){return i instanceof oe?i.getToken()===Bt:!1}function jm(i){return i instanceof oe?i.getToken()===Ni:!1}function ma(i,o,e){const t=i.getChildren(),r=t.length,n=t[0];for(let s=0;s<r;s++){const a=t[s];if(!(bo(n)&&s!==0))if(a instanceof oe)ma(a,o,e);else{const u=a.trim();if(e.has(u)){const l=new oe;l.setToken(Mr),l.setLambdaId(o),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[s]=l}}}}function Tm(i){let o=i;for(;o!=null&&o.getParent();)o=o.getParent();return o}function ha(i,o=0,e=0){return{node:i,refOffsetX:o,refOffsetY:e}}function po(i){if(!i)return;if(i.getToken()!==Mr)return i;const o=i,e=o.getCurrentLambdaPrivacyVar(),t=o.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&i.getValue()?i:po(r)}class Un extends Nt{constructor(e,t,r){super(0);A(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new Un(e,t,r)}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return g.create(h.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new ho(this._interpreter.executeAsync(ha(this._lambdaNode)));else{const n=this._interpreter.execute(ha(this._lambdaNode));n.isReferenceObject()?r=n.toArrayValueObject():r=n}return this._lambdaNode.setNotEmpty(!0),r}executeCustom(...e){const t=e.map(r=>ht.create(r));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;const t=e.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];if(s.getToken()===Mr){const u=s.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)s.setValue(l);else{const c=s.getCurrentLambdaPrivacyVar(),f=po(c.get(u));f!=null&&s.setValue(f.getValue())}continue}this._setLambdaNodeValue(s)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],n=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(n,r)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}}var Um=Object.getOwnPropertyDescriptor,xm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Um(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},No=(i,o)=>(e,t)=>o(e,t,i);class vm extends Ye{constructor(e,t,r,n,s){super(e);A(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=n,this._runtimeService=s}get nodeType(){return ue.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(Un.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}}w.LambdaNodeFactory=class extends Ct{constructor(o,e){super(),this._runtimeService=o,this._interpreter=e}get zIndex(){return gt.get(ue.LAMBDA)||dt}create(o){const e=o.getChildren(),t=e[0];let r=e.slice(1,-1);const n=e[e.length-1];if(!(t instanceof oe&&n instanceof oe))return je.create(h.NAME);if(t.getToken()===Bt){const u=t.getChildren();if(r.length!==u.length)return je.create(h.VALUE)}else r=e.slice(0,-1);const s=S.generateRandomId(8),a=new Map;for(let u=0;u<r.length;u++){const l=r[u];if(l instanceof oe){const c=l.getChildren()[0];l.setToken(Ni),a.set(c.trim(),void 0)}else return je.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(n,s,a),new vm(o.getToken(),s,this._interpreter,[...a.keys()],this._runtimeService)}checkAndCreateNodeType(o){if(!(!(o instanceof oe)||o.getToken().trim().toUpperCase()!==ur))return this.create(o)}_updateLambdaStatement(o,e,t){ma(o,e,t)}},w.LambdaNodeFactory=xm([No(0,it),No(1,S.Inject(w.Interpreter))],w.LambdaNodeFactory);function Vo(i){if(!i)return;if(i.getToken()!==Mr)return i;const o=i,e=o.getCurrentLambdaPrivacyVar(),t=o.getLambdaParameter();if(e)return Vo(e.get(t))}class Im extends Ye{constructor(o,e,t){super(o),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ue.LAMBDA_PARAMETER}execute(){const o=Vo(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(o)this.setValue(o.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(g.create(h.NAME))}}}class ga extends Ct{get zIndex(){return gt.get(ue.LAMBDA_PARAMETER)||dt}create(o){const e=o.getFunctionDefinitionPrivacyVar(),t=o.getLambdaParameter();return e?new Im(o.getToken(),t,e):new je(h.NAME)}checkAndCreateNodeType(o){if(!(!(o instanceof oe)||o.getToken().trim()!==Mr))return this.create(o)}}class Fm extends Ye{constructor(o){super(o),this._operatorString=o}get nodeType(){return ue.NULL}execute(){this.setValue(ce.create())}}var $=(i=>(i.ABS="ABS",i.ACOS="ACOS",i.ACOSH="ACOSH",i.ACOT="ACOT",i.ACOTH="ACOTH",i.AGGREGATE="AGGREGATE",i.ARABIC="ARABIC",i.ASIN="ASIN",i.ASINH="ASINH",i.ATAN="ATAN",i.ATAN2="ATAN2",i.ATANH="ATANH",i.BASE="BASE",i.CEILING="CEILING",i.CEILING_MATH="CEILING.MATH",i.CEILING_PRECISE="CEILING.PRECISE",i.COMBIN="COMBIN",i.COMBINA="COMBINA",i.COS="COS",i.COSH="COSH",i.COT="COT",i.COTH="COTH",i.CSC="CSC",i.CSCH="CSCH",i.DECIMAL="DECIMAL",i.DEGREES="DEGREES",i.EVEN="EVEN",i.EXP="EXP",i.FACT="FACT",i.FACTDOUBLE="FACTDOUBLE",i.FLOOR="FLOOR",i.FLOOR_MATH="FLOOR.MATH",i.FLOOR_PRECISE="FLOOR.PRECISE",i.GCD="GCD",i.INT="INT",i.ISO_CEILING="ISO.CEILING",i.LCM="LCM",i.LET="LET",i.LN="LN",i.LOG="LOG",i.LOG10="LOG10",i.MDETERM="MDETERM",i.MINVERSE="MINVERSE",i.MMULT="MMULT",i.MOD="MOD",i.MROUND="MROUND",i.MULTINOMIAL="MULTINOMIAL",i.MUNIT="MUNIT",i.ODD="ODD",i.PI="PI",i.POWER="POWER",i.PRODUCT="PRODUCT",i.QUOTIENT="QUOTIENT",i.RADIANS="RADIANS",i.RAND="RAND",i.RANDARRAY="RANDARRAY",i.RANDBETWEEN="RANDBETWEEN",i.ROMAN="ROMAN",i.ROUND="ROUND",i.ROUNDBANK="ROUNDBANK",i.ROUNDDOWN="ROUNDDOWN",i.ROUNDUP="ROUNDUP",i.SEC="SEC",i.SECH="SECH",i.SERIESSUM="SERIESSUM",i.SEQUENCE="SEQUENCE",i.SIGN="SIGN",i.SIN="SIN",i.SINH="SINH",i.SQRT="SQRT",i.SQRTPI="SQRTPI",i.SUBTOTAL="SUBTOTAL",i.SUM="SUM",i.SUMIF="SUMIF",i.SUMIFS="SUMIFS",i.SUMPRODUCT="SUMPRODUCT",i.SUMSQ="SUMSQ",i.SUMX2MY2="SUMX2MY2",i.SUMX2PY2="SUMX2PY2",i.SUMXMY2="SUMXMY2",i.TAN="TAN",i.TANH="TANH",i.TRUNC="TRUNC",i))($||{}),J=(i=>(i.ASC="ASC",i.ARRAYTOTEXT="ARRAYTOTEXT",i.BAHTTEXT="BAHTTEXT",i.CHAR="CHAR",i.CLEAN="CLEAN",i.CODE="CODE",i.CONCAT="CONCAT",i.CONCATENATE="CONCATENATE",i.DBCS="DBCS",i.DOLLAR="DOLLAR",i.EXACT="EXACT",i.FIND="FIND",i.FINDB="FINDB",i.FIXED="FIXED",i.LEFT="LEFT",i.LEFTB="LEFTB",i.LEN="LEN",i.LENB="LENB",i.LOWER="LOWER",i.MID="MID",i.MIDB="MIDB",i.NUMBERSTRING="NUMBERSTRING",i.NUMBERVALUE="NUMBERVALUE",i.PHONETIC="PHONETIC",i.PROPER="PROPER",i.REGEXEXTRACT="REGEXEXTRACT",i.REGEXMATCH="REGEXMATCH",i.REGEXREPLACE="REGEXREPLACE",i.REPLACE="REPLACE",i.REPLACEB="REPLACEB",i.REPT="REPT",i.RIGHT="RIGHT",i.RIGHTB="RIGHTB",i.SEARCH="SEARCH",i.SEARCHB="SEARCHB",i.SUBSTITUTE="SUBSTITUTE",i.T="T",i.TEXT="TEXT",i.TEXTAFTER="TEXTAFTER",i.TEXTBEFORE="TEXTBEFORE",i.TEXTJOIN="TEXTJOIN",i.TEXTSPLIT="TEXTSPLIT",i.TRIM="TRIM",i.UNICHAR="UNICHAR",i.UNICODE="UNICODE",i.UPPER="UPPER",i.VALUE="VALUE",i.VALUETOTEXT="VALUETOTEXT",i.CALL="CALL",i.EUROCONVERT="EUROCONVERT",i.REGISTER_ID="REGISTER.ID",i))(J||{}),Bm=Object.getOwnPropertyDescriptor,km=(i,o,e,t)=>{for(var r=t>1?void 0:t?Bm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Oo=(i,o)=>(e,t)=>o(e,t,i);class $m extends Ye{constructor(o,e,t){super(o),this._functionExecutor=e,this._runtimeService=t}get nodeType(){return ue.OPERATOR}execute(){const o=this.getChildren();this._functionExecutor.name===Ie.COMPARE&&this._functionExecutor.setCompareType(this.getToken());const e=o[0],t=o[1];let r=e==null?void 0:e.getValue(),n=t==null?void 0:t.getValue();const s=this.getToken();if((r==null||n==null)&&s!==z.MINUS&&s!==z.PLUS){this.setValue(g.create(h.VALUE));return}r==null&&(r=ce.create()),n==null&&(n=ce.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject());const a=this._functionExecutor.calculate(r,n);this._setEmbeddedArrayFormulaToResult(a),this.setValue(a)}_setEmbeddedArrayFormulaToResult(o){if(!o.isArray())return;const e=o.getRowCount(),t=o.getColumnCount();e<=1&&t<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}}w.OperatorNodeFactory=class extends Ct{constructor(o,e){super(),this._functionService=o,this._runtimeService=e}get zIndex(){return gt.get(ue.OPERATOR)||dt}create(o){let e="";const t=o;t===z.PLUS?e=Ie.PLUS:t===z.MINUS?e=Ie.MINUS:t===z.MULTIPLY?e=Ie.MULTIPLY:t===z.DIVIDED?e=Ie.DIVIDED:t===z.CONCATENATE?e=J.CONCATENATE:t===z.POWER?e=$.POWER:Il.has(t)&&(e=Ie.COMPARE);const r=this._functionService.getExecutor(e);return r?new $m(t,r,this._runtimeService):(console.error(`No function ${o}`),je.create(h.NAME))}checkAndCreateNodeType(o){if(o instanceof oe)return;const e=o.trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&ct.has(e))return this.create(e)}},w.OperatorNodeFactory=km([Oo(0,Ot),Oo(1,it)],w.OperatorNodeFactory);class Ym extends Gt{constructor(e,t,r,n){super(e);A(this,"_isCurrentRowForRange",!1);this._tableData=t,this._columnDataString=r,this._tableOptionMap=n;const{sheetId:s,range:a,titleMap:u}=this._tableData;this.setForcedSheetIdDirect(s);const{startColumn:l,endColumn:c,type:f}=this._parseStructuredRef(this._columnDataString,u),m=a.startRow,d=a.endRow;let _=-1,C=-1;switch(f){case Me.ALL:_=m,C=d;break;case Me.DATA:_=m+1,C=d;break;case Me.HEADERS:_=m,C=m;break;case Me.TOTALS:_=d,C=d;break;case Me.THIS_ROW:{const E=this._resolveThisRow(m,d);_=E,C=E;break}default:_=m+1,C=d;break}this.setRangeData({startColumn:l,endColumn:c,startRow:_,endRow:C})}getRangeData(){const e=super.getRangeData();if(this._isCurrentRowForRange){const{startRow:t,startColumn:r,endRow:n,endColumn:s}=e,a=this.getCurrentRow();return{startRow:a==null?t:a,endRow:a==null?n:a,startColumn:r,endColumn:s}}return e}getRefOffset(){return{x:0,y:0}}isTable(){return!0}isCurrentRowForRange(){return this._isCurrentRowForRange}setForcedSheetId(e){}_parseStructuredRef(e,t){var C,E;const{range:r}=this._tableData,n=(C=r.startColumn)!=null?C:0,s=(E=r.endColumn)!=null?E:0;if(!e||e.trim().length===0)return{startColumn:n,endColumn:s,type:Me.DATA};const a=e.trim();if(a[0]!=="["){const R=this._mapSection(a);if(R!==void 0)return{startColumn:n,endColumn:s,type:R};const{startColumn:y,endColumn:p}=this._parseColumnOrRange(a,t,n);return{startColumn:y,endColumn:p,type:Me.DATA}}const u=this._stripOuterBracketOnce(a),l=this._findCommaAtTopLevel(u);if(u.length===0)return{startColumn:n,endColumn:s,type:Me.DATA};if(l===-1){if(u.startsWith("#")){const p=this._mapSection(u);return p!==void 0?{startColumn:n,endColumn:s,type:p}:{startColumn:n,endColumn:s,type:Me.DATA}}const{startColumn:R,endColumn:y}=this._parseColumnOrRange(u,t,n);return{startColumn:R,endColumn:y,type:Me.DATA}}const c=u.slice(0,l).trim(),f=u.slice(l+1).trim(),m=this._parseSectionMaybeBracketed(c),{startColumn:d,endColumn:_}=this._parseColumnOrRange(f,t,n);return{startColumn:d,endColumn:_,type:m}}_stripOuterBracketOnce(e){return e.length>=2&&e[0]==="["&&e[e.length-1]==="]"?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(n==="[")t++;else if(n==="]")t=Math.max(0,t-1);else if(n===K.COMMA&&t===0)return r}return-1}_parseSectionMaybeBracketed(e){const t=e.trim(),r=t.startsWith("[")&&t.endsWith("]")?this._stripOuterBracketOnce(t):t,n=this._mapSection(r);return n!=null?n:Me.DATA}_mapSection(e){const t=e.trim();if(!t.startsWith("#"))return;const r=this._tableOptionMap.get(t);if(r!==void 0)return r;const n=t.replace(/\s+/g," ").toLowerCase();for(const[s,a]of this._tableOptionMap.entries())if(s.replace(/\s+/g," ").toLowerCase()===n)return a}_parseColumnOrRange(e,t,r){const n=e.trim(),s=this._findColonAtTopLevel(n);if(s===-1){const d=this._stripOuterBracketIfAny(n),_=this._titleToIndex(d,t);return{startColumn:r+_,endColumn:+r+_}}const a=n.slice(0,s).trim(),u=n.slice(s+1).trim(),l=this._stripOuterBracketIfAny(a),c=this._stripOuterBracketIfAny(u),f=this._titleToIndex(l,t),m=this._titleToIndex(c,t);return f!==-1&&m!==-1&&f>m?{startColumn:r+m,endColumn:r+f}:{startColumn:r+f,endColumn:r+m}}_stripOuterBracketIfAny(e){return e.length>=2&&e[0]==="["&&e[e.length-1]==="]"?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(n==="[")t++;else if(n==="]")t=Math.max(0,t-1);else if(n===K.COLON&&t===0)return r}return-1}_titleToIndex(e,t){var a;const r=e.trim(),n=t.get(r);if(n!==void 0)return n;const s=r.replace(/\u3000/g," ").trim();return(a=t.get(s))!=null?a:-1}_resolveThisRow(e,t){return this._isCurrentRowForRange=!0,Math.min(e+1,t)}}var Hm=Object.getOwnPropertyDescriptor,Gm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Hm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},xn=(i,o)=>(e,t)=>o(e,t,i);class So extends Ye{constructor(e,t,r,n,s=!1,a){super(r);A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=n,this._isPrepareMerge=s,this._tableReferenceObject=a}get nodeType(){return ue.REFERENCE}execute(){const e=this._currentConfigService,t=this._runtimeService,r=this._tableReferenceObject||dm(this.getToken(),this._referenceObjectType);r.setDefaultUnitId(t.currentUnitId),r.setDefaultSheetId(t.currentSubUnitId),r.setForcedSheetId(e.getSheetNameMap()),r.setUnitData(e.getUnitData()),r.setArrayFormulaCellData(e.getArrayFormulaCellData()),r.setRuntimeData(t.getUnitData()),r.setUnitStylesData(e.getUnitStylesData()),r.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),r.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());const n=t.currentRow,s=t.currentColumn;r.setCurrentRowAndColumn(n,s);const{x:a,y:u}=this.getRefOffset();r.setRefOffset(a,u),!this._isPrepareMerge&&r.isExceedRange()?this.setValue(g.create(h.NAME)):this.setValue(r)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}}w.ReferenceNodeFactory=class extends Ct{constructor(o,e,t,r){super(),this._currentConfigService=o,this._formulaRuntimeService=e,this._functionService=t,this._superTableService=r}get zIndex(){return gt.get(ue.REFERENCE)||dt}checkAndCreateNodeType(o){var l,c;let e=!1,t,r=!1;o instanceof oe?(e=!0,t=o.getToken().trim(),((c=(l=o.getParent())==null?void 0:l.getParent())==null?void 0:c.getToken().trim())===K.COLON&&(r=!0)):t=o.trim();const{tokenTrim:n,minusPrefixNode:s,atPrefixNode:a}=yo(t,this._functionService,this._formulaRuntimeService);if(!e&&n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;const u=this._getNode(n,e,r,o);if(u)return a?u.setParent(a):s&&u.setParent(s),u}_getTableMap(){const o=this._currentConfigService.getExecuteUnitId();if(o)return this._superTableService.getTableMap(o)}_getNode(o,e,t,r){var _;const n=this._currentConfigService,s=this._formulaRuntimeService,a=C=>new So(n,s,o,C,t),u=this._getTableMap();if((_=u==null?void 0:u.has(o))!=null?_:!1)return this._getTableReferenceNode(o,e,t,!0);if(Sr(o))return a(Br.CELL);const f=e&&this._checkParentIsUnionOperator(r);return f&&bi(o)?a(Br.ROW):f&&pi(o)?a(Br.COLUMN):this._getTableReferenceNode(o,e,t,!1)}_getTableReferenceNode(o,e,t,r=!1){if(!this._checkTokenIsTableReference(o)&&!r)return;const{tableName:n,columnStruct:s}=ji(o),a=this._getTableMap();if(!e&&(a!=null&&a.has(n))){const u=s,l=a.get(n),c=this._superTableService.getTableOptionMap();return new So(this._currentConfigService,this._formulaRuntimeService,o,Br.COLUMN,t,new Ym(o,l,u,c))}}_checkTokenIsTableReference(o){return ac(o)||ic(o)||oc(o)||uc(o)}_checkParentIsUnionOperator(o){var e,t;return((t=(e=o.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken().trim())===K.COLON}},w.ReferenceNodeFactory=Gm([xn(0,pt),xn(1,it),xn(2,Ot),xn(3,cr)],w.ReferenceNodeFactory);var Wm=Object.getOwnPropertyDescriptor,Qm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Wm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},da=(i,o)=>(e,t)=>o(e,t,i);class Mo extends Ye{constructor(o,e,t,r){super(t),this._currentConfigService=o,this._lexer=e,this._operatorString=t,this._functionExecutor=r}get nodeType(){return ue.SUFFIX}execute(){var r;let e=(r=this.getChildren()[0])==null?void 0:r.getValue(),t;if(e==null){this.setValue(g.create(h.ERROR));return}if(this._operatorString===Ke.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,b.create(100)),t.isNumber()){const n=Number(t.getValue());t=b.create(n,"0.00%")}}else this._operatorString===Ke.POUND?t=this._handlerPound(e):t=g.create(h.VALUE);this.setValue(t)}_handlerPound(o){var u,l,c,f;if(!o.isReferenceObject()||!o.isCell())return g.create(h.VALUE);const e=o,t=e.getRangePosition(),r=e.getUnitId(),n=e.getSheetId(),s=this._currentConfigService.getFormulaData(),a=(f=(c=(l=(u=s==null?void 0:s[r])==null?void 0:u[n])==null?void 0:l[t.startRow])==null?void 0:c[t.startColumn])==null?void 0:f.f;return a&&this._lexer.treeBuilder(a),g.create(h.VALUE)}}w.SuffixNodeFactory=class extends Ct{constructor(o,e,t){super(),this._functionService=o,this._lexer=e,this._currentConfigService=t}get zIndex(){return gt.get(ue.SUFFIX)||dt}checkAndCreateNodeType(o){if(!(o instanceof oe))return;const e=o.getToken().trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Ke.PERCENTAGE)t=Ie.DIVIDED;else return e===Ke.POUND?new Mo(this._currentConfigService,this._lexer,e):void 0;const r=this._functionService.getExecutor(t);return r?new Mo(this._currentConfigService,this._lexer,e,r):(console.error(`No function ${o}`),je.create(h.NAME))}},w.SuffixNodeFactory=Qm([da(0,Ot),da(1,S.Inject(w.Lexer)),da(2,pt)],w.SuffixNodeFactory);var qm=Object.getOwnPropertyDescriptor,Xm=(i,o,e,t)=>{for(var r=t>1?void 0:t?qm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Km=(i,o)=>(e,t)=>o(e,t,i);class Zm extends Ye{constructor(o){super(o)}get nodeType(){return ue.UNION}execute(){const o=this.getChildren(),e=o[0],t=o[1],r=e.getValue(),n=t.getValue();if(r==null||n==null){console.error("UnionNode execute leftNode or rightNode is null"),this.setValue(g.create(h.VALUE));return}let s;this.getToken()===K.COLON?s=this._unionFunction(r,n):s=g.create(h.NAME),this.setValue(s)}_unionFunction(o,e){return o.isError()||e.isError()||!o.isReferenceObject()||!e.isReferenceObject()?g.create(h.REF):(o=o,e=e,Cm(o,e))}}w.UnionNodeFactory=class extends Ct{constructor(o){super(),this._functionService=o}get zIndex(){return gt.get(ue.UNION)||dt}create(o){return new Zm(o)}checkAndCreateNodeType(o){if(!(o instanceof oe))return;const t=o.getToken().trim();if(!(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')&&t===K.COLON)return this.create(t)}},w.UnionNodeFactory=Xm([Km(0,Ot)],w.UnionNodeFactory);class zm extends Ye{constructor(o){super(o)}get nodeType(){return ue.VALUE}execute(){var e,t,r;const o=((e=this.getParent())==null?void 0:e.nodeType)===ue.FUNCTION&&((r=(t=this.getParent())==null?void 0:t.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(t));this.setValue(ht.create(this.getToken(),o))}}class Ca extends Ct{get zIndex(){return gt.get(ue.VALUE)||dt}_checkValueNode(o){if(Number.isNaN(Number(o))){const e=o.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(wt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const n=e.toUpperCase();if(n===Mt.TRUE||n===Mt.FALSE)return this.create(n)}else return this.create(o)}create(o){return new zm(o)}checkAndCreateNodeType(o){if(!(o instanceof oe))return this._checkValueNode(o)}}var Jm=Object.getOwnPropertyDescriptor,eh=(i,o,e,t)=>{for(var r=t>1?void 0:t?Jm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ot=(i,o)=>(e,t)=>o(e,t,i);w.AstTreeBuilder=class extends S.Disposable{constructor(e,t,r,n,s,a,u,l,c,f,m){super();A(this,"_astNodeFactoryList",[]);this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=r,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=u,this._referenceNodeFactory=l,this._suffixNodeFactory=c,this._unionNodeFactory=f,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){const t=new la(Rt),r=this._parse(e,t);return e.hasDefinedNames()&&(r==null||r.setDefinedNames(e.getDefinedNames())),r}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return je.create(h.VALUE);const r=t.getLambdaId(),n=new la(Rt),s=this._runtimeService.getFunctionDefinitionPrivacyVar(r);if(!s)return!1;const a=[...s.keys()],u=e.getChildren(),l=u.length;for(let c=0;c<l;c++){const f=u[c];if(f instanceof oe){ma(f,r,s),this._parse(f,n);const d=n.getChildren()[c];d!=null&&s.set(a[c],d)}else return!1}return n.setParent(t),t}_changeLetToLambda(e){const t=e.getChildren(),r=t.length;if(r%2!==1||r===0)return;const n=new oe;n.setToken(ur);const s=new oe;s.setToken(Bt);const a=[...t];for(let l=0;l<r;l++){const c=a[l];if(!(c instanceof oe))return;l%2===0?c.changeToParent(n):c.changeToParent(s)}n.addChildrenFirst(s),s.setParent(n);const u=e.getParent();return u==null||u.replaceChild(e,n),n}_parse(e,t){var f;const r=e.getChildren(),n=r.length,s=[];let a=null;const u=e.getToken().trim().toUpperCase();if(u===Vi){const m=this._changeLetToLambda(e);return m!=null?this._parse(m,t):je.create(h.ERROR)}if(u===nt){if(a=t,n===0)return new Fm(Rt).setParent(t),a}else{if(u===Bt){let m=this._lambdaParameterHandler(e,t);return m===!1&&(m=je.create(h.ERROR)),m}if(a=this._checkAstNode(e),a==null)return je.create(h.NAME)}const l=r[0];for(let m=0;m<n;m++){const d=r[m];if(bo(l)){if(m!==0&&m!==n-1)continue}else if(jm(d)&&m!==n-1)continue;let _=null;if(d instanceof oe){if(d.getToken()===nt&&d.getChildren().length===0){const C=(f=d.getParent())==null?void 0:f.getChildren();if(C&&C.length===1)return je.create(h.NAME)}if(_=this._parse(d,a),_===a)continue}else _=this._checkAstNode(d);if(_==null)return je.create(h.NAME);if(_=Tm(_),_==null||(_==null?void 0:_.nodeType)===ue.ERROR)return _;switch(_.nodeType){case ue.FUNCTION:{const C=_.getToken().trim().toUpperCase();mc.has(C)&&_.setForcedCalculateFunction(),s.push(_);break}case ue.LAMBDA:s.push(_);break;case ue.LAMBDA_PARAMETER:s.push(_);break;case ue.OPERATOR:{const C=s.pop(),E=s.pop();E&&E.setParent(_),C&&C.setParent(_),s.push(_);break}case ue.REFERENCE:s.push(_);break;case ue.ROOT:s.push(_);break;case ue.UNION:s.push(_);break;case ue.VALUE:s.push(_);break;case ue.PREFIX:s.push(_);break;case ue.SUFFIX:s.push(_);break}}const c=s.length;for(let m=0;m<c;m++)s[m].setParent(a);return a}_checkAstNode(e){let t=null;const r=this._astNodeFactoryList.length;for(let n=0;n<r&&(t=this._astNodeFactoryList[n].checkAndCreateNodeType(e),t==null);n++);return t==null?new Dm:t}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(S.sortRules)}},w.AstTreeBuilder=eh([ot(0,it),ot(1,S.Inject(ca)),ot(2,S.Inject(w.FunctionNodeFactory)),ot(3,S.Inject(w.LambdaNodeFactory)),ot(4,S.Inject(ga)),ot(5,S.Inject(w.OperatorNodeFactory)),ot(6,S.Inject(w.PrefixNodeFactory)),ot(7,S.Inject(w.ReferenceNodeFactory)),ot(8,S.Inject(w.SuffixNodeFactory)),ot(9,S.Inject(w.UnionNodeFactory)),ot(10,S.Inject(Ca))],w.AstTreeBuilder);class Do extends S.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",new Map);A(this,"_featureFormulaData",new Map);A(this,"_formulaData",new Map);A(this,"_definedNameMap",new Map);A(this,"_otherFormulaDataMainData",new Set);A(this,"_dependencyRTreeCache",new S.RTree);A(this,"_dependencyTreeIdLast",0)}buildDependencyTree(e,t){throw new Error("Method not implemented.")}getTreeById(e){throw new Error("Method not implemented.")}getAllTree(){throw new Error("Method not implemented.")}reset(){throw new Error("Method not implemented.")}addOtherFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeOtherFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearOtherFormulaDependency(e,t){throw new Error("Method not implemented.")}addFeatureFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeFeatureFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearFeatureFormulaDependency(e,t){throw new Error("Method not implemented.")}addFormulaDependency(e,t,r,n,s){throw new Error("Method not implemented.")}removeFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}clearFormulaDependency(e,t){throw new Error("Method not implemented.")}removeFormulaDependencyByDefinedName(e,t){throw new Error("Method not implemented.")}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,r){var n,s;return(s=(n=this._otherFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,r){var n,s;return(s=(n=this._featureFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}getFormulaDependency(e,t,r,n){var s,a;return(a=(s=this._formulaData.get(e))==null?void 0:s.get(t))==null?void 0:a.getValue(r,n)}addDependencyRTreeCache(e){const t=[];for(let r=0;r<e.rangeList.length;r++){const n=e.rangeList[r],{unitId:s,sheetId:a,range:u}=n;t.push({unitId:s,sheetId:a,range:u,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){const e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw new Error("Method not implemented.")}_addDefinedName(e,t,r){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);const n=this._definedNameMap.get(e);n.has(t)||n.set(t,new Set),n.get(t).add(r)}addFormulaDependencyByDefinedName(e,t){const r=e.treeId,n=(t==null?void 0:t.getDefinedNames())||[];for(const s of n)this._addDefinedName(e.unitId,s,r)}updateDependencyTreeDirtyState(e,t){throw new Error("Method not implemented.")}}class wo extends Do{constructor(){super(...arguments);A(this,"_allTreeMap",new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(this._buildDependencyTree(r,e),this._buildReverseDependency(r,e),r)}_buildDependencyTree(e,t){const r=new Map;for(let n=0;n<t.length;n++){const s=t[n];r.set(s.treeId,s)}for(let n=0;n<e.length;n++){const s=e[n],a=s.toRTreeItem(),u=this._dependencyRTreeCache.bulkSearch(a);for(const l of u){const c=r.get(l);c&&s!==c&&!c.hasChildren(s.treeId)&&c.pushChildren(s)}}r.clear()}_buildReverseDependency(e,t){const r=new Map;for(let n=0;n<e.length;n++){const s=e[n];r.set(s.treeId,s)}for(let n=0;n<t.length;n++){const s=t[n],a=s.toRTreeItem(),u=this._dependencyRTreeCache.bulkSearch(a);for(const l of u){const c=r.get(l);c&&s!==c&&!c.hasChildren(s.treeId)&&c.pushChildren(s)}}r.clear()}getAllTree(){const e=[];return this._allTreeMap.forEach(t=>{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,t,r,n){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);const s=this._otherFormulaData.get(e);s.has(t)||s.set(t,new Map);const a=s.get(t);a.has(r)||a.set(r,new S.ObjectMatrix),a.get(r).setValue(n.refOffsetX,n.refOffsetY,n.treeId),this._addAllTreeMap(n)}removeOtherFormulaDependency(e,t,r){const n=this._otherFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const u=s.get(a);u!=null&&(u.forValue((l,c,f)=>{this._removeDependencyRTreeCache(f),this.clearDependencyForTree(this._allTreeMap.get(f)),this._removeAllTreeMap(f)}),s.delete(a),this._otherFormulaDataMainData.delete(a))}),s.size===0&&n.delete(t),n.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){const r=this._otherFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(const s of n.keys()){const a=n.get(s);a!=null&&(a.forValue((u,l,c)=>{const f=this._allTreeMap.get(c);f&&(this.clearDependencyForTree(f),this._removeAllTreeMap(c))}),this._otherFormulaDataMainData.delete(s))}n.clear()}else if(r){for(const n of r.keys()){const s=r.get(n);this._removeDependencyRTreeCacheById(e,n);for(const a of s.keys()){const u=s.get(a);u!=null&&(u.forValue((l,c,f)=>{const m=this._allTreeMap.get(f);m&&(this.clearDependencyForTree(m),this._removeAllTreeMap(f))}),this._otherFormulaDataMainData.delete(a))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,r,n){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);const s=this._featureFormulaData.get(e);s.has(t)||s.set(t,new Map),s.get(t).set(r,n.treeId),this._addAllTreeMap(n)}removeFeatureFormulaDependency(e,t,r){const n=this._featureFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const u=s.get(a);u!=null&&(this._removeDependencyRTreeCache(u),s.delete(a),this.clearDependencyForTree(this._allTreeMap.get(u)),this._removeAllTreeMap(u))})}}clearFeatureFormulaDependency(e,t){const r=this._featureFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forEach(s=>{s!=null&&(this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s))}),n.clear()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forEach(a=>{a!=null&&(this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,r,n,s){this._formulaData.has(e)||this._formulaData.set(e,new Map);const a=this._formulaData.get(e);a.has(t)||a.set(t,new S.ObjectMatrix),a.get(t).setValue(r,n,s.treeId),this._addAllTreeMap(s)}removeFormulaDependency(e,t,r,n){const s=this._formulaData.get(e);if(s&&s.has(t)){const a=s.get(t),u=a.getValue(r,n);if(u==null)return;this._removeDependencyRTreeCache(u),a.realDeleteValue(r,n),this.clearDependencyForTree(this._allTreeMap.get(u)),this._removeAllTreeMap(u)}}clearFormulaDependency(e,t){const r=this._formulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forValue((s,a,u)=>{if(u==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(u)),this._removeAllTreeMap(u)}),n.reset()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forValue((a,u,l)=>{if(l==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(l)),this._removeAllTreeMap(l)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children,n=this._allTreeMap;for(const s of t){const a=n.get(s);a==null||a.children.delete(e.treeId)}for(const s of r){const a=n.get(s);a==null||a.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;const t=this._allTreeMap.get(e);if(t){const r=[];for(let n=0;n<t.rangeList.length;n++){const s=t.rangeList[n],{unitId:a,sheetId:u,range:l}=s;r.push({unitId:a,sheetId:u,range:l,id:e})}this._dependencyRTreeCache.bulkRemove(r)}}removeFormulaDependencyByDefinedName(e,t){const r=this._definedNameMap.get(e);if(r){const n=r.get(t);if(n){for(const s of n)this._removeDependencyRTreeCache(s),this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s);n.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}updateDependencyTreeDirtyState(e,t){const r=this._allTreeMap.get(e);r&&(r.isDirty=t)}}const $r=S.createIdentifier("univer.formula.dependency-manager.service");class Lo extends S.Disposable{constructor(){super(...arguments);A(this,"_referenceExecutorMap",new Map);A(this,"_onChanged$",new Oe.Subject);A(this,"onChanged$",this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,r){r.forEach(n=>{var s,a;(a=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))==null||a.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var n,s;return(s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}has(e,t,r){var n,s;return!!((s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))!=null&&s.has(r))}register(e,t,r,n){let s=this._referenceExecutorMap.get(e);s||(s=new Map,this._referenceExecutorMap.set(e,s));let a=s.get(t);a||(a=new Map,s.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),a.set(r,n)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Ar=S.createIdentifier("univer.formula.feature-calculation-manager.service");class Po extends S.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var s,a,u;const{unitId:t,subUnitId:r,formulaId:n}=e;(u=(a=(s=this._otherFormulaData)==null?void 0:s[t])==null?void 0:a[r])==null||delete u[n]}get(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return(a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n]}has(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return((a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:n,item:s}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][n]=s}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{const u=s[a];if(u==null)return!0;this.register({unitId:t,subUnitId:n,formulaId:a,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{this.remove({unitId:t,subUnitId:n,formulaId:a})})})})}getOtherFormulaData(){return this._otherFormulaData}}const vn=S.createIdentifier("univer.formula.other-formula-manager.service");var Wt=(i=>(i[i.NORMAL_FORMULA=0]="NORMAL_FORMULA",i[i.OTHER_FORMULA=1]="OTHER_FORMULA",i[i.FEATURE_FORMULA=2]="FEATURE_FORMULA",i))(Wt||{});class jo{constructor(){A(this,"_state",0);A(this,"type",0);A(this,"treeId");A(this,"children",new Set);A(this,"parents",new Set)}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}pushChildren(o){this.children.add(o.treeId),o._pushParent(this)}hasChildren(o){return this.children.has(o)}_pushParent(o){this.parents.add(o.treeId)}}class _a extends jo{constructor(){super(...arguments);A(this,"refTree");A(this,"refOffsetX",-1);A(this,"refOffsetY",-1);A(this,"isCache",!1);A(this,"isDirty",!1);A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");A(this,"featureId")}get isVirtual(){return!0}get row(){return this.refTree==null?-1:this.refTree.row+this.refOffsetY}get column(){return this.refTree==null?-1:this.refTree.column+this.refOffsetX}get rowCount(){return this.refTree==null?0:this.refTree.rowCount}get columnCount(){return this.refTree==null?0:this.refTree.columnCount}get unitId(){return this.refTree==null?"":this.refTree.unitId}get subUnitId(){return this.refTree==null?"":this.refTree.subUnitId}get formula(){var e,t;return(t=(e=this.refTree)==null?void 0:e.formula)!=null?t:""}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return(e=this.refTree)==null?void 0:e.node}dispose(){this.refTree=null}get rangeList(){const e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){const r=this.refTree.rangeList[t];e.push({unitId:r.unitId,sheetId:r.sheetId,range:S.moveRangeByOffset(r.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,u=this.column;return!(a<t||a>n||u<r||u>s)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:u,sheetId:l,range:c}=a,f=(r=e==null?void 0:e[u])==null?void 0:r[l];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=c;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((R,y)=>{if(R>=m&&R<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}get formulaId(){return this.refTree==null?"":this.refTree.formulaId}}class In extends jo{constructor(e){super();A(this,"isCache",!1);A(this,"featureId");A(this,"featureDirtyRanges",[]);A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"formulaId");A(this,"subUnitId","");A(this,"unitId","");A(this,"rangeList",[]);A(this,"formula","");A(this,"row",-1);A(this,"column",-1);A(this,"rowCount",Number.NEGATIVE_INFINITY);A(this,"columnCount",Number.NEGATIVE_INFINITY);A(this,"isDirty",!1);A(this,"node");A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,u=this.column;return!(a<t||a>n||u<r||u>s)}dependencySheetName(e){var r;const t=this.rangeList;if(t.length===0||e==null)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:u,sheetId:l}=a;if(((r=e[u])==null?void 0:r[l])!=null)return!0}return!1}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:u,sheetId:l,range:c}=a,f=(r=e==null?void 0:e[u])==null?void 0:r[l];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=c;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((R,y)=>{if(R>=m&&R<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==2}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}}class Aa{constructor(o){A(this,"children",new Set);A(this,"parents",new Set);A(this,"treeId",-1);A(this,"formula","");A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"row",-1);A(this,"column",-1);A(this,"unitId","");A(this,"subUnitId","");A(this,"rangeList",[]);A(this,"refTreeId");A(this,"formulaId");A(this,"featureId");A(this,"type");var e,t,r,n;this.treeId=o.treeId,this.row=o.row,this.column=o.column,this.unitId=o.unitId,this.subUnitId=o.subUnitId,this.refOffsetX=o.refOffsetX,this.refOffsetY=o.refOffsetY,this.rangeList=o.rangeList,o.isVirtual?this.refTreeId=(t=(e=o.refTree)==null?void 0:e.treeId)!=null?t:-1:(this.formula=o.formula,this.formulaId=(r=o.formulaId)!=null?r:void 0,this.featureId=(n=o.featureId)!=null?n:void 0,this.type=o.type)}toJson(){return{children:Array.from(this.children).map(o=>o.treeId),parents:Array.from(this.parents).map(o=>o.treeId),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}toFullJson(){return{children:Array.from(this.children).map(o=>o.toJson()),parents:Array.from(this.parents).map(o=>o.toJson()),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}addParent(o){this.parents.add(o)}addChild(o){this.children.add(o)}}var th=Object.getOwnPropertyDescriptor,rh=(i,o,e,t)=>{for(var r=t>1?void 0:t?th(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},St=(i,o)=>(e,t)=>o(e,t,i);function Qt(i){return i.getLastTreeId()||0}const Fn=S.createIdentifier("engine-formula.dependency-generator");w.FormulaDependencyGenerator=class extends S.Disposable{constructor(e,t,r,n,s,a,u,l,c){super();A(this,"_updateRangeFlattenCache",new Map);A(this,"_dependencyRTreeCacheForAddressFunction",new S.RTree);A(this,"_executedAddressFunctionNodeIds",new Set);A(this,"_formulaDependencyTreeModel",new Map);this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=r,this._featureCalculationManagerService=n,this._interpreter=s,this._astTreeBuilder=a,this._lexer=u,this._dependencyManagerService=l,this._lexerTreeBuilder=c}dispose(){this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),kr.clear()}async generate(e=!1){this._updateRangeFlatten();const t=this._currentConfigService.getFormulaData(),r=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getClearDependencyTreeCache();n!=null&&Object.keys(n).forEach(m=>{m!=null&&Object.keys(n[m]).forEach(d=>{d!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(m,d),this._dependencyManagerService.clearFeatureFormulaDependency(m,d),this._dependencyManagerService.clearFormulaDependency(m,d))})});const s=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,r,s);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));const u=this._getUpdateTreeListAndMakeDependency(a);let l=this._calculateRunList(u);return this._dependencyFeatureCalculation(l)&&(l.forEach(m=>{m.resetState()}),l=this._calculateRunList(l)),this._checkIsCycleDependency(l)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(l)}_dependencyFeatureCalculation(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let r=!1;return t.forEach((n,s)=>{n.forEach((a,u)=>{a.forEach((l,c)=>{const{unitId:f,subUnitId:m,getDirtyData:d}=l,_=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),C=this._convertDirtyRangesToUnitRange(_.dirtyRanges),E=this._intersectFeatureCalculation(C,e,{unitId:f,subUnitId:m,featureId:c});if(E.length>0){let R=this._getExistTreeList({unitId:f,subUnitId:m,featureId:c},e);R==null&&(R=this._getFeatureFormulaTree(c,Qt(this._dependencyManagerService),l),e.push(R)),R.parents=new Set,E.forEach(y=>{y.hasChildren(R.treeId)||y.pushChildren(R)}),r=!0}})})}),r}_clearFeatureCalculationNode(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(r=>{var a,u,l,c;const n=new Set;for(const f of r.children){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(u=(a=t.get(r.unitId))==null?void 0:a.get(r.subUnitId))!=null&&u.has(m.featureId)||n.add(f))}r.children=n;const s=new Set;for(const f of r.parents){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(c=(l=t.get(r.unitId))==null?void 0:l.get(r.subUnitId))!=null&&c.has(m.featureId)||s.add(f))}r.parents=s})}_convertDirtyRangesToUnitRange(e){const t=[];for(const r in e){const n=e[r];for(const s in n){const a=n[s];for(const u of a)t.push({unitId:r,sheetId:s,range:u})}}return t}_intersectFeatureCalculation(e,t,r){const n=[],s=this._dependencyManagerService.searchDependency(e);for(let a=0,u=t.length;a<u;a++){const l=t[a];if(l.unitId===r.unitId&&l.subUnitId===r.subUnitId&&l.featureId===r.featureId)continue;s.has(l.treeId)&&n.push(l)}return n}_getExistTreeList(e,t){const{unitId:r,subUnitId:n,featureId:s}=e;for(let a=0,u=t.length;a<u;a++){const l=t[a];if(l.unitId===r&&l.subUnitId===n&&l.featureId===s)return l}}_isCyclicUtil(e,t,r){const n=this._dependencyManagerService.getTreeById(e);if(n==null)return!1;if(!t.has(n.treeId)){t.add(n.treeId),r.add(n.treeId);for(const s of n.children)if(!t.has(s)&&this._isCyclicUtil(s,t,r)||r.has(s))return!0}return r.delete(n.treeId),!1}_checkIsCycleDependency(e){const t=new Set,r=new Set;for(let n=0,s=e.length;n<s;n++){const a=e[n];if(this._isCyclicUtil(a.treeId,t,r)===!0)return!0}return!1}async _generateTreeList(e,t,r){const n=Object.keys(e),s=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(n,e,r,a),this._registerOtherFormulas(t,s,a),this._registerFeatureFormulas(a);for(let l=0,c=a.length;l<c;l++){const f=a[l];if(!f.formula)continue;const m=this._getTreeNode(f);f.isDirty=this._includeTree(f,m);const d=this._getAddressFunctionNodeList(m);if(d.length>0&&(f.addressFunctionNodes=d),f.isVirtual)continue;this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);const _=await this._getRangeListByNode({node:m,refOffsetX:f.refOffsetX,refOffsetY:f.refOffsetY});f.pushRangeList(_)}for(let l=0,c=a.length;l<c;l++){const f=a[l];f.isCache||this._dependencyManagerService.addDependencyRTreeCache(f)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((r,n)=>{r.forEach((s,a)=>{s.forEach((u,l)=>{const c=this._dependencyManagerService.getFeatureFormulaDependency(u.unitId,u.subUnitId,l);e.push(this._getFeatureFormulaTree(l,c,u))})})})}_getFeatureFormulaTree(e,t,r){const{unitId:n,subUnitId:s,dependencyRanges:a,getDirtyData:u}=r,l=t||Qt(this._dependencyManagerService),c=new In(l);c.unitId=n,c.subUnitId=s,c.rangeList=a,c.getDirtyData=u;const f=u(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),m=this._convertDirtyRangesToUnitRange(f.dirtyRanges);return c.featureDirtyRanges=m,c.featureId=e,c.type=Wt.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(n,s,e,c),this._dependencyManagerService.getFeatureFormulaDependency(r.unitId,r.subUnitId,e)&&(c.isCache=!0),c}_registerOtherFormulas(e,t,r){for(const n of t){const s=e[n];if(s==null)continue;const a=Object.keys(s);for(const u of a){const l=s[u];if(l==null)continue;const c=Object.keys(l);for(const f of c){const m=this._dependencyManagerService.hasOtherFormulaDataMainData(f),d=l[f],{f:_,ranges:C}=d;let E=!1;m&&(E=!0);const R=fa(n,_,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:y,firstColumn:p}=this._getFirstCellOfRange(C),N=this._dependencyManagerService.getOtherFormulaDependency(n,u,f),M=(N==null?void 0:N.getValue(0,0))||Qt(this._dependencyManagerService),D=new In(M);for(let L=0;L<C.length;L++){const P=C[L],{startRow:j,startColumn:I,endRow:v,endColumn:Y}=P;for(let Q=j;Q<=v;Q++)for(let se=I;se<=Y;se++){const te=se-p,W=Q-y;if(te===0&&W===0){D.node=R,D.formula=_,D.unitId=n,D.subUnitId=u,D.formulaId=f,D.type=Wt.OTHER_FORMULA,D.isCache=E,r.push(D),this._dependencyManagerService.addOtherFormulaDependency(n,u,f,D),this._dependencyManagerService.addFormulaDependencyByDefinedName(D);continue}const fe=new _a;fe.treeId=(N==null?void 0:N.getValue(te,W))||Qt(this._dependencyManagerService),fe.refTree=D,fe.refOffsetX=te,fe.refOffsetY=W,fe.isCache=E,fe.type=Wt.OTHER_FORMULA,this._dependencyManagerService.addOtherFormulaDependency(n,u,f,fe),this._dependencyManagerService.addFormulaDependencyByDefinedName(fe),r.push(fe)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(f)}}}}_getFirstCellOfRange(e){const t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,r,n){for(const s of e){const a=t[s];if(a==null)continue;const u=Object.keys(a);for(const l of u){const c=new S.ObjectMatrix(a[l]||{}),f=new Map;c.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:R}=_;if(!(C===0&&E===0&&R!=null))return!0;const y=this._createFDtree(s,l,m,d,r,_),p=this._dependencyManagerService.getFormulaDependency(s,l,m,d);p!=null?(y.treeId=p,y.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(p,!1)):(this._dependencyManagerService.addFormulaDependency(s,l,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),f.set(R,y),n.push(y)}),c.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:R}=_;if(C===0&&E===0&&R!=null)return!0;let y;if(R&&f.has(R)){const N=f.get(R);y=this._createVirtualFDtree(N,_)}else y=this._createFDtree(s,l,m,d,r,_);const p=this._dependencyManagerService.getFormulaDependency(s,l,m,d);p!=null?(y.treeId=p,y.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(p,!1)):(this._dependencyManagerService.addFormulaDependency(s,l,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),n.push(y)}),f.clear()}}}_createFDtree(e,t,r,n,s,a){const{f:u,x:l=0,y:c=0}=a,f=new In(Qt(this._dependencyManagerService)),m=s[e][t],d=fa(e,u,this._lexer,this._astTreeBuilder,this._currentConfigService);return f.node=d,f.formula=u,f.unitId=e,f.subUnitId=t,f.row=r,f.column=n,f.rowCount=m.rowCount,f.columnCount=m.columnCount,f}_createVirtualFDtree(e,t){const{x:r=0,y:n=0}=t,s=new _a;return s.treeId=Qt(this._dependencyManagerService),s.refTree=e,s.refOffsetX=r,s.refOffsetY=n,s}_updateRangeFlatten(){const e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let r=0;r<t.length;r++){const n=t[r],s=n.range,a=n.sheetId,u=n.unitId;this._addFlattenCache(u,a,s)}}}_addFlattenCache(e,t,r){let n=this._updateRangeFlattenCache.get(e);n==null&&(n=new Map,this._updateRangeFlattenCache.set(e,n));let s=n.get(t);s==null&&(s=[],n.set(t,s)),s.push(r)}_isPreCalculateNode(e){return e.nodeType===ue.UNION||e.nodeType===ue.PREFIX&&e.getToken()===De.AT||e.nodeType===ue.SUFFIX&&e.getToken()===Ke.POUND}_nodeTraversalRef(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(this._isPreCalculateNode(a)){if(t.push(a),a.nodeType===ue.UNION)for(const u of a.getChildren())u.nodeType===ue.FUNCTION&&u.isAddress()&&this._nodeTraversalRef(u,t);continue}else a.nodeType===ue.REFERENCE&&t.push(a);this._nodeTraversalRef(a,t)}}_nodeTraversalReferenceFunction(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.nodeType===ue.FUNCTION&&a.isAddress()){t.push(a);continue}this._nodeTraversalReferenceFunction(a,t)}}async _executeNode(e,t=0,r=0){let n;const s={node:e,refOffsetX:t,refOffsetY:r};return this._interpreter.checkAsyncNode(e)?n=await this._interpreter.executeAsync(s):n=this._interpreter.execute(s),n}async _getRangeListByNode(e){const t=[],r=e.refOffsetX,n=e.refOffsetY,s=e.node;if(s==null)return[];this._nodeTraversalRef(s,t);const a=[];for(let u=0,l=t.length;u<l;u++){const c=t[u],m=(await this._executeNode(c,r,n)).toUnitRange();a.push(m),c.setValue(null)}return a}_getAddressFunctionNodeList(e){const t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(r,n,s);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);const u=e.bulkSearch(a),l=this._buildTreeNodeById(u);l.length!==0&&await this._calculateAddressFunctionRuntimeData(e,l)}async _calculateListByFunctionRefNode(e){const t=new S.RTree;for(let r=0,n=e.length;r<n;r++){const s=e[r];t.insert({unitId:s.unitId,sheetId:s.subUnitId,range:{startRow:s.row,startColumn:s.column,endRow:s.row,endColumn:s.column},id:s.treeId})}this._executedAddressFunctionNodeIds.clear();for(let r=0,n=e.length;r<n;r++){const s=e[r];await this._calculateAddressFunction(t,s)}}async _calculateAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);const a=[];for(let c=0,f=r.length;c<f;c++){const m=await this._getRangeListByNode({node:r[c],refOffsetX:n,refOffsetY:s});a.push(...m)}const u=new Set;this._searchDependencyByAddressFunction(e,a,u);const l=this._buildTreeNodeById(u);if(l.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,l),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){const r=t.pop(),s={node:this._getTreeNode(r),refOffsetX:r.refOffsetX,refOffsetY:r.refOffsetY};await this._calculateAddressFunction(e,r),this._runtimeService.setCurrent(r.row,r.column,r.rowCount,r.columnCount,r.subUnitId,r.unitId);let a;this._interpreter.checkAsyncNode(s.node)?a=await this._interpreter.executeAsync(s):a=this._interpreter.execute(s),r.formulaId!=null?this._runtimeService.setRuntimeOtherData(r.formulaId,r.refOffsetX,r.refOffsetY,a):this._runtimeService.setRuntimeData(a)}}_buildTreeNodeById(e){const t=[];for(const r of e){const n=this._getTreeById(r);!n||this._executedAddressFunctionNodeIds.has(r)||(this._executedAddressFunctionNodeIds.add(r),t.push(n))}return t}_searchDependencyByAddressFunction(e,t,r){const n=e.bulkSearch(t),s=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(const u of s)r.has(u)||r.add(u);const a=[];for(const u of n){const l=this._getTreeById(u);l&&!r.has(u)&&(a.push(...l.rangeList),r.add(u))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,r),r}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){const r=[];for(let n=0;n<t.length;n++){const s=t[n],{unitId:a,sheetId:u,range:l}=s;r.push({unitId:a,sheetId:u,range:l,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(r)}async _getRangeListByFunctionRefNode(e,t,r){const n=[];for(let s=0,a=e.length;s<a;s++){const u=e[s],c=(await this._executeNode(u,t,r)).toUnitRange();n.push(c),u.setValue(null)}return n}_getUpdateTreeListAndMakeDependency(e){const t=[],r=new Set,n=this._currentConfigService.isForceCalculate(),s=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(s),u=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s);for(const c of u)a.add(c);const l=this._dependencyManagerService.buildDependencyTree(e);for(const c of l){const f=c.treeId;(n||c.isDirty||c.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(f)&&!c.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!r.has(f)&&(t.push(c),r.add(f))}return t}_includeTreeFeature(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.featureId;if(n!=null){const u=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=u==null?void 0:u[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_includeOtherFormula(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.formulaId;if(n!=null){const u=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=u==null?void 0:u[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;const t=e.getChildren();for(let r=0,n=t.length;r<n;r++){const s=t[r];if(this._detectForcedRecalculationNodeRecursion(s))return!0}return!1}_includeTree(e,t){var c,f,m;const r=e.unitId,n=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||pm(e,t,this._currentConfigService)===!0)return!0;const s=(f=(c=this._currentConfigService.getExcludedRange())==null?void 0:c[r])==null?void 0:f[n];if((s==null?void 0:s.getValue(e.row,e.column))!=null)return!1;if(((m=this._currentConfigService.getDirtyNameMap()[r])==null?void 0:m[n])!=null)return!0;if(!this._updateRangeFlattenCache.has(r))return!1;const u=this._updateRangeFlattenCache.get(r);if(!u.has(n))return!1;const l=u.get(n);for(const d of l)if(e.inRangeData(d))return!0;return!1}_calculateRunList(e){e.length;const t=e,r=[],n=[];for(;t.length>0;){const s=t.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){r.push(s),s.setSkip();continue}n.length=0;for(const u of s.parents){const l=this._dependencyManagerService.getTreeById(u);if(!l){console.error("Dependency tree not found for treeId:",u);continue}l.isAdded()||s.isSkip()||n.push(l)}const a=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s.toRTreeItem());for(const u of a){const l=this._dependencyManagerService.getTreeById(u);if(!l){console.error("Dependency tree not found for treeId:",u);continue}l.isAdded()||s.isSkip()||n.push(l)}n.length===0?(r.push(s),s.setSkip()):(s.setAdded(),t.push(s,...n))}return r}async _initializeGenerateTreeList(){const e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,r)}async _getAllTreeList(){const e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){const r=this._getTreeById(e);if(!r){console.error("FormulaDependencyTree is null for treeId:",e);return}t=new Aa(r),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){const t=this._getTreeModel(e.treeId),r=this._getDependencyTreeParenIds(e);if(!t)return new Aa(e);for(const n of r){const s=this._getTreeModel(n);s&&(t.addParent(s),s.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();const t=[];for(const n of e){const s=n.type;if(n.isVirtual&&(s===Wt.FEATURE_FORMULA||s===Wt.OTHER_FORMULA))continue;const a=this._getFormulaDependencyTreeModel(n);t.push(a)}const r=[];for(const n of t)r.push(n.toJson());return this._endFormulaDependencyTreeModel(),r}async getAllDependencyJson(){const e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(e.refTreeId==null)return;const t=this._getTreeById(e.refTreeId);if(!t)return;const r=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY);e.formula=r}async getCellDependencyJson(e,t,r,n){await this._initializeGenerateTreeList();const s=this._dependencyManagerService.getFormulaDependency(e,t,r,n);if(s==null)return;const a=this._getTreeById(s);if(!a)return;this._startFormulaDependencyTreeModel();const u=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(u);const l=this._getDependencyTreeChildrenIds(a);for(const c of l){const f=this._getTreeModel(c);f&&(this._setRealFormulaString(f),u.addChild(f))}for(const c of u.parents)this._setRealFormulaString(c);return this._endFormulaDependencyTreeModel(),u.toFullJson()}_getRangeDependents(e){const t=this._dependencyManagerService.searchDependency(e),r=[];for(const s of t){const a=this._getTreeById(s);if(!a)continue;const u=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(u),r.push(u)}const n=[];for(const s of r)s&&n.push(s.toJson());return n}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();const t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){const r=[];for(const a of t)for(const u of e){const l=u.unitId,c=u.sheetId;if(!(a.unitId!==l||a.subUnitId!==c)&&(u.range,a.inRangeData(u.range))){r.push(a);break}}const n=[];for(const a of r){const u=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(u),n[a.treeId]=u}const s=[];for(const a of n)a&&s.push(a.toJson());return s}async getInRangeFormulas(e){const t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();const r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),r}async getRangeDependentsAndInRangeFormulas(e){const t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();const r=this._getRangeDependents(e),n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:r,inRanges:n}}},w.FormulaDependencyGenerator=rh([St(0,pt),St(1,it),St(2,vn),St(3,Ar),St(4,S.Inject(w.Interpreter)),St(5,S.Inject(w.AstTreeBuilder)),St(6,S.Inject(w.Lexer)),St(7,$r),St(8,S.Inject(fr))],w.FormulaDependencyGenerator);var nh=Object.getOwnPropertyDescriptor,sh=(i,o,e,t)=>{for(var r=t>1?void 0:t?nh(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},qt=(i,o)=>(e,t)=>o(e,t,i);const To=500,Bn=S.createIdentifier("engine-formula.calculate-formula.service");w.CalculateFormulaService=class extends S.Disposable{constructor(e,t,r,n,s,a,u){super();A(this,"_executionInProgressListener$",new Oe.Subject);A(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());A(this,"_executionCompleteListener$",new Oe.Subject);A(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());A(this,"_executeLock",new S.AsyncLock);A(this,"_isCalculateTreeModel",!1);this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=n,this._formulaDependencyGenerator=s,this._interpreter=a,this._astTreeBuilder=u}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),dr.clear(),Ge.clear(),qs.clear(),ra.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage(qe.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();const t=e.maxIteration||$i;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire("FORMULA_EXECUTION_LOCK",async()=>{for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._executeStep(),dr.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage(qe.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Ge.clear(),this._runtimeService.reset()})}async _executeStep(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:n,excludedCell:s}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return n==null||n.length===0||(dr.clear(),this._currentConfigService.loadDirtyRangesAndExcludedCell(n,s),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],n={};return Object.keys(e).forEach(s=>{const a=e[s];if(a==null)return!0;Object.keys(a).forEach(u=>{const l=new S.ObjectMatrix(a[u]);if(l==null)return!0;const c=new S.ObjectMatrix;l.forValue((f,m,d)=>{c.setValue(f,m,!0),r.push({unitId:s,sheetId:u,range:d})}),n[s]==null&&(n[s]={}),n[s][u]=c})}),Object.keys(t).forEach(s=>{const a=t[s];Object.keys(a).forEach(u=>{const l=a[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const f=l[c];if(f==null)return!0;for(const m of f)r.push({unitId:u,sheetId:c,range:m})})})}),{dirtyRanges:r,excludedCell:n}}async _apply(e=!1){var l;e?this._runtimeService.setFormulaExecuteStage(qe.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(qe.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(qe.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(qe.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=[];const s=this._configService.getConfig(dn),a=(s==null?void 0:s.intervalCount)||To,u=t.length;for(let c=0;c<u;c++){const f=t[c],m=f.nodeData,d=f.getDirtyData;if(c%a===0&&(await new Promise(C=>{const E=S.requestImmediateMacroTask(C);n.push(E)}),e?(this._runtimeService.setFormulaExecuteStage(qe.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(c+1)):(this._runtimeService.setFormulaExecuteStage(qe.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(c+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||m==null&&d==null)){this._runtimeService.setFormulaExecuteStage(qe.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);let _;if(d!=null&&f.featureId!=null){const{runtimeCellData:C,dirtyRanges:E}=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(f.featureId,C),this._runtimeService.setRuntimeFeatureRange(f.featureId,E)}else m!=null&&(r.checkAsyncNode(m.node)?_=await r.executeAsync(m):_=r.execute(m),f.formulaId!=null?this._runtimeService.setRuntimeOtherData(f.formulaId,f.refOffsetX,f.refOffsetY,_):this._runtimeService.setRuntimeData(_));(l=m.node)==null||l.resetCalculationState()}return n.forEach(c=>c()),n=[],u>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){var s;this._currentConfigService.loadDataLite(t);const r=this._currentConfigService.getUnitData();this._runtimeService.reset();const n={};for(const a of Object.keys(e)){const u=e[a];if(u!=null){n[a]={};for(const l of Object.keys(u)){const c=u[l];if(c==null)continue;const f=(s=r[a])==null?void 0:s[l];if(f!=null){n[a][l]={};for(const m of Object.keys(c)){const d=Number.parseInt(m);n[a][l][d]={};const _=c[d];if(_)for(const C of Object.keys(_)){const E=Number.parseInt(C),R=_[E];if(!R)continue;const y=f.rowCount||0,p=f.columnCount||0;this._runtimeService.setCurrent(d,E,y,p,l,a);const N=[];for(const M of R){let D=await this.calculate(M);if(!D){N.push({value:null,formula:M});continue}D.isReferenceObject()&&(D=D.toArrayValueObject());const L=D;if(L.isArray()){const P=L;if(P.getRowCount()===1&&P.getColumnCount()===1){N.push({value:P.getFirstCell().getValue(),formula:M});continue}N.push({value:P.toValue(),formula:M});continue}N.push({value:L.getValue(),formula:M})}n[a][l][d][E]=N}}}}}}return n}async calculate(e){const t=this._lexer.treeBuilder(e);if(Object.values(h).includes(t))return;const r=this._astTreeBuilder.parse(t),n=this._interpreter;if(r==null)return;const s={node:r,refOffsetX:0,refOffsetY:0};return n.checkAsyncNode(r)?await n.executeAsync(s):n.execute(s)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,r,n){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,r,n)}async getRangeDependents(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependents(e)}async getInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getInRangeFormulas(e)}async getDependentsAndInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependentsAndInRangeFormulas(e)}},w.CalculateFormulaService=sh([qt(0,S.IConfigService),qt(1,S.Inject(w.Lexer)),qt(2,pt),qt(3,it),qt(4,Fn),qt(5,S.Inject(w.Interpreter)),qt(6,S.Inject(w.AstTreeBuilder))],w.CalculateFormulaService);var ah=Object.getOwnPropertyDescriptor,ih=(i,o,e,t)=>{for(var r=t>1?void 0:t?ah(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ea=(i,o)=>(e,t)=>o(e,t,i);w.CalculateController=class extends S.Disposable{constructor(o,e,t){super(),this._commandService=o,this._calculateFormulaService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(o=>{if(o.id===ps.id)this._calculateFormulaService.stopFormulaExecution();else if(o.id===Rs.id)this._calculate(o.params);else if(o.id===sn.id){const e=o.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}else if(o.id===ys.id)this._calculateFormulaString(o.params);else if(o.id===Ns.id)this._generateAllDependencyTreeJson();else if(o.id===Vs.id)this._generateCellDependencyTreeJson(o.params);else if(o.id===Ss.id){const e=o.params;this._queryFormulaDependencyJson(e)}else if(o.id===Ds.id){const e=o.params;this._queryFormulaDependencyAllJson(e)}}))}async _calculate(o){const{forceCalculation:e=!1,dirtyRanges:t=[],dirtyNameMap:r={},dirtyDefinedNameMap:n={},dirtyUnitFeatureMap:s={},dirtyUnitOtherFormulaMap:a={},clearDependencyTreeCache:u={},maxIteration:l=$i,rowData:c,isCalculateTreeModel:f=!1}=o,m=this._formulaDataModel.getFormulaData(),d=this._formulaDataModel.getArrayFormulaCellData(),_=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:m,arrayFormulaCellData:d,arrayFormulaRange:_,forceCalculate:e,dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:n,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:a,clearDependencyTreeCache:u,maxIteration:l,isCalculateTreeModel:f,rowData:c})}async _queryFormulaDependencyJson(o){const{unitRanges:e,isInRange:t}=o;let r=[];t?r=await this._calculateFormulaService.getInRangeFormulas(e):r=await this._calculateFormulaService.getRangeDependents(e),this._commandService.executeCommand(Ms.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(o){const{unitRanges:e}=o,t=await this._calculateFormulaService.getDependentsAndInRangeFormulas(e);this._commandService.executeCommand(ws.id,{result:t},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){const o=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(gn.id,{result:o},{onlyLocal:!0})}async _generateCellDependencyTreeJson(o){const{unitId:e,sheetId:t,row:r,column:n}=o,s=await this._calculateFormulaService.getCellDependencyJson(e,t,r,n);this._commandService.executeCommand(Os.id,{result:s},{onlyLocal:!0})}async _calculateFormulaString(o){const{formulas:e}=o,t=await this._calculateFormulaService.executeFormulas(e);this._commandService.executeCommand(bs.id,{result:t},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(o=>{const e=o.functionsExecutedState;switch(e){case Cr.NOT_EXECUTED:this._applyTreeResult(o);break;case Cr.STOP_EXECUTION:break;case Cr.SUCCESS:this._applyResult(o);break;case Cr.INITIAL:break}this._commandService.executeCommand(Pr.id,{functionsExecutedState:e},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(o=>{this._commandService.executeCommand(Pr.id,{stageInfo:o},{onlyLocal:!0})})}async _applyTreeResult(o){const{dependencyTreeModelData:e}=o;e.length>0&&this._commandService.executeCommand(gn.id,{result:e},{onlyLocal:!0})}async _applyResult(o){const{unitData:e,unitOtherData:t,arrayFormulaRange:r,arrayFormulaCellData:n,clearArrayFormulaCellData:s,arrayFormulaEmbedded:a,imageFormulaData:u,dependencyTreeModelData:l}=o;if(!e){this._applyTreeResult(o),console.error("No sheetData from Formula Engine!");return}(r||a)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(sn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:a},{onlyLocal:!0})),u&&u.length>0&&this._commandService.executeCommand(Ps.id,{imageFormulaData:u},{onlyLocal:!0}),this._applyTreeResult(o),this._commandService.executeCommand(hn.id,{unitData:cc(e),unitOtherData:t},{onlyLocal:!0})}},w.CalculateController=ih([Ea(0,S.ICommandService),Ea(1,Bn),Ea(2,S.Inject(w.FormulaDataModel))],w.CalculateController);const Uo=/[\[\]]/g;function xo(i,o){if(Uo.test(i)){const e=Number(i.replace(Uo,""));return o+e}return Number(i)-1}function Ra(i,o=0,e=0){i=i.toLocaleUpperCase();const t=i.split(/[RC]/),r=t[1],n=t[2],s=xo(r,o),a=xo(n,e);return{row:s,column:a,absoluteRefType:S.AbsoluteRefType.NONE}}function vo(i,o=0,e=0){const{refBody:t,sheetName:r,unitId:n}=un(i),s=t.indexOf(":");if(s===-1){const C=Ra(t,o,e),E=C.row,R=C.column,y=C.absoluteRefType;return{unitId:n,sheetName:r,range:{startRow:E,startColumn:R,endRow:E,endColumn:R,startAbsoluteRefType:y,endAbsoluteRefType:y}}}const a=t.substring(0,s),u=t.substring(s+1),l=Ra(a,o,e),c=Ra(u,o,e),f=l.row,m=l.column,d=c.row,_=c.column;return{unitId:n,sheetName:r,range:{startRow:f,startColumn:m,endRow:d,endColumn:_,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function oh(i){const o=kn(i.startRow,i.startAbsoluteRefType,!0),e=kn(i.startColumn,i.startAbsoluteRefType,!1),t=kn(i.endRow,i.endAbsoluteRefType,!0),r=kn(i.endColumn,i.endAbsoluteRefType,!1);return o===t&&e===r?`R${o}C${e}`:`R${o}C${e}:R${t}C${r}`}function kn(i,o=S.AbsoluteRefType.ALL,e){switch(i+=1,o){case S.AbsoluteRefType.ALL:return`${i}`;case S.AbsoluteRefType.ROW:return e?`${i}`:`[${i}]`;case S.AbsoluteRefType.COLUMN:return e?`[${i}]`:`${i}`;case S.AbsoluteRefType.NONE:return`[${i}]`}}function Xt(i){let o=i;if(i.isArray()){const e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return g.create(h.VALUE);o=i.get(0,0)}return o.isError(),o}function Yr(...i){for(let o=0;o<i.length;o++){const e=Xt(i[o]);if(e.isError())return{isError:!0,errorObject:e};i[o]=e}return{isError:!1,variants:i}}function q(...i){for(let o=0;o<i.length;o++){const e=Xt(i[o]);if(e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[o]=e}return{isError:!1,variants:i}}function Fe(...i){for(let o=0;o<i.length;o++){let e=i[o];if(e.isError())return{isError:!0,errorObject:e};if(e.isNull())return{isError:!0,errorObject:g.create(h.NA)};if(e=Xt(i[o]),e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[o]=e}return{isError:!1,variants:i}}function B(...i){for(let o=0;o<i.length;o++){let e=i[o];if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return{isError:!0,errorObject:e};i[o]=e}return{isError:!1,variants:i}}class V{constructor(o){A(this,"_unitId");A(this,"_subUnitId");A(this,"_row",-1);A(this,"_column",-1);A(this,"_definedNames");A(this,"_locale");A(this,"_sheetOrder");A(this,"_sheetNameMap");A(this,"_formulaDataModel");A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"needsExpandParams",!1);A(this,"needsReferenceObject",!1);A(this,"needsLocale",!1);A(this,"needsSheetsInfo",!1);A(this,"needsFormulaDataModel",!1);A(this,"needsSheetRowColumnCount",!1);A(this,"needsFilteredOutRows",!1);A(this,"minParams",-1);A(this,"maxParams",-1);this._name=o}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}dispose(){}getDefinedName(o){var t;const e=this._definedNames;return e==null?null:(t=Array.from(Object.values(e)).filter(r=>r.name===o))==null?void 0:t[0]}setDefinedNames(o){this._definedNames=o}getLocale(){return this._locale}setLocale(o){this._locale=o}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:o,sheetNameMap:e}){this._sheetOrder=o,this._sheetNameMap=e}setFormulaDataModel(o){this._formulaDataModel=o}setSheetRowColumnCount(o,e){this._rowCount=o,this._columnCount=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(o,e,t,r){this._unitId=o,this._subUnitId=e,this._row=t,this._column=r}calculateCustom(...o){return null}calculate(...o){return g.create(h.VALUE)}checkArrayType(o){return o.isReferenceObject()||o.isValueObject()&&o.isArray()}getIndexNumValue(o,e=1){let t=o;if(t.isArray()&&(t=t.getFirstCell()),t.isBoolean())return t.getValue()===!1?g.create(h.VALUE):e;if(t.isString()){const r=Number(t.getValue());return Number.isNaN(r)?g.create(h.REF):r}else if(t.isNumber())return t.getValue();return g.create(h.VALUE)}getZeroOrOneByOneDefault(o){if(o==null)return 1;let e=1;if(o.isArray()&&(o=o.getFirstCell()),o.isBoolean())o.getValue()===!1&&(e=0);else{if(o.isString())return;o.isNumber()&&o.getValue()===0&&(e=0)}return e}getMatchTypeValue(o){if(o==null)return 1;let e=1;if(o.isArray()&&(o=o.getFirstCell()),o.isBoolean())o.getValue()===!1&&(e=0);else{if(o.isString())return;if(o.isNumber()){const t=o.getValue();t<=0&&(e=t)}}return e}binarySearch(o,e,t,r,n){const s=e.binarySearch(o,r,n);if(s==null)return g.create(h.NA);let a;return t.getRowCount()===1?a=t.get(0,s)||ce.create():a=t.get(s,0)||ce.create(),a.isNull()?b.create(0):a}_getOneFirstByRaw(o){return o.length===0?g.create(h.NA):o[0][0]||g.create(h.NA)}_getOneLastByRaw(o){return o.length===0?g.create(h.NA):o[o.length-1][o[0].length-1]||g.create(h.NA)}equalSearch(o,e,t,r=!0){const n=t.pickRaw(e.isEqual(o));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}fuzzySearch(o,e,t,r=!0){const n=t.pickRaw(e.compare(o,H.EQUALS));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}orderSearch(o,e,t,r=Le.MIN,n=!1){const s=e.orderSearch(o,r,n);if(s==null)return g.create(h.NA);const a=t.get(s.row,s.column)||ce.create();return a.isNull()?g.create(h.NA):a}binarySearchExpand(o,e,t,r=0,n,s){const a=e.binarySearch(o,n,s);return a==null?g.create(h.NA):r===0?t.slice([a,a+1]):t.slice(void 0,[a,a+1])}equalSearchExpand(o,e,t,r=!0,n=0){const s=e.isEqual(o);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}fuzzySearchExpand(o,e,t,r=!0,n=0){const s=e.compare(o,H.EQUALS);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}orderSearchExpand(o,e,t,r=Le.MIN,n=!1,s=0){const a=e.orderSearch(o,r,n);return a==null?g.create(h.NA):s===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}flattenArray(o,e=!0){const t=[];t[0]=[];for(let r=0;r<o.length;r++){let n=o[r];if((n.isString()||n.isBoolean()||n.isNull())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){let s;if(n.iterator(a=>{if(a==null||a.isNull()||e&&(a.isString()||a.isBoolean()))return!0;if(a=this._includingLogicalValuesAndText(a),a.isError())return s=a,!1;t[0].push(a)}),s!=null&&s.isError())return s}else t[0].push(n)}return at(t,1,t[0].length)}_includingLogicalValuesAndText(o){if(o.isBoolean()&&(o=fm(o)),o.isString()){const e=Number(o.getValue());o=b.create(Number.isNaN(e)?0:e)}return o}createReferenceObject(o,e){const t=o.getForcedUnitId()||o.getDefaultUnitId()||"",r=o.getForcedSheetId()||o.getDefaultUnitId()||"",n=o.getForcedSheetName(),a=an({unitId:t,sheetName:n,range:e});let u;return Sr(a)?u=new na(a):bi(a)?u=new aa(a):pi(a)?u=new sa(a):u=new vr(e,r,t),this._setReferenceDefault(o,u)}_setReferenceDefault(o,e){if(this.unitId==null||this.subUnitId==null)return g.create(h.REF);e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId);const t=o.getUnitId();t!=null&&e.setForcedUnitIdDirect(t);const r=o.getForcedSheetId();return r!=null&&e.setForcedSheetIdDirect(r),e.setForcedSheetName(o.getForcedSheetName()),e.setUnitData(o.getUnitData()),e.setRuntimeData(o.getRuntimeData()),e.setArrayFormulaCellData(o.getArrayFormulaCellData()),e.setUnitStylesData(o.getUnitStylesData()),e}}class uh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;const{isError:n,errorObject:s,variants:a}=Yr(t,r);if(n)return s;const{isError:u,errorObject:l,variants:c}=B(...a);if(u)return l;const[f,m]=c,d=Math.floor(+f.getValue()),_=Math.floor(+m.getValue());if(d<0||_<0)return g.create(h.NUM);if(d===0||_===0)return g.create(h.REF);const C=e.isArray()?e.getRowCount():1,E=e.isArray()?e.getColumnCount():1;if(C===1&&E===1)return e.isArray()?e.get(0,0):e;const R=d>C?C:d,y=_>E?E:_;return e.slice([0,R],[0,y])}}class lh extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r],s=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1;for(let u=0;u<s;u++)for(let l=0;l<a;l++){const c=n.isArray()?n.get(u,l):n;t.push([c])}}return Z.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}var $n=(i=>(i.ARRAY_CONSTRAIN="ARRAY_CONSTRAIN",i.FLATTEN="FLATTEN",i))($n||{});const Io=[[uh,$n.ARRAY_CONSTRAIN],[lh,$n.FLATTEN]];var Er;(i=>{const o=.636619772;function e(n,s){let a=0;for(let u=0;u<n.length;++u)a=s*a+n[u];return a}function t(n,s,a,u,l){if(s===0)return a;if(s===1)return u;const c=2/n;let f=a,m=u,d=u;for(let _=1;_<s;++_)d=m*_*c+l*f,f=m,m=d;return d}function r(n,s,a,u){return function(c,f){if(a){if(c===0)return a===1?-1/0:1/0;if(c<0)return Number.NaN}if(f===0)return n(c);if(f===1)return s(c);if(f<0)return Number.NaN;const m=f|0,d=n(c),_=s(c);return t(c,m,d,_,u)}}i.besselj=(()=>{const n=[-184.9052456,77392.33017,-1121442418e-2,6516196407e-1,-13362590354,57568490574],s=[1,267.8532712,59272.64853,9494680718e-3,1029532985,57568490411],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],u=[-934935152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function l(C){let E=0,R=0,y=0,p=C*C;if(C<8)R=e(n,p),y=e(s,p),E=R/y;else{const N=C-.785398164;p=64/p,R=e(a,p),y=e(u,p),E=Math.sqrt(o/C)*(Math.cos(N)*R-Math.sin(N)*y*8/C)}return E}const c=[-30.16036606,15704.4826,-2972611439e-3,2423968531e-1,-7895059235,72362614232],f=[1,376.9991397,99447.43394,1858330474e-2,2300535178,144725228442],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,R=0,y=0,p=C*C;const N=Math.abs(C)-2.356194491;return Math.abs(C)<8?(R=C*e(c,p),y=e(f,p),E=R/y):(p=64/p,R=e(m,p),y=e(d,p),E=Math.sqrt(o/Math.abs(C))*(Math.cos(N)*R-Math.sin(N)*y*8/Math.abs(C)),C<0&&(E=-E)),E}return function C(E,R){const y=Math.round(R);if(!Number.isFinite(E))return Number.isNaN(E)?E:0;if(y<0)return(y%2?-1:1)*C(E,-y);if(E<0)return(y%2?-1:1)*C(-E,y);if(y===0)return l(E);if(y===1)return _(E);if(E===0)return 0;let p=0;if(E>y)p=t(E,y,l(E),_(E),-1);else{const N=2*Math.floor((y+Math.floor(Math.sqrt(40*y)))/2);let M=!1,D=0,L=0,P=1,j=0;const I=2/E;for(let v=N;v>0;v--)if(j=v*I*P-D,D=P,P=j,Math.abs(P)>1e10&&(P*=1e-10,D*=1e-10,p*=1e-10,L*=1e-10),M&&(L+=P),M=!M,v===y&&(p=D),N-v>100&&p===0)return Number.NaN;L=2*L-P,p/=L}return p}})(),i.bessely=(()=>{const n=[228.4622733,-86327.92757,1087988129e-2,-5123598036e-1,7062834065,-2957821389],s=[1,226.1030244,47447.2647,7189466438e-3,7452499648e-1,40076544269],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],u=[-934945152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function l(C){let E=0,R=0,y=0,p=C*C;const N=C-.785398164;return C<8?(R=e(n,p),y=e(s,p),E=R/y+o*(0,i.besselj)(C,0)*Math.log(C)):(p=64/p,R=e(a,p),y=e(u,p),E=Math.sqrt(o/C)*(Math.sin(N)*R+Math.cos(N)*y*8/C)),E}const c=[8511.937935,-4237922726e-3,7349264551e-1,-51534381390,127527439e4,-4900604943e3],f=[1,354.9632885,102042.605,2245904002e-2,3733650367,424441966400,249958057e5],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,R=0,y=0,p=C*C;const N=C-2.356194491;return C<8?(R=C*e(c,p),y=e(f,p),E=R/y+o*((0,i.besselj)(C,1)*Math.log(C)-1/C)):(p=64/p,R=e(m,p),y=e(d,p),E=Math.sqrt(o/C)*(Math.sin(N)*R+Math.cos(N)*y*8/C)),E}return r(l,_,1,-1)})(),i.besseli=(()=>{const n=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],s=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function a(f){return f<=3.75?e(n,f*f/(3.75*3.75)):Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(s,3.75/Math.abs(f))}const u=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],l=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function c(f){return f<3.75?f*e(u,f*f/(3.75*3.75)):(f<0?-1:1)*Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(l,3.75/Math.abs(f))}return function f(m,d){const _=Math.round(d);if(_===0)return a(m);if(_===1)return c(m);if(_<0)return Number.NaN;if(Math.abs(m)===0)return 0;if(m===1/0)return 1/0;let C=0,E;const R=2/Math.abs(m);let y=0,p=1,N=0;const M=2*Math.round((_+Math.round(Math.sqrt(40*_)))/2);for(E=M;E>0;E--)if(N=E*R*p+y,y=p,p=N,Math.abs(p)>1e10&&(p*=1e-10,y*=1e-10,C*=1e-10),E===_&&(C=y),M-E>100&&C===0)return Number.NaN;return C*=f(m,0)/p,m<0&&_%2?-C:C}})(),i.besselk=(()=>{const n=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],s=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function a(f){return f<=2?-Math.log(f/2)*(0,i.besseli)(f,0)+e(n,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(s,2/f)}const u=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],l=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function c(f){return f<=2?Math.log(f/2)*(0,i.besseli)(f,1)+1/f*e(u,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(l,2/f)}return r(a,c,2,1)})()})(Er||(Er={}));function ya(i){return/^[01]{1,10}$/.test(i)}function ba(i){return/^[0-7]{1,10}$/.test(i)}function pa(i){return/^[0-9A-Fa-f]{1,10}$/.test(i)}function Kt(i){if(i===0)return 0;const o=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,15626441722e-18,-85238095915e-18,6529054439e-18,5059343495e-18,-991364156e-18,-227365122e-18,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18];let e=i,t=!1;e<0&&(e=-e,t=!0);const r=2/(2+e),n=4*r-2;let s=0,a=0,u;for(let c=o.length-1;c>0;c--)u=s,s=n*s-a+o[c],a=u;const l=r*Math.exp(-e*e+.5*(o[0]+n*s)-a);return t?l-1:1-l}function Na(i){return 1-Kt(i)}function ch(i){if(i>=2)return-100;if(i<=0)return 100;const o=i<1?i:2-i,e=Math.sqrt(-2*Math.log(o/2));let t=-.70711*((2.30753+e*.27061)/(1+e*(.99229+e*.04481))-e);for(let r=0;r<2;r++){const n=Na(t)-o;t+=n/(1.1283791670955126*Math.exp(-t*t)-t*n)}return i<1?t:-t}function Rr(i,o=1){let e=Math.floor(i);if(i<0)return Number.NaN;let t=1;for(;e>1&&Number.isFinite(t);)t*=e,e-=o;return t}function Zt(i,o){const e=Math.min(i-o,o);let t=1;for(let r=1;r<=e&&Number.isFinite(t);r++)t*=i-r+1,t/=r;return t}function Va(i,o){let e=Math.floor(i),t=Math.floor(o);for(;t!==0;){const r=t;t=e%t,e=r}return e}function Fo(i,o){const e=Va(i,o);return e===0?0:Math.abs(i*o)/e}function Oa(i){const o=i.length;if(o===1)return i[0][0];if(o===2)return i[0][0]*i[1][1]-i[0][1]*i[1][0];const{rowSwap:e,smallPivotDetected:t,luMatrix:r,permutation:n}=Bo(i);if(t)return 0;let s=e?1:-1;for(let a=0;a<n.length;a++)s*=r[a][a];return s===0?0:s}function fh(i){const o=Oa(i);return o===0?null:i.length===1?[[1/o]]:hh(i).map(r=>r.map(n=>n/o))}function mh(i,o,e){return i.filter((t,r)=>r!==o).map(t=>t.filter((r,n)=>n!==e))}function hh(i){const o=i.length,e=Array.from({length:o},()=>new Array(o).fill(0));for(let t=0;t<o;t++)for(let r=0;r<o;r++){const s=((t+r)%2===0?1:-1)*Oa(mh(i,t,r));e[r][t]=s===0?0:s}return e}function yr(i,o){return i.map(e=>o[0].map((t,r)=>e.reduce((n,s,a)=>n+s*o[a][r],0)))}function _t(i){return i[0].map((o,e)=>i.map(t=>t[e]))}function gh(i){const{smallPivotDetected:o,luMatrix:e,permutation:t}=Bo(i);return o?null:dh(e,t)}function Bo(i){const o=_t(i),e=o.length,t=o[0].length;let r=!0,n=!1;const s=Sa(e,t,0),a=new Array(t).fill(0).map((u,l)=>l);for(let u=0;u<t;u++){for(let m=0;m<u;m++){let d=o[m][u];for(let _=0;_<m;_++)d-=s[m][_]*s[_][u];s[m][u]=d}let l=-1/0,c=u;for(let m=u;m<e;m++){let d=o[m][u];for(let C=0;C<u;C++)d-=s[m][C]*s[C][u];s[m][u]=d;const _=Math.abs(d);_>l&&(l=_,c=m)}if(Math.abs(s[c][u])<1e-11){n=!0;break}c!==u&&([s[u],s[c]]=[s[c],s[u]],[o[u],o[c]]=[o[c],o[u]],[a[u],a[c]]=[a[c],a[u]],r=!r);const f=s[u][u];for(let m=u+1;m<e;m++)s[m][u]/=f}return{rowSwap:r,smallPivotDetected:n,luMatrix:s,permutation:a}}function dh(i,o){const e=o.length,t=Sa(e,e,0);for(let n=0;n<e;n++)t[n][n]=1;const r=Sa(e,e,0);for(let n=0;n<e;n++){const s=o[n];for(let a=0;a<e;a++)r[n][a]=t[s][a]}for(let n=0;n<e;n++){const s=r[n];for(let a=n+1;a<e;a++){const u=i[a][n];for(let l=0;l<e;l++)r[a][l]-=s[l]*u}}for(let n=e-1;n>=0;n--){const s=r[n],a=i[n][n];for(let u=0;u<e;u++)s[u]/=a;for(let u=0;u<n;u++){const l=i[u][n];for(let c=0;c<e;c++)r[u][c]-=s[c]*l}}return r}function Sa(i,o,e){const t=[];for(let r=0;r<i;r++){t[r]=[];for(let n=0;n<o;n++)t[r].push(e)}return t}function Ch(i){const o=_h(i);if(!o)return null;const{matrixU:e,matrixS:t,matrixV:r}=o,n=_t(e),s=Array.from({length:t.length},()=>new Array(i[0].length).fill(0)),a=Math.max(i.length,i[0].length)*Number.EPSILON*t[0];for(let u=0;u<t.length;u++)Math.abs(t[u])>a&&(s[u][u]=1/t[u]);return yr(r,yr(s,n))}function _h(i){const o=_t(i),e=o.length,t=o[0].length;if(e<t)return null;const r=new Array(t).fill(0),n=new Array(t).fill(0),s=Array.from({length:t},()=>new Array(t).fill(0));let a=Number.EPSILON,u=0,l=0,c=0;for(let C=0;C<t;C++){if(r[C]=u,l=Ma(o,C,e,C,C),l<=1e-64/a)u=0;else{u=Math.sqrt(l),o[C][C]>=0&&(u=-u);const R=o[C][C]*u-l;o[C][C]-=u;for(let y=C+1;y<t;y++){l=Ma(o,C,e,C,y);for(let p=C;p<e;p++)o[p][y]+=l/R*o[p][C]}}if(n[C]=u,l=ko(o,C+1,t,C,C),l<=1e-64/a)u=0;else{u=Math.sqrt(l),o[C][C+1]>=0&&(u=-u);const R=o[C][C+1]*u-l;o[C][C+1]-=u;for(let y=C+1;y<t;y++)r[y]=o[C][y]/R;for(let y=C+1;y<e;y++){l=ko(o,C+1,t,y,C);for(let p=C+1;p<t;p++)o[y][p]+=l*r[p]}}const E=Math.abs(n[C])+Math.abs(r[C]);E>c&&(c=E)}let f=0;for(let C=t-1;C>=0;C--){if(u!==0){for(let E=f;E<t;E++)s[E][C]=o[C][E]/(u*o[C][C+1]);for(let E=f;E<t;E++){l=0;for(let R=f;R<t;R++)l+=o[C][R]*s[R][E];for(let R=f;R<t;R++)s[R][E]+=l*s[R][C]}}for(let E=f;E<t;E++)s[C][E]=0,s[E][C]=0;s[C][C]=1,u=r[C],f=C}for(let C=t-1;C>=0;C--){u=n[C];for(let E=C+1;E<t;E++)o[C][E]=0;if(u!==0){for(let E=C+1;E<t;E++){l=Ma(o,C+1,e,C,E);for(let R=C;R<e;R++)o[R][E]+=l/(o[C][C]*u)*o[R][C]}for(let E=C;E<e;E++)o[E][C]/=u}else for(let E=C;E<e;E++)o[E][C]=0;o[C][C]+=1}a*=c;let m=0,d=0,_=0;for(let C=t-1;C>=0;C--)for(let E=0;E<50;E++){let R=!1,y=C;for(;y>=0;y--){if(Math.abs(r[y])<=a){R=!0;break}if(Math.abs(n[y-1])<=a)break}if(!R){let D=0,L=1;for(let P=y;P<C+1&&(m=L*r[P],d=n[P],r[P]*=D,!(Math.abs(m)<=a));P++){_=Yn(m,d),n[P]=_,D=d/_,L=-m/_;for(let j=0;j<e;j++){const I=o[j][y-1],v=o[j][P];o[j][y-1]=I*D+v*L,o[j][P]=-I*L+v*D}}}if(y===C){if(n[C]<0){n[C]=-n[C];for(let D=0;D<t;D++)s[D][C]=-s[D][C]}break}if(E>=49)return null;let p=n[y];m=((n[C-1]-n[C])*(n[C-1]+n[C])+(r[C-1]-r[C])*(r[C-1]+r[C]))/(2*r[C]*n[C-1]),_=Yn(m,1),m<0?m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m-_)-r[C]))/p:m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m+_)-r[C]))/p;let N=1,M=1;for(let D=y+1;D<C+1;D++){let L=r[D],P=n[D];d=M*L,L*=N,_=Yn(m,d),r[D-1]=_,N=m/_,M=d/_,m=p*N+L*M,d=P*M,L=-p*M+L*N,P*=N;for(let j=0;j<t;j++){const I=s[j][D-1],v=s[j][D];s[j][D-1]=I*N+v*M,s[j][D]=-I*M+v*N}_=Yn(m,d),n[D-1]=_,N=m/_,M=d/_,m=N*L+M*P,p=-M*L+N*P;for(let j=0;j<e;j++){const I=o[j][D-1],v=o[j][D];o[j][D-1]=I*N+v*M,o[j][D]=-I*M+v*N}}r[y]=0,r[C]=m,n[C]=p}for(let C=0;C<n.length;C++)n[C]<a&&(n[C]=0);for(let C=0;C<t;C++)for(let E=C-1;E>=0;E--)if(n[E]<n[C]){const R=n[E];n[E]=n[C],n[C]=R;for(let y=0;y<o.length;y++){const p=o[y][C];o[y][C]=o[y][E],o[y][E]=p}for(let y=0;y<s.length;y++){const p=s[y][C];s[y][C]=s[y][E],s[y][E]=p}C=E}return{matrixU:o,matrixS:n,matrixV:s}}function Yn(i,o){let e=0;return Math.abs(i)>Math.abs(o)?(e=o/i,Math.abs(i)*Math.sqrt(1+e*e)):o!==0?(e=i/o,Math.abs(o)*Math.sqrt(1+e*e)):0}function Ma(i,o,e,t,r){let n=0;for(let s=o;s<e;s++)n+=i[s][t]*i[s][r];return n}function ko(i,o,e,t,r){let n=0;for(let s=o;s<e;s++)n+=i[t][s]*i[r][s];return n}const Hn=new Map([["I",1],["V",5],["X",10],["L",50],["C",100],["D",500],["M",1e3]]),Ah=new Map([[1,"I"],[4,"IV"],[5,"V"],[9,"IX"],[10,"X"],[40,"XL"],[45,"VL"],[49,"IL"],[50,"L"],[90,"XC"],[95,"VC"],[99,"IC"],[100,"C"],[400,"CD"],[450,"LD"],[490,"XD"],[495,"VD"],[499,"ID"],[500,"D"],[900,"CM"],[950,"LM"],[990,"XM"],[995,"VM"],[999,"IM"],[1e3,"M"]]),Eh=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function $o(i,o,e){return i<=0?0:i>=1?1:Gn(i,o,e)}function Rh(i,o,e){return i<=0||i>=1?0:o===1&&e===1?1:o<512&&e<512?i**(o-1)*(1-i)**(e-1)/wa(o,e):Math.exp((o-1)*Math.log(i)+(e-1)*Math.log(1-i)-La(o,e))}function Da(i,o,e){if(i<=0)return 0;if(i>=1)return 1;const t=1e-8;let r;if(o>=1&&e>=1){const l=i<.5?i:1-i,c=Math.sqrt(-2*Math.log(l));r=(2.30753+c*.27061)/(1+c*(.99229+c*.04481))-c,i<.5&&(r=-r);const f=(r*r-3)/6,m=2/(1/(2*o-1)+1/(2*e-1)),d=r*Math.sqrt(f+m)/m-(1/(2*e-1)-1/(2*o-1))*(f+5/6-2/(3*m));r=o/(o+e*Math.exp(2*d))}else{const l=Math.exp(o*Math.log(o/(o+e)))/o,c=Math.exp(e*Math.log(e/(o+e)))/e,f=l+c;i<l/f?r=(o*f*i)**(1/o):r=1-(e*f*(1-i))**(1/e)}const n=-La(o,e);let s,a,u;for(let l=0;l<10;l++){if(r===0||r===1)return r;if(s=Gn(r,o,e)-i,a=Math.exp((o-1)*Math.log(r)+(e-1)*Math.log(1-r)+n),u=s/a,r-=a=u/(1-.5*Math.min(1,u*((o-1)/r-(e-1)/(1-r)))),r<=0&&(r=.5*(r+a)),r>=1&&(r=.5*(r+a+1)),Math.abs(a)<t*r&&l>0)break}return r}function Gn(i,o,e){const t=i===0||i===1?0:Math.exp(ut(o+e)-ut(o)-ut(e)+o*Math.log(i)+e*Math.log(1-i));return i<(o+1)/(o+e+2)?t*Yo(i,o,e)/o:1-t*Yo(1-i,e,o)/e}function Yo(i,o,e){let n=1-(o+e)*i/(o+1);Math.abs(n)<1e-8&&(n=1e-8),n=1/n;let s=1,a=n;for(let u=1;u<=100;u++){let l=u*(e-u)*i/((o-1+u*2)*(o+u*2));if(n=1+l*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+l/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,l=-(o+u)*(o+e+u)*i/((o+u*2)*(o+1+u*2)),n=1+l*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+l/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,Math.abs(n*s-1)<1e-8)break}return a}function wa(i,o){return i+o>170?Math.exp(La(i,o)):Wn(i)*Wn(o)/Wn(i+o)}function La(i,o){return ut(i)+ut(o)-ut(i+o)}function Ho(i,o,e){if(i<0)return 0;if(i>=o)return 1;if(e<0||e>1||o<=0)return Number.NaN;let t=0;for(let r=0;r<=i;r++)t+=Pa(r,o,e);return t}function Pa(i,o,e){return e===0||e===1?o*e===i?1:0:Zt(o,i)*e**i*(1-e)**(o-i)}function ja(i,o){return i<=0?0:Ua(o/2,i/2)}function yh(i,o){return i<0?0:i===0&&o===2?.5:Math.exp((o/2-1)*Math.log(i)-i/2-o/2*Math.log(2)-ut(o/2))}function Go(i,o){return i<=0?0:i>=1?1/0:2*qo(i,o/2)}function Ta(i,o,e){return i<0?0:Gn(o*i/(o*i+e),o/2,e/2)}function bh(i,o,e){if(i<0)return 0;if(i===0&&o<2)return 1/0;if(i===0&&o===2)return 1;let t=1/wa(o/2,e/2);return t*=(o/e)**(o/2),t*=i**(o/2-1),t*=(1+o/e*i)**(-(o+e)/2),t}function Wo(i,o,e){return i<=0?0:i>=1?1/0:e/(o*(1/Da(i,o/2,e/2)-1))}function ph(i,o){return i<0?0:1-Math.exp(-o*i)}function Nh(i,o){return i<0?0:o*Math.exp(-o*i)}function Qo(i,o,e){const t=o.length;let r=0,n=0;for(let m=0;m<t;m++)r+=o[m],n+=e[m];const s=r/t,a=n/t;let u=0,l=0;for(let m=0;m<t;m++)u+=(o[m]-s)*(e[m]-a),l+=(e[m]-a)**2;if(l===0)return 1/0;const c=u/l;return s-c*a+c*i}function Wn(i){const o=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],e=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535];let t=0,r=i;if(i>171.6243769536076)return 1/0;if(r<=0){const f=r%1+36e-17;if(f)t=(r&1?-1:1)*Math.PI/Math.sin(Math.PI*f),r=1-r;else return 1/0}const n=r;let s=0,a;r<1?a=r++:a=(r-=s=(r|0)-1)-1;let u=0,l=0;for(let f=0;f<8;++f)u=(u+o[f])*a,l=l*a+e[f];let c=u/l+1;if(n<r)c/=n;else if(n>r)for(let f=0;f<s;++f)c*=r,r++;return t&&(c=t/c),c}function Vh(i,o,e){return i<=0?0:Ua(o,i/e)}function Oh(i,o,e){return i<0?0:i===0&&o===1?1/e:Math.exp((o-1)*Math.log(i)-i/e-ut(o)-o*Math.log(e))}function Sh(i,o,e){return i<=0?0:i>=1?1/0:e*qo(i,o)}function ut(i){const o=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];let e=i,t=i+5.5;t-=(i+.5)*Math.log(t);let r=1.000000000190015;for(let n=0;n<6;n++)r+=o[n]/++e;return-t+Math.log(2.5066282746310007*r/i)}function Ua(i,o){if(o<0||i<=0)return Number.NaN;const e=1e-30,t=-~(Math.log(i>=1?i:1/i)*8.5+i*.4+17),r=ut(i),n=Math.exp(-o+i*Math.log(o)-r);let s=i,a=1/i,u=a;if(o<i+1){if(n===0)return 0;for(let d=1;d<=t&&(a+=u*=o/++s,!(Math.abs(u)<Math.abs(a)*e));d++);return a*n}if(n===0)return 1;let l=o+1-i,c=1/e,f=1/l,m=f;for(let d=1;d<=t;d++){const _=-d*(d-i);if(l+=2,f=_*f+l,Math.abs(f)<e&&(f=e),c=l+_/c,Math.abs(c)<e&&(c=e),f=1/f,m*=f*c,Math.abs(f*c-1)<e)break}return 1-m*n}function qo(i,o){if(i<=0)return 0;if(i>=1)return Math.max(100,o+100*Math.sqrt(o));let e;if(o>1){const a=i<.5?i:1-i,u=Math.sqrt(-2*Math.log(a));e=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,i<.5&&(e=-e),e=Math.max(.001,o*(1-1/(9*o)-e/(3*Math.sqrt(o)))**3)}else{const a=1-o*(.253+o*.12);i<a?e=(i/a)**(1/o):e=1-Math.log(1-(i-a)/(1-a))}const t=1e-8,r=ut(o);let n,s;for(let a=0;a<12;a++){if(e<=0)return 0;if(n=Ua(o,e)-i,o>1?s=Math.exp((o-1)*(Math.log(o-1)-1)-r)*Math.exp(-(e-(o-1))+(o-1)*(Math.log(e)-Math.log(o-1))):s=Math.exp(-e+(o-1)*Math.log(e)-r),s!==0&&(s=n/s/(1-.5*Math.min(1,n/s*((o-1)/e-1)))),e-=s,e<=0&&(e=.5*(e+s)),Math.abs(s)<t*e)break}return e}function Mh(i,o,e,t){let r=0;for(let n=0;n<=i;n++)r+=xa(n,o,e,t);return r}function xa(i,o,e,t){return o-i>t-e?0:Zt(e,i)*Zt(t-e,o-i)/Zt(t,o)}function Xo(i,o,e){return i<0?0:.5+.5*Kt((Math.log(i)-o)/Math.sqrt(2*e*e))}function Dh(i,o,e){return i<=0?0:Math.exp(-Math.log(i)-.5*Math.log(2*Math.PI)-Math.log(e)-(Math.log(i)-o)**2/(2*e*e))}function wh(i,o,e){return Math.exp(Qn(i,o,e))}function Lh(i,o,e){if(i<0)return 0;let t=0;for(let r=0;r<=i;r++)t+=va(r,o,e);return t}function va(i,o,e){return i<0?0:Zt(i+o-1,o-1)*e**o*(1-e)**i}function Hr(i,o,e){return .5*(1+Kt((i-o)/Math.sqrt(2*e*e)))}function Ko(i,o,e){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(e)-(i-o)**2/(2*e*e))}function Qn(i,o,e){return-1.4142135623730951*e*ch(2*i)+o}function Ph(i,o){let e=0;for(let t=0;t<=i;t++)e+=Zo(t,o);return e}function Zo(i,o){return Math.exp(-o)*o**i/Rr(i)}function Gr(i,o){const e=.5*Gn(o/(i**2+o),o/2,.5);return i<0?e:1-e}function jh(i,o){const e=(1+i**2/o)**(-(o+1)/2);return 1/(Math.sqrt(o)*wa(.5,o/2))*e}function qn(i,o){let e=Da(2*Math.min(i,1-i),.5*o,.5);return e=Math.sqrt(o*(1-e)/e),i>.5?e:-e}function Ze(i,o,e,t,r){const n=[],s=[];let a=!0;for(let u=0;u<e;u++){const l=Math.floor(u/t),c=u%t,f=Math.floor(u/r),m=u%r,d=i.isArray()?i.get(l,c):i,_=o.isArray()?o.get(f,m):o;if(d.isError())return{isError:!0,errorObject:d,array1Values:n,array2Values:s,noCalculate:a};if(_.isError())return{isError:!0,errorObject:_,array1Values:n,array2Values:s,noCalculate:a};if(d.isNull()||_.isNull()||d.isBoolean()||_.isBoolean())continue;const C=d.getValue(),E=_.getValue();!S.isRealNum(C)||!S.isRealNum(E)||(n.push(+C),s.push(+E),a=!1)}return{isError:!1,errorObject:null,array1Values:n,array2Values:s,noCalculate:a}}function Xn(i,o,e){const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;let n=t,s=r;if(o&&!o.isNull()&&(n=o.isArray()?o.getRowCount():1,s=o.isArray()?o.getColumnCount():1,t===1&&s!==r||r===1&&n!==t||t!==1&&r!==1&&(n!==t||s!==r)))return{isError:!0,errorObject:g.create(h.REF)};if(e&&!e.isNull()){const a=e.isArray()?e.getRowCount():1,u=e.isArray()?e.getColumnCount():1;if(t===1&&n>1&&a!==n||r===1&&s>1&&u!==s)return{isError:!0,errorObject:g.create(h.REF)}}return{isError:!1,errorObject:null}}function At(i){const o=i.isArray()?i.getRowCount():1,e=i.isArray()?i.getColumnCount():1,t=[];for(let r=0;r<o;r++){t[r]=[];for(let n=0;n<e;n++){const s=i.isArray()?i.get(r,n):i;if(s.isError()||s.isNull()||s.isBoolean()||s.isString())return g.create(h.VALUE);t[r].push(+s.getValue())}}return t}function Kn(i,o){const e=[];let t=1;for(let r=0;r<i;r++){e[r]=[];for(let n=0;n<o;n++)e[r].push(t++)}return e}function Zn(i,o,e,t){let r=o;t&&(r=o.map(a=>Math.log(a)));let n,s;return e?{slope:n,intercept:s}=Th(i,r):{slope:n,intercept:s}=Uh(i,r),t&&(n=Math.exp(n),s=Math.exp(s)),Number.isNaN(n)&&!e&&(n=0),{slope:n,intercept:s,Y:r}}function Th(i,o){const e=o.length;let t=0,r=0,n=0,s=0;for(let c=0;c<e;c++)t+=i[c],r+=o[c],n+=i[c]*i[c],s+=i[c]*o[c];const u=(e*s-t*r)/(e*n-t*t),l=1/e*r-u*(1/e)*t;return{slope:u,intercept:l}}function Uh(i,o){const e=[[...i]],t=[...o];let r=e.length,n=e[0].length,s=Math.min(r,n);const a=new Array(s).fill(0);for(let l=0;l<s;l++){const c=e[l];let f=0;for(let d=0;d<n;d++)f+=c[d]**2;const m=c[l]<0?Math.sqrt(f):-Math.sqrt(f);if(a[l]=m,m!==0){c[l]-=m;for(let d=l+1;d<r;d++){let _=0;for(let C=l;C<n;C++)_-=e[d][C]*c[C];_/=m*c[l];for(let C=l;C<n;C++)e[d][C]-=_*c[C]}}}r=e.length,n=e[0].length,s=Math.min(r,n);const u=new Array(r).fill(0);for(let l=0;l<s;l++){const c=e[l];let f=0;for(let m=0;m<n;m++)f+=t[m]*c[m];f/=a[l]*c[l];for(let m=0;m<n;m++)t[m]+=f*c[m]}for(let l=a.length-1;l>=0;l--){t[l]/=a[l];const c=t[l],f=e[l];u[l]=c;for(let m=0;m<l;m++)t[m]-=c*f[m]}return{slope:u[0],intercept:0}}function zn(i,o,e,t,r){const n=i.length===1&&i[0].length>1;let s=i;r&&(s=i.map(C=>C.map(E=>Math.log(E))));let a=o,u=e;n&&(s=_t(s),a=_t(a),u=_t(u)),t&&(a=a.map(C=>[...C,1]));const l=_t(a),c=yr(l,a),f=yr(l,s);let m=gh(c);if(!m&&(m=Ch(c),!m))return g.create(h.NA);let d=yr(m,f);t||d.push([0]),d=_t(d);const _=d[0].pop();if(d[0].reverse(),d[0].push(_),r)for(let C=0;C<d[0].length;C++)d[0][C]=Math.exp(d[0][C]);return{coefficients:d,Y:s,X:a,newX:u,XTXInverse:m}}function zo(i){const o=[],e=[];let t=!1;for(let r=0;r<i.length;r++){const n=i[r];if(n.isReferenceObject())n.isMultiArea()?o.push(n):e.push(n);else{t=!0;break}}return{isError:t,multiAreaRefs:o,normalRefs:e}}var Se=(i=>(i.AVERAGE="AVERAGE",i.COUNT="COUNT",i.COUNTA="COUNTA",i.MAX="MAX",i.MIN="MIN",i.PRODUCT="PRODUCT",i.STDEV="STDEV",i.STDEV_S="STDEV.S",i.STDEVP="STDEVP",i.STDEV_P="STDEV.P",i.SUM="SUM",i.VAR="VAR",i.VAR_S="VAR.S",i.VARP="VARP",i.VAR_P="VAR.P",i.MEDIAN="MEDIAN",i.MODE_SNGL="MODE.SNGL",i))(Se||{});function Jo(i,o){const e=i[o];return e?e.hd===S.BooleanNumber.TRUE:!1}function eu(i,o,e,t,r,n){const s=i.getValue(o,e);if(s!=null&&s.f||s!=null&&s.si){const a=n.getFormulaStringByCell(o,e,t,r);if(a&&(a.indexOf(`${$.SUBTOTAL}(`)>-1||a.indexOf(`${$.AGGREGATE}(`)>-1))return!0}return!1}function tu(i,o){const e=Object.entries(i).filter(([t,{count:r}])=>r===o).sort((t,r)=>t[1].order-r[1].order).map(([t])=>+t);return b.create(e[0])}function ru(i,o){var y,p;const{type:e,ignoreRowHidden:t,ignoreErrorValues:r,ignoreNested:n,formulaDataModel:s}=i,a=[];let u=0,l=0,c=0,f=0,m=0,d=0,_=1;const C={};let E=1,R=0;for(let N=0;N<o.length;N++){const M=o[N],D=M.getFilteredOutRows(),L=M.getRowData(),P=M.getUnitId(),j=M.getSheetId(),v=(p=(y=M.getUnitData()[P])==null?void 0:y[j])==null?void 0:p.cellData;let Y;if(M.iterator((Q,se,te)=>{if(D.includes(se)||t&&Jo(L,se)||n&&eu(v,se,te,j,P,s))return!0;if(e==="COUNT")return Q!=null&&Q.isNumber()&&u++,!0;if(e==="COUNTA")return Q!=null&&!Q.isNull()&&l++,!0;if(Q!=null&&Q.isError())return r?!0:(Y=Q,!1);if(!Q||Q.isNull()||Q.isBoolean()||Q.isString())return!0;let W=Q.getValue();if(!S.isRealNum(W))return!0;if(W=+W,f++,e==="MAX")return m=f===1?W:Math.max(m,W),!0;if(e==="MIN")return d=f===1?W:Math.min(d,W),!0;if(e==="MODE.SNGL")return C[W]?(C[W].count++,C[W].count>E&&(E=C[W].count)):C[W]={count:1,order:R++},!0;c+=W,_*=W,a.push(Q)}),Y!=null&&Y.isError())return Y}switch(e){case"AVERAGE":return f===0?g.create(h.DIV_BY_ZERO):b.create(c/f);case"COUNT":return b.create(u);case"COUNTA":return b.create(l);case"MAX":return b.create(m);case"MIN":return b.create(d);case"PRODUCT":return b.create(f===0?0:_);case"STDEV":case"STDEV.S":return f<2?g.create(h.DIV_BY_ZERO):at([a],1,f).std(1);case"STDEVP":case"STDEV.P":return f===0?g.create(h.DIV_BY_ZERO):at([a],1,f).std();case"SUM":return b.create(c);case"VAR":case"VAR.S":return f<2?g.create(h.DIV_BY_ZERO):at([a],1,f).var(1);case"VARP":case"VAR.P":return f===0?g.create(h.DIV_BY_ZERO):at([a],1,f).var();case"MEDIAN":return f===0?g.create(h.NUM):nu(a.map(N=>+N.getValue()));case"MODE.SNGL":return R===0||E===1?g.create(h.NA):tu(C,E);default:return g.create(h.VALUE)}}function zt(i,o,e){var a,u;const{ignoreRowHidden:t=!1,ignoreErrorValues:r=!1,ignoreNested:n=!1}=o!=null?o:{},s=[];if(i.isReferenceObject()){const l=i.getFilteredOutRows(),c=i.getRowData(),f=i.getUnitId(),m=i.getSheetId(),_=(u=(a=i.getUnitData()[f])==null?void 0:a[m])==null?void 0:u.cellData;let C;if(i.iterator((E,R,y)=>{if(l.includes(R)||t&&Jo(c,R))return!0;if(E!=null&&E.isError())return r?!0:(C=E,!1);if(n&&e&&eu(_,R,y,m,f,e)||!E||E.isNull()||E.isBoolean()||E.isString())return!0;const p=E.getValue();if(!S.isRealNum(p))return!0;s.push(+p)}),C)return C}else{const l=i.isArray()?i.getRowCount():1,c=i.isArray()?i.getColumnCount():1;for(let f=0;f<l;f++)for(let m=0;m<c;m++){const d=i.isArray()?i.get(f,m):i;if(d.isError()){if(r)continue;return d}if(!d||d.isNull()||d.isBoolean()||d.isString())continue;const _=d.getValue();S.isRealNum(_)&&s.push(+_)}}return s.length===0?g.create(h.NUM):s}function nu(i){const o=i.length;i.sort((t,r)=>t-r);let e;if(o%2===0){const t=o/2;e=(i[t-1]+i[t])/2}else e=i[Math.floor(o/2)];return b.create(e)}function su(i,o){if(o<1||o>i.length)return g.create(h.NUM);i.sort((t,r)=>r-t);const e=Math.ceil(o);return b.create(i[e-1])}function au(i,o){if(o<1||o>i.length)return g.create(h.NUM);i.sort((t,r)=>t-r);const e=Math.floor(o);return b.create(i[e-1])}function iu(i,o){const e=i.length;if(o<0||o>1)return g.create(h.NUM);i.sort((a,u)=>a-u);const t=o*(e-1),r=Math.floor(t),n=t-r;if(n===0)return b.create(i[r]);const s=i[r]+n*(i[r+1]-i[r]);return b.create(s)}function ou(i,o){const e=i.length;if(o<1/(e+1)||o>1-1/(e+1))return g.create(h.NUM);i.sort((a,u)=>a-u);const t=o*(e+1)-1,r=Math.floor(t),n=t-r;if(n===0)return b.create(i[r]);const s=i[r]+n*(i[r+1]-i[r]);return b.create(s)}function uu(i,o){const e=i.length;if(o<0||o>4)return g.create(h.NUM);i.sort((u,l)=>u-l);const r=o/4*(e-1),n=Math.floor(r),s=r-n;if(s===0)return b.create(i[n]);const a=i[n]+s*(i[n+1]-i[n]);return b.create(a)}function lu(i,o){const e=i.length;if(o<=0||o>=4)return g.create(h.NUM);i.sort((u,l)=>u-l);const t=o/4;if(t<1/(e+1)||t>1-1/(e+1))return g.create(h.NUM);const r=t*(e+1)-1,n=Math.floor(r),s=r-n;if(s===0)return b.create(i[n]);const a=i[n]+s*(i[n+1]-i[n]);return b.create(a)}class cu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:b.create(0),u=s!=null?s:b.create(1);a.isNull()&&(a=b.create(0)),u.isNull()&&(u=b.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.mapValue((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p);return this._handleSingleObject(R,N,M,D,L)});return l===1&&c===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:u,variants:l}=B(e,t,r,n,s);if(a)return u;const[c,f,m,d,_]=l,C=+c.getValue(),E=+f.getValue(),R=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||R<=0||C<=0||C>=1||y>=p)return g.create(h.NUM);const N=Da(C,E,R)*(p-y)+y;return b.create(N)}}class fu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=Math.floor(+c.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||d>_||C<0||C>1)return g.create(h.NUM);let R;return E?R=Ho(d,_,C):R=Pa(d,_,C),b.create(R)}}class mu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=Math.floor(+u.getValue()),m=+l.getValue(),d=+c.getValue();if(f<0||m<=0||m>=1||d<=0||d>=1)return g.create(h.NUM);let _=0;for(;_<=f&&!(Ho(_,f,m)>=d);)_++;return b.create(_)}}class hu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||c<1||c>10**10)return g.create(h.NUM);const f=1-ja(l,c);return b.create(f)}}class gu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Go(1-l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class du extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.NA);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d,r,n)}_getResult(e,t,r,n){let s=0;for(let l=0;l<e.length;l++){if(t[l]===0)return g.create(h.DIV_BY_ZERO);s+=(e[l]-t[l])**2/t[l]}let a=(r-1)*(n-1);r===1?a=n-1:n===1&&(a=r-1);const u=1-ja(s,a);return b.create(u)}}class Cu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=Math.floor(+M.getValue());if(D<=0||D>=1||L<=0||P<1)return g.create(h.NUM);const j=Math.abs(Qn(D/2,0,1)*L/Math.sqrt(P));return b.create(j)});return n===1&&s===1?c.get(0,0):c}}class _u extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let c=0;c<r;c++)n+=e[c],s+=t[c];const a=n/r,u=s/r;let l=0;for(let c=0;c<r;c++){const f=e[c]-a,m=t[c]-u;l+=f*m}return b.create(l/r)}}class Au extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<0||m<=0)return g.create(h.NUM);let _;return d?_=ph(f,m):_=Nh(f,m),b.create(_)}}class Eu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=1-Ta(f,m,d);return b.create(_)}}class Ru extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=Wo(1-f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class yu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variance:s,ns1:a}=this._getValues(e);if(r)return n;const{isError:u,errorObject:l,variance:c,ns1:f}=this._getValues(t);if(u)return l;let m=2*(1-Ta(s/c,a,f));return m>1&&(m=2-m),b.create(m)}_getValues(e){let t=0,r=0;const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;if(n===1&&s===1){const f=e.isArray()?e.get(0,0):e;return f.isError()?{isError:!0,errorObject:f,variance:t,ns1:r}:f.isNull()?{isError:!0,errorObject:g.create(h.VALUE),variance:t,ns1:r}:{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}}const a=[];let u=0;for(let f=0;f<n;f++)for(let m=0;m<s;m++){const d=e.isArray()?e.get(f,m):e;if(d.isError())return{isError:!0,errorObject:d,variance:t,ns1:r};if(d.isNull()||d.isBoolean())continue;const _=d.getValue();S.isRealNum(_)&&(a.push(+_),u+=+_)}if(a.length<=1)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r};const l=u/a.length;let c=0;for(let f=0;f<a.length;f++)c+=(a[f]-l)**2;return r=a.length-1,t=c/r,t===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}:{isError:!1,errorObject:null,variance:t,ns1:r}}}class bu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);let R;return E?R=Vh(d,_,C):R=Oh(d,_,C),b.create(R)}}class pu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<0||f>1||m<=0||d<=0)return g.create(h.NUM);const _=Sh(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class Nu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=wh(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class Vu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const c=a.convertToNumberObjectValue();if(c.isError())return c}const u=a.isArray()?a.getRowCount():1,l=a.isArray()?a.getColumnCount():1;for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=a.isArray()?a.get(c,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();S.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):tu(t,n)}}class Ou extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(C<=0)return g.create(h.NUM);let R;return E?R=Hr(d,_,C):R=Ko(d,_,C),b.create(R)}}class Su extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=Qn(f,m,d);return b.create(_)}}class Mu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0||a>=1)return g.create(h.NUM);const u=Qn(a,0,1);return b.create(u)}}class Du extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=zt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return iu(e,u)}}class wu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:b.create(3);s.isNull()&&(s=b.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,t,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&u===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=Math.floor(+l.getValue()),m=e.length;if(m===0||c<e[0]||c>e[m-1])return g.create(h.NA);if(m===1)return c===e[0]?b.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)c===e[C]?(d=C/(m-1),_=!0):c>e[C]&&C+1<m&&c<e[C+1]&&(d=(C+(c-e[C])/(e[C+1]-e[C]))/(m-1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=Qe(d,f),b.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean())continue;const l=u.getValue();S.isRealNum(l)&&n.push(+l)}return n.sort((s,a)=>s-a)}}class Lu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=Math.floor(+u.getValue()),m=+l.getValue(),d=+c.getValue();if(f<0||m<0)return g.create(h.NUM);let _;return d?_=Ph(f,m):_=Zo(f,m),b.create(_)}}class Pu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=zt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=Math.floor(+a.getValue());return uu(e,u)}}class ju extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class Tu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Uu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<=0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Math.abs(qn(l/2,c));return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class xu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,array1Values:u,array2Values:l}=this._handleArray1AndArray2(e,t),c=this._getArrayValues(e),f=this._getArrayValues(t),m=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),d=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),_=O(m,d,r,g.create(h.NA)),C=O(m,d,n,g.create(h.NA)),E=_.mapValue((R,y,p)=>{const N=C.get(y,p);if(e.isError())return e;if(t.isError())return t;if(R.isError())return R;if(N.isError())return N;const{isError:M,errorObject:D,variants:L}=B(R,N);if(M)return D;const[P,j]=L,I=Math.floor(+P.getValue()),v=Math.floor(+j.getValue());return![1,2].includes(I)||![1,2,3].includes(v)?g.create(h.NUM):v===1&&s?a:v!==1&&c instanceof g?c:v!==1&&f instanceof g?f:this._handleSingleObject(v===1?u:c,v===1?l:f,I,v)});return m===1&&d===1?E.get(0,0):E}_handleSingleObject(e,t,r,n){if(e.length<2||t.length<2)return g.create(h.DIV_BY_ZERO);const{isError:s,errorObject:a,x:u,degFreedom:l}=this._getTDistParamByArrayValues(e,t,n);if(s)return a;let c=Gr(-u,l);return r===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?g.create(h.NUM):b.create(c)}_getArrayValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()){if(t*r===1)return g.create(h.VALUE);continue}u.isBoolean()||u.isString()||n.push(+u.getValue())}return n}_handleArray1AndArray2(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return{isError:!0,errorObject:u,array1Values:[],array2Values:[]};let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return{isError:!0,errorObject:l,array1Values:[],array2Values:[]};if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),array1Values:[],array2Values:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),array1Values:[],array2Values:[]};const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?{isError:!0,errorObject:f,array1Values:[],array2Values:[]}:_||m.length<2?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:m,array2Values:d}}_getTDistParamByArrayValues(e,t,r){return r===1?this._getTDistParamByType1(e,t):r===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){const r=e.length;let n=0,s=0,a=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m],a+=(e[m]-t[m])**2;const u=n-s,l=r*a-u**2,c=r-1;return l===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:c}:{isError:!1,errorObject:null,x:Math.abs(u)*Math.sqrt(c/l),degFreedom:c}}_getTDistParamByType2(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let E=0;E<r;E++)s+=e[E],a+=e[E]**2;let u=0,l=0;for(let E=0;E<n;E++)u+=t[E],l+=t[E]**2;const c=a-s**2/r,f=l-u**2/n,m=Math.sqrt(c+f);if(m===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const d=r-1+n-1,_=Math.sqrt(r*n*d/(r+n));return{isError:!1,errorObject:null,x:Math.abs(s/r-u/n)/m*_,degFreedom:d}}_getTDistParamByType3(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let C=0;C<r;C++)s+=e[C],a+=e[C]**2;let u=0,l=0;for(let C=0;C<n;C++)u+=t[C],l+=t[C]**2;const c=(a-s**2/r)/(r*(r-1)),f=(l-u**2/n)/(n*(n-1));if(c+f===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const m=c/(c+f),d=Math.abs(s/r-u/n)/Math.sqrt(c+f),_=1/(m**2/(r-1)+(1-m)**2/(n-1));return{isError:!1,errorObject:null,x:d,degFreedom:_}}}class vu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class Iu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}class Fu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);const R=Math.exp(-((d/C)**_));let y;return E?y=1-R:y=_/C**_*d**(_-1)*R,Number.isNaN(y)||!Number.isFinite(y)?g.create(h.NUM):b.create(y)}}class Bu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getArrayValues(e),s=Math.max(t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),u=O(s,a,t,g.create(h.NA)),l=r?O(s,a,r,g.create(h.NA)):void 0,c=u.mapValue((f,m,d)=>{if(n instanceof g)return n;if(f.isError())return f;const _=r?l.get(m,d):void 0;return _!=null&&_.isError()?_:n.length===0?g.create(h.NA):n.length===1?g.create(h.DIV_BY_ZERO):this._handleSingleObject(n,f,_)});return s===1&&a===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=+u.getValue(),c=e.length;let f=0,m=0;for(let E=0;E<c;E++)f+=e[E],m+=e[E]**2;let d=0;if(r!==void 0){const{isError:E,errorObject:R,variants:y}=B(r);if(E)return R;const[p]=y;d=+p.getValue()}else{const E=f/c;d=Math.sqrt((m-2*E*f+c*E**2)/(c-1))}if(d<=0)return g.create(h.NUM);const _=(f/c-l)/(d/Math.sqrt(c)),C=1-Hr(_,0,1);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}_getArrayValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean()||u.isString())continue;const l=u.getValue();S.isRealNum(l)&&t.push(+l)}return t}}class xh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:b.create(0),u=s!=null?s:b.create(1);a.isNull()&&(a=b.create(0)),u.isNull()&&(u=b.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.mapValue((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p);return this._handleSingleObject(R,N,M,D,L)});return l===1&&c===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:u,variants:l}=B(e,t,r,n,s);if(a)return u;const[c,f,m,d,_]=l,C=+c.getValue(),E=+f.getValue(),R=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||R<=0||C<y||C>p||y===p)return g.create(h.NUM);const N=$o((C-y)/(p-y),E,R);return b.create(N)}}var he=(i=>(i.BETADIST="BETADIST",i.BETAINV="BETAINV",i.BINOMDIST="BINOMDIST",i.CHIDIST="CHIDIST",i.CHIINV="CHIINV",i.CHITEST="CHITEST",i.CONFIDENCE="CONFIDENCE",i.COVAR="COVAR",i.CRITBINOM="CRITBINOM",i.EXPONDIST="EXPONDIST",i.FDIST="FDIST",i.FINV="FINV",i.FTEST="FTEST",i.GAMMADIST="GAMMADIST",i.GAMMAINV="GAMMAINV",i.HYPGEOMDIST="HYPGEOMDIST",i.LOGINV="LOGINV",i.LOGNORMDIST="LOGNORMDIST",i.MODE="MODE",i.NEGBINOMDIST="NEGBINOMDIST",i.NORMDIST="NORMDIST",i.NORMINV="NORMINV",i.NORMSDIST="NORMSDIST",i.NORMSINV="NORMSINV",i.PERCENTILE="PERCENTILE",i.PERCENTRANK="PERCENTRANK",i.POISSON="POISSON",i.QUARTILE="QUARTILE",i.RANK="RANK",i.STDEV="STDEV",i.STDEVP="STDEVP",i.TDIST="TDIST",i.TINV="TINV",i.TTEST="TTEST",i.VAR="VAR",i.VARP="VARP",i.WEIBULL="WEIBULL",i.ZTEST="ZTEST",i))(he||{});class vh extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=Math.floor(+c.getValue()),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||d>_||d>C||d<_-E+C||_<=0||_>E||C<=0||C>E||E<=0)return g.create(h.NUM);let R=xa(d,_,C,E);return Number.isNaN(R)&&(R=0),b.create(R)}}class Ih extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||d<=0)return g.create(h.NUM);const _=Xo(f,m,d);return b.create(_)}}class Fh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=Math.floor(+u.getValue()),m=Math.floor(+l.getValue()),d=+c.getValue();if(f<0||m<1||d<=0||d>=1)return g.create(h.NUM);const _=va(f,m,d);return b.create(_)}}class Bh extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Hr(a,0,1);return b.create(u)}}class kh extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:u}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.map((C,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),N=+y.getValue();if(Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);const D=u.sort((L,P)=>N?L-P:P-L).indexOf(p);return D===-1?g.create(h.NA):b.create(D+1)});return c===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const u=a;if(u.isError())return t=!0,r=u,!1;if(u.isNull()||u.isBoolean())return!0;const l=+u.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class $h extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||m<1||m>10**10||d<1||d>2)return g.create(h.NUM);let _=Gr(-f,m);return d===2&&(_*=2),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}const ku=[[xh,he.BETADIST],[cu,he.BETAINV],[fu,he.BINOMDIST],[hu,he.CHIDIST],[gu,he.CHIINV],[du,he.CHITEST],[Cu,he.CONFIDENCE],[_u,he.COVAR],[mu,he.CRITBINOM],[Au,he.EXPONDIST],[Eu,he.FDIST],[Ru,he.FINV],[yu,he.FTEST],[bu,he.GAMMADIST],[pu,he.GAMMAINV],[vh,he.HYPGEOMDIST],[Ih,he.LOGNORMDIST],[Nu,he.LOGINV],[Vu,he.MODE],[Fh,he.NEGBINOMDIST],[Ou,he.NORMDIST],[Su,he.NORMINV],[Bh,he.NORMSDIST],[Mu,he.NORMSINV],[Du,he.PERCENTILE],[wu,he.PERCENTRANK],[Lu,he.POISSON],[Pu,he.QUARTILE],[kh,he.RANK],[Tu,he.STDEV],[ju,he.STDEVP],[$h,he.TDIST],[Uu,he.TINV],[xu,he.TTEST],[Iu,he.VAR],[vu,he.VARP],[Fu,he.WEIBULL],[Bu,he.ZTEST]],$u=[];var Yu=(i=>(i.CUBEKPIMEMBER="CUBEKPIMEMBER",i.CUBEMEMBER="CUBEMEMBER",i.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",i.CUBERANKEDMEMBER="CUBERANKEDMEMBER",i.CUBESET="CUBESET",i.CUBESETCOUNT="CUBESETCOUNT",i.CUBEVALUE="CUBEVALUE",i))(Yu||{});class Hu extends V{isCustom(){return!0}}class Yh extends Hu{isAsync(){return!0}}function ze(i){const o=[];if(i.isError())return{isError:!0,errorObject:i,databaseValues:o};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),databaseValues:o};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}let u=`${a.getValue()}`;if(a.isBoolean()&&(u=u.toLocaleUpperCase()),a.isNumber()||S.isRealNum(u)){n.push(+u);continue}n.push(u)}o.push(n)}return{isError:!1,errorObject:null,databaseValues:o}}function Je(i,o){let e=-1;if(i.isError())return{isError:!0,errorObject:i,fieldIndex:e};const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;if(t>1||r>1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};const n=i.isArray()?i.get(0,0):i;let s=`${n.getValue()}`;if(n.isNull()?s=0:n.isBoolean()?s=n.getValue()?1:0:(n.isNumber()||S.isRealNum(s))&&(s=Math.floor(+s)),typeof s=="number"){if(s<1||s>o[0].length)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};e=s-1}else if(e=o[0].findIndex(a=>a===null?!1:`${a}`.toLocaleLowerCase()===s.toLocaleLowerCase()),e===-1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};return{isError:!1,errorObject:null,fieldIndex:e}}function et(i){const o=[];if(i.isError())return{isError:!0,errorObject:i,criteriaValues:o};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),criteriaValues:o};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}const u=`${a.getValue()}`;if(a.isBoolean()){n.push(a.getValue()?1:0);continue}if(a.isNumber()||S.isRealNum(u)){n.push(+u);continue}n.push(u)}o.push(n)}return{isError:!1,errorObject:null,criteriaValues:o}}function tt(i,o,e){const t=i.length,r=i[0].length,n={};let s=!1;for(let a=1;a<t;a++){let u=!0;for(let l=0;l<r;l++){const c=i[a][l];if(c===null)continue;let f=n[l];if(f===void 0){const m=i[0][l];f=o[0].findIndex(d=>d===null||m===null?!1:`${d}`.toLocaleLowerCase()===`${m}`.toLocaleLowerCase()),n[l]=f}if(f===-1&&(typeof c=="string"||c===0)){u=!1;break}else if(f>-1){const m=o[e][f];if(m===null){u=!1;break}const[d,_]=ia(`${c}`);if(!ht.create(`${m}`).compare(_,d).getValue()){u=!1;break}}}if(u){s=!0;break}}return s}class Hh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_+=R,C++)}return C===0?g.create(h.DIV_BY_ZERO):b.create(_/C)}}class Gh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++)typeof a[C][c]=="number"&&tt(d,a,C)&&_++;return b.create(_)}}class Wh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][c];E!=null&&tt(d,a,C)&&_++}return b.create(_)}}class Qh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];R!=null&&tt(d,a,E)&&(_++,C=E)}return _===0?g.create(h.VALUE):_>1?g.create(h.NUM):e.get(C,c)}}class qh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=-1/0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_=Math.max(_,R),C++)}return C===0?b.create(0):b.create(_)}}class Xh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=1/0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_=Math.min(_,R),C++)}return C===0?b.create(0):b.create(_)}}class Kh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=1,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_*=R,C++)}return C===0?b.create(0):b.create(_)}}class Zh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=Math.sqrt(y/(E-1));return b.create(p)}}class zh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=Math.sqrt(y/E);return b.create(p)}}class Jh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][c];typeof E=="number"&&tt(d,a,C)&&(_+=E)}return b.create(_)}}class eg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=y/(E-1);return b.create(p)}}class tg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=y/E;return b.create(p)}}var He=(i=>(i.DAVERAGE="DAVERAGE",i.DCOUNT="DCOUNT",i.DCOUNTA="DCOUNTA",i.DGET="DGET",i.DMAX="DMAX",i.DMIN="DMIN",i.DPRODUCT="DPRODUCT",i.DSTDEV="DSTDEV",i.DSTDEVP="DSTDEVP",i.DSUM="DSUM",i.DVAR="DVAR",i.DVARP="DVARP",i))(He||{});const Gu=[[Hh,He.DAVERAGE],[Gh,He.DCOUNT],[Wh,He.DCOUNTA],[Qh,He.DGET],[qh,He.DMAX],[Xh,He.DMIN],[Kh,He.DPRODUCT],[Zh,He.DSTDEV],[zh,He.DSTDEVP],[Jh,He.DSUM],[eg,He.DVAR],[tg,He.DVARP]],Ia="yyyy/mm/dd;@",rg="yyyy/mm/dd hh:mm",ng="h:mm A/P";function ye(i){const o=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate());let r=(t-o.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function Wr(i){const o=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(i.getTime()-o.getTime())/(1e3*3600*24);return i>e&&(r+=1),r+1}function ie(i){const o=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(i)-1;return t>(e.getTime()-o.getTime())/(1e3*3600*24)&&(t-=1),new Date(o.getTime()+t*(1e3*3600*24))}function Fa(i){const o=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=i-1;return t>(e.getTime()-o.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=i),new Date(o.getTime()+t*(1e3*3600*24))}function Ba(i){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(i))return!1;const e=i.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getDate().toString().padStart(2,"0"),a=`${r}-${n}-${s}`;return i.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===a}function Jn(i){return S.numfmt.parseDate(i)}function es(i){return S.numfmt.parseTime(i)}function ka(i){return S.numfmt.getFormatInfo(i).isDate}const Wu={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function Qr(i){return!!(typeof i=="string"&&/^[0|1]{7}/.test(i)||Wu[Number(i)])}function Qu(i){if(!Qr(i))return[];if(typeof i=="string"&&/^[0|1]{7}/.test(i)){const o=[];for(let e=1;e<=i.length;e++)`${i[e-1]}`=="1"&&(e===i.length?o.push(0):o.push(e));return o}return Wu[Number(i)]||[]}function ts(i,o,e=1,t){const r=Qu(e),n=Math.floor(i),s=Math.floor(o),a=s>n?n:s;let u=0;const l=Math.abs(Math.floor(o)-Math.floor(i))+1;for(let c=0;c<l;c++){const f=a+c;if(t&&t.length>0&&t.some(d=>Math.floor(d)===f))continue;const m=Jt(f);r.includes(m)||u++}return s>=n?u:-u}function rs(i,o,e=1,t){const r=Qu(e),n=Math.floor(i);let s=n,a=Math.abs(o);for(let u=1;u<=a;u++){const l=o<0?n-u:n+u;if(l<0)return g.create(h.NUM);if(t&&t.length>0&&t.some(f=>Math.floor(f)===l)){a++;continue}const c=Jt(l);if(r.includes(c)){a++;continue}s=l}return s}function G(i){if(i.isError())return i;const o=i.getValue();if(i.isString()){let e;if(Jn(`${o}`))e=Jn(`${o}`).v;else if(es(`${o}`))e=es(`${o}`).v;else if(S.isRealNum(o))e=+o;else return g.create(h.VALUE);return e instanceof Date&&(e=Wr(e)),+e<0||+e>2958465?g.create(h.NUM):+e}else{const e=+i.getValue();return e<0||e>2958465?g.create(h.NUM):e}}function Jt(i){const o=Math.floor(i)===60;let e=ie(i);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!o&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}function _e(i,o,e){switch(e){case 0:return sg(i,o);case 1:return ag(i,o);case 2:return{days:Math.abs(o-i),yearDays:360};case 3:return{days:Math.abs(o-i),yearDays:365};case 4:return ig(i,o);default:return{days:Math.abs(o-i),yearDays:365}}}function sg(i,o){const e=ie(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0,s=ie(o),a=o>0?s.getUTCFullYear():1900,u=o>0?s.getUTCMonth()+1:1,l=o>0?s.getUTCDate():0;r===2?ie(i+1).getUTCMonth()+1===3&&(n=30):n===31&&(n=30),l===31&&(n<30?(s=ie(o+1),a=s.getUTCFullYear(),u=s.getUTCMonth()+1,l=s.getUTCDate()):l=30);const c=(a-t)*360,f=o>=i?30-n:-n,m=o>=i?l:l-30,d=(o>=i?u-r-1:u-r+1)*30;return{days:Math.abs(c+f+m+d),yearDays:360}}function ag(i,o){const e=ie(i),t=i>0?e.getUTCFullYear():1900,r=ie(o),n=o>0?r.getUTCFullYear():1900,s=Math.abs(o-i),a=Math.abs(n-t)+1;let u,l;if(n<t){const c=new Date(Date.UTC(n,0,1)),f=new Date(Date.UTC(t,11,31));u=ye(c),l=ye(f),n===1900&&(u+=1)}else{const c=new Date(Date.UTC(t,0,1)),f=new Date(Date.UTC(n,11,31));u=ye(c),l=ye(f),t===1900&&(u+=1)}return{days:s,yearDays:(l-u+1)/a}}function ig(i,o){const e=ie(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0;const s=ie(o),a=o>0?s.getUTCFullYear():1900,u=o>0?s.getUTCMonth()+1:1;let l=o>0?s.getUTCDate():0;n===31&&(n=30),l===31&&(l=30);const c=(a-t)*360,f=o>=i?30-n:-n,m=o>=i?l:l-30,d=(o>=i?u-r-1:u-r+1)*30;return{days:Math.abs(c+f+m+d),yearDays:360}}function og(i){return i%4===0&&i%100!==0||i%400===0}function ug(i){return i%4===0&&i%100!==0||i%400===0||i===1900}const lg=[31,29,31,30,31,30,31,31,30,31,30,31],cg=[31,28,31,30,31,30,31,31,30,31,30,31];function qr(i,o){return og(i)?lg[o]:cg[o]}function ns(i){return ug(i)?366:365}function qu(i,o){switch(o){case 0:case 2:case 4:return 360;case 1:return ns(ie(i).getUTCFullYear());case 3:return 365;default:return-1}}function br(i,o,e){return qr(i,o)===e}function pr(i,o){let e=i.getUTCFullYear(),t=i.getUTCMonth();const r=i.getUTCDate();return br(e,t,r)?(i.setUTCDate(1),i.setUTCMonth(i.getUTCMonth()+o),e=i.getUTCFullYear(),t=i.getUTCMonth(),i.setUTCDate(qr(e,t))):i.setUTCMonth(i.getUTCMonth()+o),i}class fg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y;let D=Math.floor(+p.getValue());const L=Math.floor(+N.getValue()),P=Math.floor(+M.getValue());if(D<0||D>9999)return g.create(h.NUM);D>=0&&D<1899&&(D+=1900);const j=new Date(D,L-1,P),I=ye(j);return I<0?g.create(h.NUM):b.create(I,Ia)});return n===1&&s===1?c.get(0,0):c}}class mg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t,a=r;if(n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),a.isArray()&&(a=a.get(0,0)),n.isError())return n;if(s.isError())return s;if(a.isError())return a;const u=G(n);if(typeof u!="number")return u;const l=G(s);return typeof l!="number"?l:l<u||!a.isString()?g.create(h.NUM):this._getResultByUnit(u,l,a)}_getResultByUnit(e,t,r){const n=ie(e),s=n.getUTCFullYear(),a=n.getUTCMonth()+1,u=n.getUTCDate(),l=ie(t),c=l.getUTCFullYear(),f=l.getUTCMonth()+1,m=l.getUTCDate(),d=`${r.getValue()}`.toLocaleUpperCase();let _=0,C;switch(d){case"Y":_=c-s,(f<a||f===a&&m<u)&&(_-=1);break;case"M":_=(c-s)*12+f-a,m<u&&(_-=1);break;case"D":_=Math.floor(t)-Math.floor(e);break;case"MD":_=m-u,m<u&&(C=new Date(Date.UTC(c,f-1,0)),_+=qr(C.getUTCFullYear(),C.getUTCMonth()));break;case"YM":_=f-a,(f<a||f===a&&m<u)&&(_+=12),m<u&&(_-=1);break;case"YD":C=new Date(Date.UTC(s,f-1,m)),(f<a||f===a&&m<u)&&(C=new Date(Date.UTC(s+1,f-1,m))),_=Math.floor(ye(C))-Math.floor(e);break;default:return g.create(h.NUM)}return b.create(_)}}class hg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`;let r=Jn(t);if(r===null&&(r=es(t)),r){let{v:n,z:s}=r;if(s&&ka(s))return n instanceof Date&&(n=Wr(n)),b.create(Math.trunc(+n))}}return g.create(h.VALUE)}}class gg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!Ba(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return b.create(0);t=ie(a)}const n=t.getDate();return b.create(n)}}class dg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),u=s.map((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const d=G(l);if(typeof d!="number")return d;const _=G(m);if(typeof _!="number")return _;const C=Math.floor(d)-Math.floor(_);return b.create(C)});return r===1&&n===1?u.get(0,0):u}}class Cg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:F.create(!1);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.map((m,d,_)=>{const C=l.get(d,_);let E=c.get(d,_);if(m.isError())return m;const R=G(m);if(typeof R!="number")return R;if(C.isError())return C;const y=G(C);if(typeof y!="number")return y;if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;const p=+E.getValue(),{days:N}=_e(R,y,p?4:0),M=y>=R?N:-N;return b.create(M)});return s===1&&a===1?f.get(0,0):f}}class _g extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.map((u,l,c)=>{const f=a.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 g.create(h.VALUE);const m=+u.getValue();if(m<0)return g.create(h.NUM);const d=Math.floor(+f.getValue()),_=ie(m),C=_.getUTCFullYear(),E=_.getUTCMonth()+d,R=_.getUTCDate(),y=new Date(Date.UTC(C,E,R)),p=ye(y);return b.create(p,Ia)})}}class Ag extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;if(r.isArray()){const d=r.getRowCount(),_=r.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);r=r.get(0,0)}if(n.isArray()){const d=n.getRowCount(),_=n.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);n=n.get(0,0)}if(r.isError())return r;if(n.isError())return n;const s=G(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=ie(s),u=s>0?a.getUTCFullYear():1900,l=s>0?a.getUTCMonth():0,c=Math.floor(+n.getValue());if(Number.isNaN(c))return g.create(h.VALUE);const f=new Date(Date.UTC(u,l+c+1,0)),m=ye(f);return b.create(m)}}class Eg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){const r=t!=null?t:b.create(1),{isError:n,errorObject:s,timestampIsReferenceObject:a,timestampObject:u,unitObject:l}=this._checkVariants(e,r);if(n)return s;if(u.isNull()||u.isBoolean()||u.isString()||!a&&u.isNumber()&&u.getPattern()!=="")return g.create(h.VALUE);let c=+u.getValue();const{isError:f,errorObject:m,variants:d}=B(l);if(f)return m;const[_]=d,C=Math.floor(+_.getValue());if(c<0||C<1||C>3)return g.create(h.NUM);C===1&&(c=c*1e3),C===3&&(c=c/1e3);const E=new Date(Date.UTC(1970,0,1,0,0,0,0)+c);if(Number.isNaN(E.getTime())){const R=25569+c/864e5;return b.create(R)}else{const R=Wr(E);return b.create(R,"yyyy-MM-dd AM/PM hh:mm:ss")}}_checkVariants(e,t){const r=e.isReferenceObject(),n=t.isReferenceObject();let s=e;if(r&&(s=e.toArrayValueObject()),s.isArray()){const u=s.getRowCount(),l=s.getColumnCount();if(u>1||l>1)return{isError:!0,errorObject:g.create(h.VALUE)};s=s.get(0,0)}if(s.isError())return{isError:!0,errorObject:s};let a=t;if(n&&(a=t.toArrayValueObject()),a.isArray()){const u=a.getRowCount(),l=a.getColumnCount();if(u>1||l>1)return{isError:!0,errorObject:g.create(h.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:r,timestampObject:s,unitIsReferenceObject:n,unitObject:a}}}var Ae=(i=>(i.DATE="DATE",i.DATEDIF="DATEDIF",i.DATEVALUE="DATEVALUE",i.DAY="DAY",i.DAYS="DAYS",i.DAYS360="DAYS360",i.EDATE="EDATE",i.EOMONTH="EOMONTH",i.EPOCHTODATE="EPOCHTODATE",i.HOUR="HOUR",i.ISOWEEKNUM="ISOWEEKNUM",i.MINUTE="MINUTE",i.MONTH="MONTH",i.NETWORKDAYS="NETWORKDAYS",i.NETWORKDAYS_INTL="NETWORKDAYS.INTL",i.NOW="NOW",i.SECOND="SECOND",i.TIME="TIME",i.TIMEVALUE="TIMEVALUE",i.TO_DATE="TO_DATE",i.TODAY="TODAY",i.WEEKDAY="WEEKDAY",i.WEEKNUM="WEEKNUM",i.WORKDAY="WORKDAY",i.WORKDAY_INTL="WORKDAY.INTL",i.YEAR="YEAR",i.YEARFRAC="YEARFRAC",i))(Ae||{});class Rg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=Fa(t).getUTCHours();return b.create(n)}}class yg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;const r=ie(t),n=t>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=ye(s),u=Jt(a),l;u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u),t<l&&(s=new Date(Date.UTC(n-1,0,1)),a=ye(s),u=Jt(a),u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u));const c=Math.ceil((t-l+1)/7);return b.create(c)}}class bg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=Fa(t).getUTCMinutes();return b.create(n)}}class pg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 r=e.getValue();if(e.isString()){if(!Ba(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return b.create(1);t=ie(a)}const n=t.getUTCMonth()+1;return b.create(n)}}class Ng extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const c=n.getRowCount(),f=n.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const c=s.getRowCount(),f=s.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=G(n);if(typeof a!="number")return a;const u=G(s);if(typeof u!="number")return u;if(r)return this._getResultByHolidays(a,u,r);const l=ts(a,u);return b.create(l)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),u=r.getColumnCount();for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=r.get(l,c);if(f.isBoolean())return g.create(h.VALUE);const m=G(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=G(r);if(typeof a!="number")return a;n.push(a)}const s=ts(e,t,1,n);return b.create(s)}}class Vg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let s=e,a=t;if(s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(a.isArray()){const m=a.getRowCount(),d=a.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isError())return a;let u=1;if(r){if(u=r.getValue(),r.isBoolean()&&(u=+u),r.isString()&&!Qr(u))return g.create(h.VALUE);if(!Qr(u))return g.create(h.NUM)}if(s.isBoolean()||a.isBoolean())return g.create(h.VALUE);const l=G(s);if(typeof l!="number")return l;const c=G(a);if(typeof c!="number")return c;if(n)return this._getResultByHolidays(l,c,u,n);const f=ts(l,c,u);return b.create(f)}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const u=n.getRowCount(),l=n.getColumnCount();for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=n.get(c,f);if(m.isBoolean())return g.create(h.VALUE);const d=G(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const u=G(n);if(typeof u!="number")return u;s.push(u)}const a=ts(e,t,r,s);return b.create(a)}}class Og extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=Wr(t);return b.create(r,rg)}}class Sg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=Fa(t).getUTCSeconds();return b.create(n)}}class Mg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e),u=O(n,s,t),l=O(n,s,r);return a.map((c,f,m)=>this._calculateTime(c,u,l,f,m))}_calculateTime(e,t,r,n,s){let a=e,u=t.get(n,s)||ce.create(),l=r.get(n,s)||ce.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(u.isString()||u.isBoolean())&&(u=u.convertToNumberObjectValue()),(l.isString()||l.isBoolean())&&(l=l.convertToNumberObjectValue()),a.isError())return a;if(u.isError())return u;if(l.isError())return l;let c=Math.floor(+a.getValue()),f=Math.floor(+u.getValue()),m=Math.floor(+l.getValue());if(c<0||f<0||m<0||c>32767||f>32767||m>32767)return g.create(h.NUM);f+=Math.floor(m/60),m%=60,c+=Math.floor(f/60),f%=60,c%=24;const _=(c*3600+f*60+m)/86400;return b.create(_,ng)}}class Dg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`,r=S.getNumfmtParseValueFilter(t);if(r){let{v:n,z:s}=r;if(s&&ka(s))return n instanceof Date&&(n=Wr(n)),b.create(nm(+n))}}return g.create(h.VALUE)}}class wg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){const t=e.isReferenceObject();let r=e;if(t&&(r=e.toArrayValueObject()),r.isArray()){const s=r.getRowCount(),a=r.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError()||r.isNull()||r.isBoolean()||r.isString()||!t&&r.isNumber()&&r.getPattern()!=="")return r;const n=+r.getValue();return b.create(n,"yyyy-MM-dd hh:mm:ss AM/PM")}}class Lg extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=ye(new Date);return b.create(e,Ia)}}class Pg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{const d=u.get(f,m);return this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(r.isError())return r;const n=G(e);if(typeof n!="number")return n;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()))return r;const s=Math.floor(+r.getValue());if(!this._returnTypeMap[s])return g.create(h.NUM);const a=Jt(n),u=this._returnTypeMap[s][a];return b.create(u)}}class jg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let r=e,n=t!=null?t:b.create(1);if(r.isArray()){const u=r.getRowCount(),l=r.getColumnCount();if(u>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isArray()){const u=n.getRowCount(),l=n.getColumnCount();if(u>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean())return g.create(h.VALUE);const s=G(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=Math.floor(+n.getValue());return Number.isNaN(a)?g.create(h.VALUE):a in this._returnTypeMap?this._getResult(s,a):g.create(h.NUM)}_getResult(e,t){const r=ie(e),n=e>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=ye(s),u=Jt(a),l;if(t===21)u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u),e<l&&(s=new Date(Date.UTC(n-1,0,1)),a=ye(s),u=Jt(a),u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u));else{const f=this._returnTypeMap[t];u<f?l=a-(u+7-f):l=a-(u-f)}const c=Math.ceil((e-l+1)/7);return b.create(c)}}class Tg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const c=n.getRowCount(),f=n.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const c=s.getRowCount(),f=s.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=G(n);if(typeof a!="number")return a;const u=+s.getValue();if(Number.isNaN(u))return g.create(h.VALUE);if(r)return this._getResultByHolidays(a,u,r);const l=rs(a,u);return typeof l!="number"?l:b.create(l)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),u=r.getColumnCount();for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=r.get(l,c);if(f.isBoolean())return g.create(h.VALUE);const m=G(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=G(r);if(typeof a!="number")return a;n.push(a)}const s=rs(e,t,1,n);return typeof s!="number"?s:b.create(s)}}class Ug extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){const s=r!=null?r:b.create(1),a=this._checkArrayError(e);if(a.isError())return a;const u=this._checkArrayError(t);if(u.isError())return u;if(a.isBoolean()||u.isBoolean())return g.create(h.VALUE);const l=G(e);if(typeof l!="number")return l;const c=+t.getValue();if(Number.isNaN(c))return g.create(h.VALUE);let f=s.getValue();if(s.isBoolean()&&(f=+f),s.isString()&&(!Qr(f)||f==="1111111"))return g.create(h.VALUE);if(!Qr(f))return g.create(h.NUM);if(n)return this._getResultByHolidays(l,c,f,n);const m=rs(l,c,f);return typeof m!="number"?m:b.create(m)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const u=n.getRowCount(),l=n.getColumnCount();for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=n.get(c,f);if(m.isBoolean())return g.create(h.VALUE);const d=G(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const u=G(n);if(typeof u!="number")return u;s.push(u)}const a=rs(e,t,r,s);return typeof a!="number"?a:b.create(a)}}class xg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 r=e.getValue();if(e.isString()){if(!Ba(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+r;if(a<0)return g.create(h.NUM);if(a===0)return b.create(1900);t=ie(a)}const n=t.getUTCFullYear();return b.create(n)}}class vg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:b.create(0);const s=Xt(e);if(s.isError())return s;const a=Xt(t);if(a.isError())return a;if(n=Xt(n),n.isError())return n;if(s.isBoolean()||a.isBoolean()||n.isBoolean())return g.create(h.VALUE);const u=G(s);if(typeof u!="number")return u;const l=G(a);if(typeof l!="number")return l;const c=Math.floor(+n.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(c<0||c>4)return g.create(h.NUM);const{days:f,yearDays:m}=_e(u,l,c),d=f/m;return b.create(d)}}const Xu=[[fg,Ae.DATE],[mg,Ae.DATEDIF],[hg,Ae.DATEVALUE],[gg,Ae.DAY],[dg,Ae.DAYS],[Cg,Ae.DAYS360],[_g,Ae.EDATE],[Ag,Ae.EOMONTH],[Eg,Ae.EPOCHTODATE],[Rg,Ae.HOUR],[yg,Ae.ISOWEEKNUM],[bg,Ae.MINUTE],[pg,Ae.MONTH],[Ng,Ae.NETWORKDAYS],[Vg,Ae.NETWORKDAYS_INTL],[Og,Ae.NOW],[Sg,Ae.SECOND],[Mg,Ae.TIME],[Dg,Ae.TIMEVALUE],[wg,Ae.TO_DATE],[Lg,Ae.TODAY],[Pg,Ae.WEEKDAY],[jg,Ae.WEEKNUM],[Tg,Ae.WORKDAY],[Ug,Ae.WORKDAY_INTL],[xg,Ae.YEAR],[vg,Ae.YEARFRAC]];class Ig extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Er.besseli(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Fg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Er.besselj(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Bg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Er.besselk(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class kg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=Er.bessely(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class $g extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!ya(a))return g.create(h.NUM);let u;return a.length===10&&a.substring(0,1)==="1"?u=Number.parseInt(a.substring(1),2)-512:u=Number.parseInt(a,2),b.create(u)}}class Yg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!ya(l))return g.create(h.NUM);let c;if(l.length===10&&l.substring(0,1)==="1")c=(0xfffffffe00+Number.parseInt(l.substring(1),2)).toString(16);else if(c=Number.parseInt(l,2).toString(16),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c.toLocaleUpperCase())}}class Hg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!ya(l))return g.create(h.NUM);let c;if(l.length===10&&l.substring(0,1)==="1")c=(1073741312+Number.parseInt(l.substring(1),2)).toString(8);else if(c=Number.parseInt(l,2).toString(8),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Gg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_&C;return b.create(E)});return r===1&&n===1?u.get(0,0):u}}class Wg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)<<BigInt(C):BigInt(_)>>BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class Qg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=Number(BigInt(_)|BigInt(C));return b.create(E)});return r===1&&n===1?u.get(0,0):u}}class qg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)>>BigInt(C):BigInt(_)<<BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class Xg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_^C;return b.create(E)});return r===1&&n===1?u.get(0,0):u}}U.prototype.cos=function(){const i=this.toNumber();return new U(Math.cos(i))};let ge=class me{constructor(o){A(this,"_inumber","");A(this,"_realNum",0);A(this,"_iNum",0);A(this,"_suffix","");A(this,"_isError",!1);if(`${o}`.trim()===""){this._isError=!0;return}this._inumber=o,this._getImReal(),this._getImAginary(),this._getImSuffix()}static getComplex(o,e,t){const r=new U(o).toSignificantDigits(15).toNumber(),n=new U(e).toSignificantDigits(15).toNumber(),s=t===""?"i":t;let a;if(r===0&&n===0)a=0;else if(r===0)a=n===1?s:`${n}${s}`;else if(n===0)a=r;else{const u=n>0?"+":"",l=n===1?s:`${n}${s}`;a=`${r}${u}${l}`}return a}static createByComplexStr(o,e,t){const r=me.getComplex(o,e,t);return new me(r)}_getImReal(){if(this._inumber===0||this._inumber==="0"){this._realNum=0;return}const o=`${this._inumber}`;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(o)>=0){this._realNum=0;return}let e=o.indexOf("+"),t=o.indexOf("-");e===0&&(e=o.indexOf("+",1)),t===0&&(t=o.indexOf("-",1));const r=o.substring(o.length-1,o.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+o.substring(0,e))||Number.isNaN(+o.substring(e+1,o.length-1))?this._isError=!0:this._realNum=+o.substring(0,e):Number.isNaN(+o.substring(0,t))||Number.isNaN(+o.substring(t+1,o.length-1))?this._isError=!0:this._realNum=+o.substring(0,t)}else n?Number.isNaN(+o.substring(0,o.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+o)?this._isError=!0:this._realNum=+o}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber==="0"){this._iNum=0;return}let o=`${this._inumber}`;if(["i","j"].indexOf(o)>=0){this._iNum=1;return}o=o.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");let e=o.indexOf("+"),t=o.indexOf("-");e===0&&(e=o.indexOf("+",1)),t===0&&(t=o.indexOf("-",1));const r=o.substring(o.length-1,o.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+o.substring(0,e))||Number.isNaN(+o.substring(e+1,o.length-1))?this._isError=!0:this._iNum=+o.substring(e+1,o.length-1):Number.isNaN(+o.substring(0,t))||Number.isNaN(+o.substring(t+1,o.length-1))?this._isError=!0:this._iNum=-+o.substring(t+1,o.length-1)}else n?Number.isNaN(+o.substring(0,o.length-1))?this._isError=!0:this._iNum=+o.substring(0,o.length-1):Number.isNaN(+o)?this._isError=!0:this._iNum=0}_getImSuffix(){const o=`${this._inumber}`,e=o.substring(o.length-1);this._suffix=e==="i"||e==="j"?e:""}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return me.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(o){const e=o.getSuffix();return this._suffix===""||e===""?!1:this._suffix!==e}Abs(){return U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){const o=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2)));let e=U.acos(new U(this._realNum).div(o)).toSignificantDigits(16).toNumber();return this._iNum<0&&(e=-e),e}Conjugate(){return me.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){const o=U.cos(this._realNum).mul(U.cosh(this._iNum)).toNumber(),e=U.sin(this._realNum).mul(U.sinh(this._iNum)).negated().toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.cos(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.cosh(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.sinh(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.cosh(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Cot(){if(this._iNum){const o=U.cosh(this._iNum*2).sub(U.cos(this._realNum*2)),e=U.sin(this._realNum*2).div(o).toNumber(),t=U.sinh(this._iNum*2).div(o).negated().toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.tan(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.cosh(this._realNum*2).sub(U.cos(this._iNum*2)),e=U.sinh(this._realNum*2).div(o).toNumber(),t=U.sin(this._iNum*2).div(o).negated().toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.tanh(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Csc(){if(this._iNum){const o=U.cosh(this._iNum*2).sub(U.cos(this._realNum*2)),e=U.sin(this._realNum).mul(U.cosh(this._iNum)).mul(2).div(o).toNumber(),t=U.cos(this._realNum).mul(U.sinh(this._iNum)).mul(-2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.sin(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return me.getComplex(0,0,this._suffix);if(this._iNum){const o=U.cosh(this._realNum*2).sub(U.cos(this._iNum*2)),e=U.sinh(this._realNum).mul(U.cos(this._iNum)).mul(2).div(o).toNumber(),t=U.cosh(this._realNum).mul(U.sin(this._iNum)).mul(-2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.sinh(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Div(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=r.mul(r).add(n.mul(n)),a=e.mul(r).add(t.mul(n)).div(s).toNumber(),u=t.mul(r).sub(e.mul(n)).div(s).toNumber(),l=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(a,u,l)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,"";const o=U.exp(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.exp(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}Ln(){const o=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),e=U.ln(o).toNumber(),t=U.acos(new U(this._realNum).div(o)).toNumber();return me.getComplex(e,t,this._suffix)}Log(o){const e=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),t=U.ln(e);let r=U.acos(new U(this._realNum).div(e));this._iNum<0&&(r=r.negated());const n=U.ln(o),s=new U(0),a=n.mul(n).add(s.mul(s));if(a.eq(0))return this._isError=!0,"";const u=t.mul(n).add(r.mul(s)).div(a).toNumber(),l=r.mul(n).sub(t.mul(s)).div(a).toNumber();return me.getComplex(u,l,this._suffix)}Power(o){if(this._realNum===0&&this._iNum===0)return o>0?me.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,"");let e=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),t=U.acos(new U(this._realNum).div(e));this._iNum<0&&(t=t.negated()),e=U.pow(e,o),t=t.mul(o);const r=U.cos(t).mul(e).toNumber(),n=U.sin(t).mul(e).toNumber();return!Number.isFinite(r)||!Number.isFinite(n)?(this._isError=!0,""):me.getComplex(r,n,this._suffix)}Product(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=e.mul(r).sub(t.mul(n)).toNumber(),a=e.mul(n).add(t.mul(r)).toNumber(),u=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(s,a,u)}Sec(){if(this._iNum){const o=U.cosh(this._iNum*2).add(U.cos(this._realNum*2)),e=U.cos(this._realNum).mul(U.cosh(this._iNum)).mul(2).div(o).toNumber(),t=U.sin(this._realNum).mul(U.sinh(this._iNum)).mul(2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.cos(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return me.getComplex(0,0,this._suffix);if(this._iNum){const o=U.cosh(this._realNum*2).add(U.cos(this._iNum*2)),e=U.cosh(this._realNum).mul(U.cos(this._iNum)).mul(2).div(o).toNumber(),t=U.sinh(this._realNum).mul(U.sin(this._iNum)).mul(-2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.cosh(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sin(){if(this._iNum){const o=U.sin(this._realNum).mul(U.cosh(this._iNum)).toNumber(),e=U.cos(this._realNum).mul(U.sinh(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.sin(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.sinh(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.cosh(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.sinh(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sqrt(){const o=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),e=U.sqrt(o);let t=U.acos(new U(this._realNum).div(o));this._iNum<0&&(t=t.negated());const r=e.mul(U.cos(t.div(2).toNumber())).toNumber(),n=e.mul(U.sin(t.div(2))).toNumber();return me.getComplex(r,n,this._suffix)}Sub(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=e.sub(r).toNumber(),a=t.sub(n).toNumber(),u=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(s,a,u)}Sum(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=e.add(r).toNumber(),a=t.add(n).toNumber(),u=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(s,a,u)}Tan(){if(this._iNum){const o=U.cos(this._realNum*2).add(U.cosh(this._iNum*2)),e=U.sin(this._realNum*2).div(o).toNumber(),t=U.sinh(this._iNum*2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=U.tan(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.cosh(this._realNum*2).add(U.cos(this._iNum*2)),e=U.sinh(this._realNum*2).div(o).toNumber(),t=U.sin(this._iNum*2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=U.tanh(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}};class Kg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:x.create("i"),{isError:s,errorObject:a,variants:u}=q(e,t,n);if(s)return a;const[l,c,f]=u,m=+l.getValue(),d=+c.getValue(),_=`${f.getValue()}`;if(Number.isNaN(m)||Number.isNaN(d)||_!=="i"&&_!=="j")return g.create(h.VALUE);const C=ge.getComplex(m,d,_);return typeof C=="number"?b.create(C):x.create(C)}}class Zg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"_units",[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["centigrade","C",["cel"],"temperature",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m3",["m^3"],"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,416818182544058e-5],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,758660370370369e-22],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["fahrenheit","F",["fah"],"temperature",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519538e-3],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["rankine","Rank",null,"temperature",!1,!0,1],["reaumur","Reau",null,"temperature",!1,!0,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988110336e-6],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]]);A(this,"_binaryPrefixes",{Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,1152921504606847e3,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]});A(this,"_unitPrefixes",{Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]})}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=q(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=`${l.getValue()}`,d=`${c.getValue()}`;if(Number.isNaN(f))return g.create(h.VALUE);let _,C=1,E,R=1;const{_from:y,_to:p}=this._lookupFromAndToUnits(m,d);if(_=y,E=p,_===null){const{_from:M,_fromMultiplier:D}=this._lookupFromPrefix(m);_=M,C=D}if(E===null){const{_to:M,_toMultiplier:D}=this._lookupToPrefix(d);E=M,R=D}if(_===null||E===null||_[3]!==E[3])return g.create(h.NA);let N;return _[3]==="temperature"?(N=this._getTemperatureConversion(f,_[1],E[1]),N=+N.toFixed(2)):N=f*_[6]*C/(E[6]*R),b.create(N)}_lookupFromAndToUnits(e,t){let r=null,n=null,s;for(let a=0;a<this._units.length;a++)s=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||s.indexOf(e)>=0)&&(r=this._units[a]),(this._units[a][1]===t||s.indexOf(t)>=0)&&(n=this._units[a]);return{_from:r,_to:n}}_lookupFromPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let u=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(u=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):u&&(r=u[1],n=e.substring(u[2].length));for(let l=0;l<this._units.length;l++)s=this._units[l][2]===null?[]:this._units[l][2],(this._units[l][1]===n||s.indexOf(n)>=0)&&(t=this._units[l]);return{_from:t,_fromMultiplier:r}}_lookupToPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let u=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(u=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):u&&(r=u[1],n=e.substring(u[2].length));for(let l=0;l<this._units.length;l++)s=this._units[l][2]===null?[]:this._units[l][2],(this._units[l][1]===n||s.indexOf(n)>=0)&&(t=this._units[l]);return{_to:t,_toMultiplier:r}}_getTemperatureConversion(e,t,r){switch(t){case"C":return this._centigradeConversion(e,r);case"F":return this._fahrenheitConversion(e,r);case"K":return this._kelvinConversion(e,r);case"Rank":return this._rankineConversion(e,r);case"Reau":return this._reaumurConversion(e,r);default:return e}}_centigradeConversion(e,t){switch(t){case"F":return e*9/5+32;case"K":return e+273.15;case"Rank":return(e+273.15)*9/5;case"Reau":return e*4/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case"C":return(e-32)*5/9;case"K":return(e-32)*5/9+273.15;case"Rank":return e+459.67;case"Reau":return(e-32)*4/9;default:return e}}_kelvinConversion(e,t){switch(t){case"C":return e-273.15;case"F":return(e-273.15)*9/5+32;case"Rank":return e*9/5;case"Reau":return(e-273.15)*4/5;default:return e}}_rankineConversion(e,t){switch(t){case"C":return(e-491.67)*5/9;case"F":return e-459.67;case"K":return e*5/9;case"Reau":return(e-491.67)*4/9;default:return e}}_reaumurConversion(e,t){switch(t){case"C":return e*5/4;case"F":return e*9/4+32;case"K":return e*5/4+273.15;case"Rank":return e*9/4+491.67;default:return e}}}class zg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=Math.trunc(+u.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${l}`)||l<-512||l>511)return g.create(h.NUM);let c;if(l<0){const f=(512+l).toString(2);c=`1${"0".repeat(9-f.length)}${f}`}else if(c=Number.parseInt(`${l}`,10).toString(2),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Jg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=Math.trunc(+u.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${l}`)||l<-549755813888||l>549755813887)return g.create(h.NUM);let c;if(l<0)c=(1099511627776+l).toString(16);else if(c=Number.parseInt(`${l}`,10).toString(16),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c.toLocaleUpperCase())}}class ed extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=Math.trunc(+u.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${l}`)||l<-536870912||l>536870911)return g.create(h.NUM);let c;if(l<0)c=(1073741824+l).toString(8);else if(c=Number.parseInt(`${l}`,10).toString(8),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class td extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),{isError:n,errorObject:s,variants:a}=q(e,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);const m=c===f?1:0;return b.create(m)}}class rd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r;if(t){const{isError:n,errorObject:s,variants:a}=q(e,t);if(n)return s;const[u,l]=a,c=+u.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);r=Kt(f)-Kt(c)}else{const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=+u.getValue();if(Number.isNaN(l))return g.create(h.VALUE);r=Kt(l)}return b.create(r)}}class nd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const u=Kt(a);return b.create(u)}}class sd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const u=Na(a);return b.create(u)}}class ad extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const u=Na(a);return b.create(u)}}var X=(i=>(i.BESSELI="BESSELI",i.BESSELJ="BESSELJ",i.BESSELK="BESSELK",i.BESSELY="BESSELY",i.BIN2DEC="BIN2DEC",i.BIN2HEX="BIN2HEX",i.BIN2OCT="BIN2OCT",i.BITAND="BITAND",i.BITLSHIFT="BITLSHIFT",i.BITOR="BITOR",i.BITRSHIFT="BITRSHIFT",i.BITXOR="BITXOR",i.COMPLEX="COMPLEX",i.CONVERT="CONVERT",i.DEC2BIN="DEC2BIN",i.DEC2HEX="DEC2HEX",i.DEC2OCT="DEC2OCT",i.DELTA="DELTA",i.ERF="ERF",i.ERF_PRECISE="ERF.PRECISE",i.ERFC="ERFC",i.ERFC_PRECISE="ERFC.PRECISE",i.GESTEP="GESTEP",i.HEX2BIN="HEX2BIN",i.HEX2DEC="HEX2DEC",i.HEX2OCT="HEX2OCT",i.IMABS="IMABS",i.IMAGINARY="IMAGINARY",i.IMARGUMENT="IMARGUMENT",i.IMCONJUGATE="IMCONJUGATE",i.IMCOS="IMCOS",i.IMCOSH="IMCOSH",i.IMCOT="IMCOT",i.IMCOTH="IMCOTH",i.IMCSC="IMCSC",i.IMCSCH="IMCSCH",i.IMDIV="IMDIV",i.IMEXP="IMEXP",i.IMLN="IMLN",i.IMLOG="IMLOG",i.IMLOG10="IMLOG10",i.IMLOG2="IMLOG2",i.IMPOWER="IMPOWER",i.IMPRODUCT="IMPRODUCT",i.IMREAL="IMREAL",i.IMSEC="IMSEC",i.IMSECH="IMSECH",i.IMSIN="IMSIN",i.IMSINH="IMSINH",i.IMSQRT="IMSQRT",i.IMSUB="IMSUB",i.IMSUM="IMSUM",i.IMTAN="IMTAN",i.IMTANH="IMTANH",i.OCT2BIN="OCT2BIN",i.OCT2DEC="OCT2DEC",i.OCT2HEX="OCT2HEX",i))(X||{});class id extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);const r=t!=null?t:b.create(0),{isError:n,errorObject:s,variants:a}=q(e,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);const m=c>=f?1:0;return b.create(m)}}class od extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=q(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!pa(l))return g.create(h.NUM);const c=l.length===10&&l.substring(0,1).toLocaleUpperCase()==="F",f=c?Number.parseInt(l,16)-1099511627776:Number.parseInt(l,16);if(f<-512||f>511)return g.create(h.NUM);let m;if(c){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return x.create(m)}}class ud extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!pa(a))return g.create(h.NUM);let u=Number.parseInt(a,16);return u>=549755813888&&(u-=1099511627776),b.create(u)}}class ld extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=q(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!pa(l))return g.create(h.NUM);const c=Number.parseInt(l,16);if(c>536870911&&c<0xffe0000000)return g.create(h.NUM);let f;if(c>=0xffe0000000)f=(c-0xffc0000000).toString(8);else if(f=c.toString(8),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return x.create(f)}}class cd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Abs();return b.create(l)}}class fd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.getINum();return b.create(l)}}class md extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);if(u.getRealNum()===0&&u.getINum()===0)return g.create(h.DIV_BY_ZERO);const l=u.Argument();return b.create(l)}}class hd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Conjugate();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class gd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Cos();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class dd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Cosh();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Cd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Cot();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class _d extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Coth();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ad extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Csc();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ed extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Csch();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Rd extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=`${a.getValue()}`,c=`${u.getValue()}`,f=new ge(l),m=new ge(c);if(f.isError()||m.isError()||f.isDifferentSuffixes(m)||m.getRealNum()===0&&m.getINum()===0)return g.create(h.NUM);const d=f.Div(m);return typeof d=="number"||S.isRealNum(d)?b.create(+d):x.create(d)}}class yd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Exp();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class bd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Ln();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class pd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e);if(r)return n;const[a]=s;let u=t!=null?t:b.create(10);if(u.isArray()){const R=u.getRowCount(),y=u.getColumnCount();if(R>1||y>1)return g.create(h.VALUE);u=u.get(0,0)}const{isError:l,errorObject:c,variants:f}=B(u);if(l)return c;const[m]=f,d=`${a.getValue()}`,_=+m.getValue(),C=new ge(d);if(C.isError()||C.getRealNum()===0&&C.getINum()===0||_<=0)return g.create(h.NUM);const E=C.Log(_);return C.isError()?g.create(h.NUM):typeof E=="number"||S.isRealNum(E)?b.create(+E):x.create(E)}}class Nd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Log(2);return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Vd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Log(10);return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Od extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=`${a.getValue()}`,c=new ge(l);if(c.isError())return g.create(h.NUM);const f=+u.getValue();if(Number.isNaN(f))return g.create(h.VALUE);const m=c.Power(f);return c.isError()?g.create(h.NUM):typeof m=="number"||S.isRealNum(m)?b.create(+m):x.create(m)}}class Sd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(u=>{if(t=this._handleSingleObject(u,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||S.isRealNum(t)?b.create(+t):x.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new ge(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new ge(t),a=new ge(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Product(a)}return r}}class Md extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.getRealNum();return b.create(l)}}class Dd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sec();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class wd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sech();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ld extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sin();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Pd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sinh();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class jd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);if(u.getRealNum()===0&&u.getINum()===0)return b.create(0);const l=u.Sqrt();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Td extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=`${a.getValue()}`,c=`${u.getValue()}`,f=new ge(l),m=new ge(c);if(f.isError()||m.isError()||f.isDifferentSuffixes(m))return g.create(h.NUM);const d=f.Sub(m);return typeof d=="number"||S.isRealNum(d)?b.create(+d):x.create(d)}}class Ud extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(u=>{if(t=this._handleSingleObject(u,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||S.isRealNum(t)?b.create(+t):x.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new ge(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new ge(t),a=new ge(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Sum(a)}return r}}class xd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Tan();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class vd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Tanh();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Id extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=q(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!ba(l))return g.create(h.NUM);const c=l.length===10&&l.substring(0,1)==="7",f=c?Number.parseInt(l,8)-1073741824:Number.parseInt(l,8);if(f<-512||f>511)return g.create(h.NUM);let m;if(c){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return x.create(m)}}class Fd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!ba(a))return g.create(h.NUM);let u=Number.parseInt(a,8);return u>=536870912&&(u-=1073741824),b.create(u)}}class Bd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=q(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!ba(l))return g.create(h.NUM);const c=Number.parseInt(l,8);let f;if(c>=536870912)f=`ff${(c+3221225472).toString(16)}`;else if(f=c.toString(16),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return x.create(f.toLocaleUpperCase())}}const Ku=[[Ig,X.BESSELI],[Fg,X.BESSELJ],[Bg,X.BESSELK],[kg,X.BESSELY],[$g,X.BIN2DEC],[Yg,X.BIN2HEX],[Hg,X.BIN2OCT],[Gg,X.BITAND],[Wg,X.BITLSHIFT],[Qg,X.BITOR],[qg,X.BITRSHIFT],[Xg,X.BITXOR],[Kg,X.COMPLEX],[Zg,X.CONVERT],[zg,X.DEC2BIN],[Jg,X.DEC2HEX],[ed,X.DEC2OCT],[td,X.DELTA],[rd,X.ERF],[nd,X.ERF_PRECISE],[sd,X.ERFC],[ad,X.ERFC_PRECISE],[id,X.GESTEP],[od,X.HEX2BIN],[ud,X.HEX2DEC],[ld,X.HEX2OCT],[cd,X.IMABS],[fd,X.IMAGINARY],[md,X.IMARGUMENT],[hd,X.IMCONJUGATE],[gd,X.IMCOS],[dd,X.IMCOSH],[Cd,X.IMCOT],[_d,X.IMCOTH],[Ad,X.IMCSC],[Ed,X.IMCSCH],[Rd,X.IMDIV],[yd,X.IMEXP],[bd,X.IMLN],[pd,X.IMLOG],[Vd,X.IMLOG10],[Nd,X.IMLOG2],[Od,X.IMPOWER],[Sd,X.IMPRODUCT],[Md,X.IMREAL],[Dd,X.IMSEC],[wd,X.IMSECH],[Ld,X.IMSIN],[Pd,X.IMSINH],[jd,X.IMSQRT],[Td,X.IMSUB],[Ud,X.IMSUM],[xd,X.IMTAN],[vd,X.IMTANH],[Id,X.OCT2BIN],[Fd,X.OCT2DEC],[Bd,X.OCT2HEX]];var ee=(i=>(i.ACCRINT="ACCRINT",i.ACCRINTM="ACCRINTM",i.AMORDEGRC="AMORDEGRC",i.AMORLINC="AMORLINC",i.COUPDAYBS="COUPDAYBS",i.COUPDAYS="COUPDAYS",i.COUPDAYSNC="COUPDAYSNC",i.COUPNCD="COUPNCD",i.COUPNUM="COUPNUM",i.COUPPCD="COUPPCD",i.CUMIPMT="CUMIPMT",i.CUMPRINC="CUMPRINC",i.DB="DB",i.DDB="DDB",i.DISC="DISC",i.DOLLARDE="DOLLARDE",i.DOLLARFR="DOLLARFR",i.DURATION="DURATION",i.EFFECT="EFFECT",i.FV="FV",i.FVSCHEDULE="FVSCHEDULE",i.INTRATE="INTRATE",i.IPMT="IPMT",i.IRR="IRR",i.ISPMT="ISPMT",i.MDURATION="MDURATION",i.MIRR="MIRR",i.NOMINAL="NOMINAL",i.NPER="NPER",i.NPV="NPV",i.ODDFPRICE="ODDFPRICE",i.ODDFYIELD="ODDFYIELD",i.ODDLPRICE="ODDLPRICE",i.ODDLYIELD="ODDLYIELD",i.PDURATION="PDURATION",i.PMT="PMT",i.PPMT="PPMT",i.PRICE="PRICE",i.PRICEDISC="PRICEDISC",i.PRICEMAT="PRICEMAT",i.PV="PV",i.RATE="RATE",i.RECEIVED="RECEIVED",i.RRI="RRI",i.SLN="SLN",i.SYD="SYD",i.TBILLEQ="TBILLEQ",i.TBILLPRICE="TBILLPRICE",i.TBILLYIELD="TBILLYIELD",i.VDB="VDB",i.XIRR="XIRR",i.XNPV="XNPV",i.YIELD="YIELD",i.YIELDDISC="YIELDDISC",i.YIELDMAT="YIELDMAT",i))(ee||{});function ss(i,o,e,t){const r=vt(i,o,e),{days:n}=_e(r,i,t);return n}function Xe(i,o,e,t){let r;if(t===1){const n=vt(i,o,e);let s=ie(n);s=pr(s,12/e);const a=ye(s);n<0&&e===1?r=365:r=a-n}else t===3?r=365/e:r=360/e;return r}function Zu(i,o,e){const t=ie(i);let r=ie(o);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=pr(r,-12/e);return r=pr(r,12/e),ye(r)}function er(i,o,e){let t=0;const r=ie(i);let n=ie(o);for(;n>r;)n=pr(n,-12/e),t++;return t}function vt(i,o,e){const t=ie(i);let r=ie(o);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=pr(r,-12/e);return ye(r)}function zu(i,o,e,t,r,n){const s=ss(i,o,r,n),a=Xe(i,o,r,n),u=er(i,o,r),l=(a-s)/a-1,c=t/r+1,f=e*100/r;let m=0,d=0;for(let E=1;E<=u;E++){const R=E+l,y=f/c**R;m+=R*y,d+=y}const _=u+l,C=100/c**_;return m+=_*C,d+=C,m/d/r}function Xr(i,o,e,t,r){let n;if(i===0)n=(e+t)/o;else{const s=(1+i)**o;n=r===1?(t*i/(s-1)+e*i/(1-1/s))/(1+i):t*i/(s-1)+e*i/(1-1/s)}return-n}function tr(i,o,e,t,r){let n;if(i===0)n=t+e*o;else{if(i===-1&&o===0)return Number.NaN;const s=(1+i)**o;n=r===1?t*s+e*(1+i)*(s-1)/i:t*s+e*(s-1)/i}return-n}function Ju(i,o,e,t,r,n){const s=Xr(i,e,t,r,n);return(o===1?n===1?0:-t:n===1?tr(i,o-2,s,t,1)-s:tr(i,o-1,s,t,0))*i}function el(i,o){let e=0;for(let t=1;t<=o.length;t++)e+=o[t-1]/(1+i)**t;return e}function tl(i,o,e,t,r,n,s,a,u){const l=rr(e,t,u),c=Xe(i,t,a,u);return l<c?kd(i,o,e,t,r,n,s,a,u,l,c):$d(i,o,e,t,r,n,s,a,u,c)}function kd(i,o,e,t,r,n,s,a,u,l,c){let f=0;const m=er(i,o,a),d=rr(i,t,u);f+=s/(1+n/a)**(m-1+d/c),f+=100*r/a*l/c/(1+n/a)**(d/c);for(let C=2;C<=m;C++)f+=100*r/a/(1+n/a)**(C-1+d/c);const _=rr(e,i,u);return f-=100*r/a*_/c,f}function $d(i,o,e,t,r,n,s,a,u,l){let c=0;const f=er(t,o,a),m=Yd(t,i,12/a);let d;if(u===2||u===3){const y=Zu(i,t,a);d=rr(i,y,u)}else{const y=vt(i,t,a),{days:p}=_e(y,i,u);d=l-p}c+=s/(1+n/a)**(f+m+d/l);const _=er(e,t,a);let C=t,E=0,R=0;for(let y=_;y>=1;y--){const p=nr(C,-12/a,!1),N=u===1?rr(p,C,u):l,M=y>1?N:rr(e,C,u);E+=M/N;const D=e>p?e:p,L=i<C?i:C,P=rr(D,L,u);R+=P/N,C=p}c+=100*r/a*E/(1+n/a)**(m+d/l);for(let y=1;y<=f;y++)c+=100*r/a/(1+n/a)**(y+m+d/l);return c-=100*r/a*R,c}function rr(i,o,e){const{days:t}=_e(i,o,e);return i<o?t:0}function rl(i,o,e){const t=ie(i),r=t.getUTCFullYear(),n=t.getUTCMonth(),s=t.getUTCDate(),a=br(r,n,s),u=ie(o),l=u.getUTCFullYear(),c=u.getUTCMonth(),f=u.getUTCDate(),m=br(l,c,f);return!(s!==f&&!(a&&m)||Math.abs((l-r)*12+(c-n))%(12/e)!==0)}function Nr(i,o,e){return vt(i,o,e)>=0}function nr(i,o,e){let t=ie(i);if(t=pr(t,o),e){const r=t.getUTCFullYear(),n=t.getUTCMonth(),s=qr(r,n);t.setUTCDate(s)}return ye(t)}function Yd(i,o,e,t){const r=ie(i),n=ie(o),s=r.getUTCFullYear(),a=r.getUTCMonth(),u=r.getUTCDate(),l=n.getUTCFullYear(),c=n.getUTCMonth(),f=n.getUTCDate(),m=br(s,a,u),d=!m&&a!==1&&u>28&&u<qr(s,a)?br(l,c,f):m,_=nr(o,0,d);let C=1+ +(o<_),E=nr(_,e,d);for(;!(e>0?E>=o:E<=o);)E=nr(E,e,d),C++;return C}function $a(i,o){let n=1,s=0,a=i,u;for(;n>1e-7&&s<500;){const l=(o(a+1e-7)-o(a-1e-7))/2e-7;u=a-o(a)/l,s++,n=Math.abs(u-a),a=u}return Number.isNaN(a)||Math.abs(a)===1/0||s===500?Hd(i,o):a}function Hd(i,o){const r=Number.MAX_VALUE,n=-1,s=1.6;let a=i-.01<=n?n+1e-7:i-.01,u=i+.01>=r?r-1e-7:i+.01,l,c,f=0;if(i<=n||i>=r)return g.create(h.NUM);for(let E=0;E<60;E++){l=a<=n?n+1e-7:a,c=u>=r?r-1e-7:u;const R=o(l),y=o(c);if(R*y<=0)break;if(R*y>0)a=l+s*(l-c),u=c+s*(c-l);else return g.create(h.NUM);if(E===59)return g.create(h.NUM)}l=l,c=c;let m=o(l);const d=o(c);let _,C;if(Math.abs(m)<1e-7||Math.abs(d)<1e-7)return g.create(h.NUM);do C=l+(c-l)/2,_=o(C),m*_<0?c=C:l=C,m=o(l),f++;while(Math.abs(_)>1e-7&&f<60);return C}function as(i,o,e,t,r,n,s){const a=er(i,o,n),u=Xe(i,o,n,s),l=ss(i,o,n,s);if(a===1){const m=u-l,d=100*e/n+r,_=t/n*m/u+1,C=100*e/n*l/u;return d/_-C}const c=u-l;let f=r/(1+t/n)**(a-1+c/u);for(let m=1;m<=a;m++)f+=100*e/n/(1+t/n)**(m-1+c/u);return f-=100*e/n*l/u,f}function Ya(i,o,e,t,r){let n=0,s=r/e;s>=1?(s=1,n=t===1?i:0):n=i*(1-s)**(t-1);const a=i*(1-s)**t;let u=0;return a<o?u=n-o:u=n-a,u<0&&(u=0),u}class Gd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,u,l){const c=u!=null?u:b.create(0),f=l!=null?l:F.create(!0),{isError:m,errorObject:d,variants:_}=q(e,t,r,n,s,a,c);if(m)return d;const[C,E,R,y,p,N,M]=_,D=G(C);if(typeof D!="number")return D;const L=G(E);if(typeof L!="number")return L;const P=G(R);if(typeof P!="number")return P;const j=+y.getValue(),I=+p.getValue(),v=Math.floor(+N.getValue()),Y=Math.floor(+M.getValue()),Q=+f.getValue();return Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q)?g.create(h.VALUE):j<=0||I<=0||![1,2,4].includes(v)||Y<0||Y>4||Math.floor(D)>=Math.floor(P)?g.create(h.NUM):this._getResult(D,L,P,j,I,v,Y,Q)}_getResult(e,t,r,n,s,a,u,l){let c=vt(e,t,a);if(c<=0)return b.create(0);c=vt(r,t,a);const f=12/a,m=ie(t),d=m.getUTCFullYear(),_=m.getUTCMonth(),C=m.getUTCDate(),E=br(d,_,C);let R=nr(t,-f,E);if(r>t&&l)for(R=t;R<r;)R=nr(R,f,E);let y=e>R?e:R,{days:p}=_e(y,r,u);if(c>=e){const{days:j}=_e(y,r,u?4:0);p=j}r<y&&(p=-p);let N=Xe(R,t,a,u),M=p/N,D=R,L=e;for(;D>e;){L=D,D=nr(D,-f,E),y=e>D?e:D;const{days:j}=_e(y,L,u);if(u===0)L>=y||e<=D?p=j:p=-j,N=Xe(D,L,a,u);else if(p=L<y?-j:j,u===3)N=365/a;else{const{days:I}=_e(D,L,u);N=L<D?-I:I}M+=e<=D?l?1:0:p/N}const P=s*n/a*M;return b.create(P)}}class Wd extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:u,errorObject:l,variants:c}=q(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||Math.floor(E)>Math.floor(R))return g.create(h.NUM);if(Math.floor(E)===Math.floor(R))return b.create(0);const{days:M,yearDays:D}=_e(E,R,N),L=p*y*M/D;return b.create(L)}}class Qd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,u){const l=u!=null?u:b.create(0),{isError:c,errorObject:f,variants:m}=q(e,t,r,n,s,a,l);if(c)return f;const[d,_,C,E,R,y,p]=m,N=G(_);if(typeof N!="number")return N;const M=G(C);if(typeof M!="number")return M;const D=+d.getValue(),L=+E.getValue();let P=+R.getValue();const j=+y.getValue(),I=Math.floor(+p.getValue());return Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I)?g.create(h.VALUE):D<=0||L<0||D<L||Math.floor(N)>Math.floor(M)||P<0||j<=0||![0,1,3,4].includes(I)?g.create(h.NUM):(P>1?P=Math.floor(P):P=Math.ceil(P),this._getResult(D,N,M,L,P,j,I))}_getResult(e,t,r,n,s,a,u){const l=e-n,c=e*a,{days:f,yearDays:m}=_e(t,r,u),d=f/m,_=Math.ceil(l/c-d);if(_<0)return b.create(0);let C=c;return s===0?C=c*d:s===_?C=l-c*(d+s-1):s>_&&(C=0),b.create(C)}}class qd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=ss(_,C,E,R);return b.create(y)}}class Xd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=Xe(_,C,E,R);return b.create(y)}}class Kd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=ie(_),p=ie(C);for(p.setUTCFullYear(y.getUTCFullYear()),p<y&&p.setUTCFullYear(p.getUTCFullYear()+1);p>y;)p.setUTCMonth(p.getUTCMonth()-12/E);p.setUTCMonth(p.getUTCMonth()+12/E);const N=ye(p),{days:M}=_e(_,N,R);return b.create(M)}}class Zd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=Zu(_,C,E);return b.create(y)}}class zd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C)||vt(_,C,E)<0)return g.create(h.NUM);const p=er(_,C,E);return b.create(p)}}class Jd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);let y=vt(_,C,E);return y<0&&(y=0),b.create(y)}}class e1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:u,errorObject:l,variants:c}=q(e,t,r,n,s,a);if(u)return l;const[f,m,d,_,C,E]=c,R=+f.getValue(),y=+m.getValue(),p=+d.getValue(),N=+_.getValue(),M=+C.getValue(),D=+E.getValue();return Number.isNaN(R)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)?g.create(h.VALUE):R<=0||y<=0||p<=0||N<1||M<1||N>M||N>y||M>y||![0,1].includes(D)?g.create(h.NUM):Math.trunc(N)!==N&&Math.trunc(M)!==M&&Math.trunc(N)===Math.trunc(M)?b.create(0):this._getResult(R,y,p,N,M,D)}_getResult(e,t,r,n,s,a){const u=Xr(e,t,r,0,a);let l=0,c=Math.ceil(n);c===1&&(a===0&&(l=-r),c++);let f=!1;for(let m=c;m<=s;m++){const d=a===1?tr(e,m-2,u,r,1):tr(e,m-1,u,r,0);if(d===0){f=!0;break}l+=a===1?d-u:d}return l*=e,(l<u*(s-n+1)||f)&&(l=u*(s-n+1)),b.create(l)}}class t1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:u,errorObject:l,variants:c}=q(e,t,r,n,s,a);if(u)return l;const[f,m,d,_,C,E]=c,R=+f.getValue(),y=+m.getValue(),p=+d.getValue(),N=+_.getValue(),M=+C.getValue(),D=+E.getValue();return Number.isNaN(R)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)?g.create(h.VALUE):R<=0||y<=0||p<=0||N<1||M<1||N>M||![0,1].includes(D)?g.create(h.NUM):Math.trunc(N)!==N&&Math.trunc(M)!==M&&Math.trunc(N)===Math.trunc(M)?b.create(0):this._getResult(R,y,p,N,M,D)}_getResult(e,t,r,n,s,a){const u=Xr(e,t,r,0,a);let l=0,c=Math.ceil(n);c===1&&(l=a===0?u+r*e:u,c++);for(let f=c;f<=s;f++)l+=a===1?u-(tr(e,f-2,u,r,1)-u)*e:u-tr(e,f-1,u,r,0)*e;return b.create(l)}}class r1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(12);a.isNull()&&(a=b.create(12));const u=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(u,l,e,g.create(h.NA)),f=O(u,l,t,g.create(h.NA)),m=O(u,l,r,g.create(h.NA)),d=O(u,l,n,g.create(h.NA)),_=O(u,l,a,g.create(h.NA)),C=c.map((E,R,y)=>{const p=f.get(R,y),N=m.get(R,y),M=d.get(R,y),D=_.get(R,y),{isError:L,errorObject:P,variants:j}=B(E,p,N,M,D);if(L)return P;const[I,v,Y,Q,se]=j,te=+I.getValue(),W=+v.getValue(),fe=+Y.getValue();let Ce=+Q.getValue();const pe=Math.floor(+se.getValue());return te<0||W<0||fe<=0||Ce<=0||Math.floor(Ce)>Math.floor(fe)||pe<1||pe>12?g.create(h.NUM):(Ce<1&&(Ce=1),Ce=Math.floor(Ce),this._getResult(te,W,fe,Ce,pe,R,y))});return u===1&&l===1?C.get(0,0):C}_getResult(e,t,r,n,s,a,u){const l=+(1-(t/e)**(1/r)).toFixed(3),c=e*l*s/12;let f=c,m=0;const d=n===r?r-1:n;for(let C=2;C<=d;C++)m=(e-f)*l,f+=m;let _;return n===1?_=c:n===r?_=(e-f)*l:_=m,Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):a===0&&u===0?b.create(_,We(this.getLocale())):b.create(_)}}class n1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(2);a.isNull()&&(a=b.create(2));const u=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(u,l,e,g.create(h.NA)),f=O(u,l,t,g.create(h.NA)),m=O(u,l,r,g.create(h.NA)),d=O(u,l,n,g.create(h.NA)),_=O(u,l,a,g.create(h.NA)),C=c.map((E,R,y)=>{const p=f.get(R,y),N=m.get(R,y),M=d.get(R,y),D=_.get(R,y),{isError:L,errorObject:P,variants:j}=B(E,p,N,M,D);if(L)return P;const[I,v,Y,Q,se]=j,te=+I.getValue(),W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue();if(te<0||W<0||fe<=0||Ce<=0||Ce>fe||pe<=0)return g.create(h.NUM);const Ve=Ya(te,W,fe,Ce,pe);return Number.isNaN(Ve)||!Number.isFinite(Ve)?g.create(h.NUM):R===0&&y===0?b.create(Ve,We(this.getLocale())):b.create(Ve)});return u===1&&l===1?C.get(0,0):C}}class s1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:u,errorObject:l,variants:c}=q(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||Math.floor(E)>=Math.floor(R))return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=(p-y)/p*(D/M);return b.create(L)}}class a1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);if(c>=0&&c<1)return g.create(h.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let f=Number.parseInt(`${l}`,10);f+=l%1*10**Math.ceil(Math.log(c)/Math.LN10)/c;const m=10**(Math.ceil(Math.log(c)/Math.LN2)+1);return f=Math.round(f*m)/m,b.create(f)}}class i1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);if(c>=0&&c<1)return g.create(h.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let f=Number.parseInt(`${l}`,10);return f+=l%1*10**-Math.ceil(Math.log(c)/Math.LN10)*c,b.create(f)}}class o1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=+_.getValue(),M=+C.getValue(),D=Math.floor(+E.getValue()),L=Math.floor(+R.getValue());if(Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);if(N<0||M<0||![1,2,4].includes(D)||L<0||L>4||Math.floor(y)>=Math.floor(p)||y<=0||p<=366)return g.create(h.NUM);const P=zu(y,p,N,M,D,L);return b.create(P)}}class u1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(l<=0||c<1)return g.create(h.NUM);c=Number.parseInt(`${c}`,10);const f=(1+l/c)**c-1;return b.create(f)}}class l1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue(),Ve=+te.getValue(),de=tr(W,fe,Ce,pe,Ve?1:0);return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&p===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class c1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e);if(r)return n;const[a]=s,u=+a.getValue();if(Number.isNaN(u))return g.create(h.VALUE);let l=u;if(t.isArray()){const c=t.getArrayValue().flat();for(let f=0;f<c.length;f++){const m=c[f];if(m.isBoolean())return g.create(h.VALUE);const d=+m.getValue();if(Number.isNaN(d))return g.create(h.VALUE);l*=1+d}}else{if(t.isBoolean())return g.create(h.VALUE);const c=+t.getValue();if(Number.isNaN(c))return g.create(h.VALUE);l*=1+c}return b.create(l)}}class f1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:u,errorObject:l,variants:c}=q(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||Math.floor(E)>=Math.floor(R))return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=(p-y)/y*(D/M);return b.create(L)}}class m1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const u=s!=null?s:b.create(0),l=a!=null?a:b.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,r,g.create(h.NA)),C=O(c,f,n,g.create(h.NA)),E=O(c,f,u,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.map((p,N,M)=>{const D=d.get(N,M),L=_.get(N,M),P=C.get(N,M),j=E.get(N,M),I=R.get(N,M),{isError:v,errorObject:Y,variants:Q}=B(p,D,L,P,j,I);if(v)return Y;const[se,te,W,fe,Ce,pe]=Q,Ve=+se.getValue(),de=+te.getValue(),Be=+W.getValue(),Et=+fe.getValue(),It=+Ce.getValue(),Ft=+pe.getValue();if(de<1||Math.floor(de)>Math.ceil(Be))return g.create(h.NUM);const lt=Ju(Ve,de,Be,Et,It,Ft?1:0);return Number.isNaN(lt)||!Number.isFinite(lt)?g.create(h.NUM):N===0&&M===0?b.create(lt,We(this.getLocale())):b.create(lt)});return c===1&&f===1?y.get(0,0):y}}class h1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:b.create(.1);return r.isNull()&&(r=b.create(.1)),r.isArray()?r.map((n,s,a)=>this._handleSingleObject(e,n,s,a)):this._handleSingleObject(e,r)}_handleSingleObject(e,t,r=0,n=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return g.create(h.VALUE);if(!e.isArray())return g.create(h.NUM);const{_values:s,valuesHasError:a}=this._getValues(e);if(a)return g.create(h.VALUE);let u=t;if(u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()))return u;const l=+u.getValue(),{positive:c,negative:f}=this._checkValues(s);if(!c||!f)return g.create(h.NUM);const m=$a(l,d=>el(d,s));return typeof m!="number"?m:r===0&&n===0?b.create(m,"0%"):b.create(m)}_getValues(e){const t=[];let r=!1;return e.iterator(n=>{const s=n;if(s.isError())return r=!0,!1;if(s.isNull()||s.isBoolean()||s.isString()&&s.getValue()==="")return!0;const a=+s.getValue();if(Number.isNaN(a))return!0;t.push(a)}),{_values:t,valuesHasError:r}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}}class g1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.map((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C),{isError:p,errorObject:N,variants:M}=B(d,E,R,y);if(p)return N;const[D,L,P,j]=M,I=+D.getValue(),v=+L.getValue(),Y=+P.getValue(),Q=+j.getValue();if(Y===0)return g.create(h.DIV_BY_ZERO);const se=Q*I*(v/Y-1);return b.create(se)});return s===1&&a===1?m.get(0,0):m}}class d1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=+_.getValue(),M=+C.getValue(),D=Math.floor(+E.getValue()),L=Math.floor(+R.getValue());if(Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);if(N<0||M<0||![1,2,4].includes(D)||L<0||L>4||Math.floor(y)>=Math.floor(p))return g.create(h.NUM);let P=zu(y,p,N,M,D,L);return P/=1+M/D,b.create(P)}}class C1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{_values:n,numberValues:s,positive:a,negative:u}=this._getValues(e),l=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=O(l,c,t,g.create(h.NA)),m=O(l,c,r,g.create(h.NA)),d=f.map((_,C,E)=>{const R=m.get(C,E);if(e.isError())return e;if(R.isError())return R;if(n.isError())return n;if(!a||!u)return g.create(h.DIV_BY_ZERO);const y=+_.getValue(),p=+R.getValue();if(Number.isNaN(y)||Number.isNaN(p))return g.create(h.VALUE);if(p===-1)return g.create(h.DIV_BY_ZERO);const N=this._getResult(s,y,p);return C===0&&E===0?b.create(N,"0%"):b.create(N)});return l===1&&c===1?d.get(0,0):d}_getValues(e){let t=e,r=[],n=!1,s=!1;if(!e.isError())if(e.isNull())t=g.create(h.VALUE);else if(!e.isArray())t=g.create(h.DIV_BY_ZERO);else{const{numberValues:a,valuesHasError:u,errorObject:l,positive:c,negative:f}=this._checkValues(e);u&&(t=l),r=a,n=c,s=f}return{_values:t,numberValues:r,positive:n,negative:s}}_checkValues(e){const t=[];let r=!1,n=g.create(h.VALUE),s=!1,a=!1;return e.iterator(u=>{const l=u;if(l.isError())return r=!0,n=l,!1;if(l.isNull()||l.isBoolean()||l.isString()&&l.getValue()==="")return!0;const c=+l.getValue();if(Number.isNaN(c))return!0;c>0&&(s=!0),c<0&&(a=!0),t.push(c)}),{numberValues:t,valuesHasError:r,errorObject:n,positive:s,negative:a}}_getResult(e,t,r){const n=e.length,s=[],a=[];for(let d=0;d<n;d++)e[d]>0?a.push(e[d]):e[d]<0&&s.push(e[d]);const u=this._npv(r,e,"positive"),l=this._npv(t,e,"negative"),c=-u*(1+r)**n,f=l*(1+t);return(c/f)**(1/(n-1))-1}_npv(e,t,r){let n=0;for(let s=1;s<=t.length;s++){const a=t[s-1];(r==="positive"&&a>0||r==="negative"&&a<0)&&(n+=a/(1+e)**s)}return n}}class _1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(l<=0||c<1)return g.create(h.NUM);c=Number.parseInt(`${c}`,10);const f=((l+1)**(1/c)-1)*c;return b.create(f)}}class A1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue();let Ve=+te.getValue();if(Ve=Ve?1:0,W===0&&fe===0)return g.create(h.DIV_BY_ZERO);let de;if(W===0)de=-(Ce+pe)/fe;else{const Be=fe*(1+W*Ve)-pe*W,Et=Ce*W+fe*(1+W*Ve);de=Math.log(Be/Et)/Math.log(1+W)}return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class E1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsLocale",!0)}calculate(e,...t){if(e.isError())return e;const{isError:r,errorObject:n,values:s}=this._getValues(t);return e.isArray()?e.map((a,u,l)=>this._handleSingleObject(a,r,n,s,u,l)):this._handleSingleObject(e,r,n,s)}_handleSingleObject(e,t,r,n,s=0,a=0){let u=e;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(t)return r;const l=+e.getValue(),c=el(l,n);return Number.isNaN(c)||Math.abs(c)===1/0?g.create(h.DIV_BY_ZERO):s===0&&a===0?b.create(c,We(this.getLocale())):b.create(c)}_getValues(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return{isError:!0,errorObject:n};if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(u=>{const l=u;if(l.isError())return s=!0,a=l,!1;if(l.isNull()||l.isBoolean()||l.isString()&&l.getValue()==="")return!0;const c=+l.getValue();if(Number.isNaN(c))return!0;t.push(c)}),s)return{isError:s,errorObject:a}}else{const s=+n.getValue();if(Number.isNaN(s))return{isError:!0,errorObject:g.create(h.VALUE)};t.push(s)}}return{isError:!1,values:t}}}class R1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,u,l,c){let f=c!=null?c:b.create(0);f.isNull()&&(f=b.create(0));const{isError:m,errorObject:d,variants:_}=Fe(e,t,r,n,s,a,u,l,f);if(m)return d;const[C,E,R,y,p,N,M,D,L]=_,P=G(C);if(typeof P!="number")return P;const j=G(E);if(typeof j!="number")return j;const I=G(R);if(typeof I!="number")return I;const v=G(y);if(typeof v!="number")return v;const Y=+p.getValue(),Q=+N.getValue(),se=+M.getValue(),te=Math.floor(+D.getValue()),W=Math.floor(+L.getValue());if(Number.isNaN(Y)||Number.isNaN(Q)||Number.isNaN(se)||Number.isNaN(te)||Number.isNaN(W))return g.create(h.VALUE);if(Y<0||Q<0||se<=0||![1,2,4].includes(te)||W<0||W>4||!this._validDate(j,v,P,I,te))return g.create(h.NUM);const fe=tl(P,j,I,v,Y,Q,se,te,W);return b.create(fe)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&rl(e,t,s)&&Nr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}}class y1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,u,l,c){let f=c!=null?c:b.create(0);f.isNull()&&(f=b.create(0));const{isError:m,errorObject:d,variants:_}=Fe(e,t,r,n,s,a,u,l,f);if(m)return d;const[C,E,R,y,p,N,M,D,L]=_,P=G(C);if(typeof P!="number")return P;const j=G(E);if(typeof j!="number")return j;const I=G(R);if(typeof I!="number")return I;const v=G(y);if(typeof v!="number")return v;const Y=+p.getValue(),Q=+N.getValue(),se=+M.getValue(),te=Math.floor(+D.getValue()),W=Math.floor(+L.getValue());return Number.isNaN(Y)||Number.isNaN(Q)||Number.isNaN(se)||Number.isNaN(te)||Number.isNaN(W)?g.create(h.VALUE):Y<0||Q<=0||se<=0||![1,2,4].includes(te)||W<0||W>4||!this._validDate(j,v,P,I,te)?g.create(h.NUM):this._getResult(P,j,I,v,Y,Q,se,te,W)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&rl(e,t,s)&&Nr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}_getResult(e,t,r,n,s,a,u,l,c){const{days:f}=_e(e,t,c),m=(s*f*100-(a-100))/((a-100)*.25*(1+2*f)+f*100);function d(C){return a-tl(e,t,r,n,s,C,u,l,c)}const _=$a(m,C=>d(C));return typeof _!="number"?_:b.create(_)}}class b1 extends V{constructor(){super(...arguments);A(this,"minParams",7);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,u,l){let c=l!=null?l:b.create(0);c.isNull()&&(c=b.create(0));const{isError:f,errorObject:m,variants:d}=Fe(e,t,r,n,s,a,u,c);if(f)return m;const[_,C,E,R,y,p,N,M]=d,D=G(_);if(typeof D!="number")return D;const L=G(C);if(typeof L!="number")return L;const P=G(E);if(typeof P!="number")return P;const j=+R.getValue(),I=+y.getValue(),v=+p.getValue(),Y=Math.floor(+N.getValue()),Q=Math.floor(+M.getValue());if(Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q))return g.create(h.VALUE);if(j<0||I<0||v<=0||![1,2,4].includes(Y)||Q<0||Q>4||!this._validDate(L,D,P,Y))return g.create(h.NUM);const se=this._getResult(D,L,P,j,I,v,Y,Q);return b.create(se)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Nr(r,e,n)}_getResult(e,t,r,n,s,a,u,l){const c=this._getCoupDate(t,r,u),f=this._getFrac(r,e,c,u,l),m=this._getFrac(r,t,c,u,l),d=this._getFrac(e,t,c,u,l);return(a*u+100*n*(m-f*(1+s*d/u)))/(s*d+u)}_getCoupDate(e,t,r){const n=ie(e),s=ie(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return ye(s)}_getFrac(e,t,r,n,s){const a=ie(e),u=ie(t),l=ie(r);for(l.setUTCFullYear(a.getUTCFullYear()),l<a&&l.setUTCFullYear(l.getUTCFullYear()+1);l>a;)l.setUTCMonth(l.getUTCMonth()-12/n);let c=ye(l);l.setUTCMonth(l.getUTCMonth()+12/n);let f=ye(l);if(f>=t){const{days:p}=_e(e,t,s),N=Xe(c,f,n,s);return p/N}const{days:m}=_e(e,f,s),d=Xe(c,f,n,s);let _=m/d;const C=ie(f),E=ie(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<u;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;c=ye(C),f=ye(E);const{days:R}=_e(c,t,s),y=Xe(c,f,n,s);return _+=R/y,_}}class p1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,u,l){let c=l!=null?l:b.create(0);c.isNull()&&(c=b.create(0));const{isError:f,errorObject:m,variants:d}=Fe(e,t,r,n,s,a,u,c);if(f)return m;const[_,C,E,R,y,p,N,M]=d,D=G(_);if(typeof D!="number")return D;const L=G(C);if(typeof L!="number")return L;const P=G(E);if(typeof P!="number")return P;const j=+R.getValue(),I=+y.getValue(),v=+p.getValue(),Y=Math.floor(+N.getValue()),Q=Math.floor(+M.getValue());if(Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q))return g.create(h.VALUE);if(j<0||I<=0||v<=0||![1,2,4].includes(Y)||Q<0||Q>4||!this._validDate(L,D,P,Y))return g.create(h.NUM);const se=this._getResult(D,L,P,j,I,v,Y,Q);return b.create(se)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Nr(r,e,n)}_getResult(e,t,r,n,s,a,u,l){const c=this._getCoupDate(t,r,u),f=this._getFrac(r,e,c,u,l),m=this._getFrac(r,t,c,u,l),d=this._getFrac(e,t,c,u,l);return(u*(a-s)+100*n*(m-f))/(d*s+100*n*f*d/u)}_getCoupDate(e,t,r){const n=ie(e),s=ie(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return ye(s)}_getFrac(e,t,r,n,s){const a=ie(e),u=ie(t),l=ie(r);for(l.setUTCFullYear(a.getUTCFullYear()),l<a&&l.setUTCFullYear(l.getUTCFullYear()+1);l>a;)l.setUTCMonth(l.getUTCMonth()-12/n);let c=ye(l);l.setUTCMonth(l.getUTCMonth()+12/n);let f=ye(l);if(f>=t){const{days:p}=_e(e,t,s),N=Xe(c,f,n,s);return p/N}const{days:m}=_e(e,f,s),d=Xe(c,f,n,s);let _=m/d;const C=ie(f),E=ie(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<u;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;c=ye(C),f=ye(E);const{days:R}=_e(c,t,s),y=Xe(c,f,n,s);return _+=R/y,_}}class N1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d),{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=+M.getValue();if(D<=-1)return g.create(h.NUM);const j=(Math.log(P)-Math.log(L))/Math.log(1+D);return Number.isNaN(j)||!Number.isFinite(j)?g.create(h.NUM):b.create(j)});return n===1&&s===1?c.get(0,0):c}}class V1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue(),Ve=+te.getValue();if(W<=-1)return g.create(h.NUM);const de=Xr(W,fe,Ce,pe,Ve?1:0);return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&p===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class O1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const u=s!=null?s:b.create(0),l=a!=null?a:b.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,r,g.create(h.NA)),C=O(c,f,n,g.create(h.NA)),E=O(c,f,u,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.map((p,N,M)=>{const D=d.get(N,M),L=_.get(N,M),P=C.get(N,M),j=E.get(N,M),I=R.get(N,M),{isError:v,errorObject:Y,variants:Q}=B(p,D,L,P,j,I);if(v)return Y;const[se,te,W,fe,Ce,pe]=Q,Ve=+se.getValue(),de=+te.getValue(),Be=+W.getValue(),Et=+fe.getValue(),It=+Ce.getValue(),Ft=+pe.getValue();if(de<1||Math.floor(de)>Math.ceil(Be)||de-Be>=1)return g.create(h.NUM);const lt=Xr(Ve,Be,Et,It,Ft?1:0)-Ju(Ve,de,Be,Et,It,Ft?1:0);return Number.isNaN(lt)||!Number.isFinite(lt)?g.create(h.NUM):N===0&&M===0?b.create(lt,We(this.getLocale())):b.create(lt)});return c===1&&f===1?y.get(0,0):y}}class S1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,u){let l=u!=null?u:b.create(0);l.isNull()&&(l=b.create(0));const{isError:c,errorObject:f,variants:m}=Fe(e,t,r,n,s,a,l);if(c)return f;const[d,_,C,E,R,y,p]=m,N=G(d);if(typeof N!="number")return N;const M=G(_);if(typeof M!="number")return M;const D=+C.getValue(),L=+E.getValue(),P=+R.getValue(),j=Math.floor(+y.getValue()),I=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I))return g.create(h.VALUE);if(D<0||L<0||P<=0||![1,2,4].includes(j)||I<0||I>4||N>=M||!Nr(N,M,j))return g.create(h.NUM);const v=as(N,M,D,L,P,j,I);return b.create(v)}}class M1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:u,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=p-y*p*M/D;return b.create(L)}}class D1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=G(_);if(typeof N!="number")return N;const M=+C.getValue(),D=+E.getValue(),L=Math.floor(+R.getValue());if(Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);const P=this._getDateCorrectOrder(p,y,N);if(M<0||D<0||L<0||L>4||!P)return g.create(h.NUM);const j=qu(y,L),{days:I}=_e(y,p,L),{days:v}=_e(N,p,L),{days:Y}=_e(N,y,L),Q=(100+v/j*M*100)/(1+I/j*D)-Y/j*M*100;return b.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}class w1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue();let Ve=+te.getValue();Ve=Ve?1:0;const de=W===0?-Ce*fe-pe:((1-(1+W)**fe)/W*Ce*(1+W*Ve)-pe)/(1+W)**fe;return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&p===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class L1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const u=n!=null?n:b.create(0),l=s!=null?s:b.create(0),c=a!=null?a:b.create(.1),f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,u,g.create(h.NA)),R=O(f,m,l,g.create(h.NA)),y=O(f,m,c,g.create(h.NA)),p=d.map((N,M,D)=>{const L=_.get(M,D),P=C.get(M,D),j=E.get(M,D),I=R.get(M,D),v=y.get(M,D),{isError:Y,errorObject:Q,variants:se}=B(N,L,P,j,I,v);if(Y)return Q;const[te,W,fe,Ce,pe,Ve]=se,de=+te.getValue(),Be=+W.getValue(),Et=+fe.getValue(),It=+Ce.getValue();let Ft=+pe.getValue();const lt=+Ve.getValue();if(Ft=Ft?1:0,de<=0)return g.create(h.NUM);const HR=Be>=0&&Et>=0&&It>=0,GR=Be<=0&&Et<=0&&It<=0;return HR||GR?g.create(h.NUM):this._getResult(de,Be,Et,It,Ft,lt,M,D)});return f===1&&m===1?p.get(0,0):p}_getResult(e,t,r,n,s,a,u,l){if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,r,n,u,l);let m=a,d=Number.POSITIVE_INFINITY;for(let _=0;_<100;_++){if(m<=-1)return g.create(h.NUM);const{value:C,derivative:E}=this._evaluateRateFunction(m,e,t,r,n,s,1e-10),R=Math.abs(C);if(R<1e-10||Math.abs(E)<1e-14)break;const y=this._getAdaptiveDampedStep(C,E,R,d);m-=y,d=R}return!Number.isFinite(m)||m<=-1?g.create(h.NUM):b.create(m,u===0&&l===0?"0%":void 0)}_computeSimpleGrowthRate(e,t,r,n,s){if(Math.sign(t)===Math.sign(r))return g.create(h.NUM);const a=(r/-t)**(1/e)-1;return b.create(a,n===0&&s===0?"0%":void 0)}_evaluateRateFunction(e,t,r,n,s,a,u){let l,c,f;if(Math.abs(e)<u)l=n*(1+t*e)+r*(1+e*a)*t+s,c=n*t+r*a*t;else{f=(1+e)**t,l=n*f+r*(1/e+a)*(f-1)+s;const m=t*(1+e)**(t-1);c=n*m+r*(1/e+a)*m+r*(-1/(e*e))*(f-1)}return{value:l,derivative:c}}_getAdaptiveDampedStep(e,t,r,n){const s=e/t;return r>.001||r>=n*.9?Math.max(Math.min(s,5),-5):Math.max(Math.min(s,.5),-.5)}}class P1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:u,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=y/(1-p*M/D);return L<0?g.create(h.NUM):b.create(L)}}class j1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d),{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=+M.getValue();if(D<=0)return g.create(h.NUM);if(L===0&&P===0)return b.create(0);const j=(P/L)**(1/D)-1;return Number.isNaN(j)||!Number.isFinite(j)||P/L<0?g.create(h.NUM):b.create(j)});return n===1&&s===1?c.get(0,0):c}}class T1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(_.isError())return _;if(C.isError())return C;const E=+f.getValue(),R=+_.getValue(),y=+C.getValue();if(Number.isNaN(E)||Number.isNaN(R)||Number.isNaN(y))return g.create(h.VALUE);if(y===0)return g.create(h.DIV_BY_ZERO);const p=(E-R)/y;return m===0&&d===0?b.create(p,We(this.getLocale())):b.create(p)});return n===1&&s===1?c.get(0,0):c}}class U1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4);A(this,"needsLocale",!0)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.map((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);if(E.isError())return E;if(R.isError())return R;if(y.isError())return y;const p=+d.getValue(),N=+E.getValue(),M=+R.getValue(),D=+y.getValue();if(Number.isNaN(p)||Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D))return g.create(h.VALUE);if(N<0||M<=0||D>M)return g.create(h.NUM);const L=(p-N)*(M-D+1)*2/(M*(M+1));return _===0&&C===0?b.create(L,We(this.getLocale())):b.create(L)});return s===1&&a===1?m.get(0,0):m}}class x1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[u,l,c]=a,f=G(u);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ie(f).getUTCFullYear(),R=ns(E);if(_>R)return g.create(h.NUM);let y=365*d/(360-d*_);if(_>182){const p=100*(1-d*_/360),N=_/365;if(y=(-N+Math.sqrt(N*N-(N*2-1)*(1-100/p)))/(N-.5),Number.isNaN(y))return g.create(h.NUM)}return y<0?g.create(h.NUM):b.create(y)}}class v1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[u,l,c]=a,f=G(u);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ie(f).getUTCFullYear(),R=ns(E);if(_>R)return g.create(h.NUM);const y=100*(1-d*_/360);return y<0?g.create(h.NUM):b.create(y,We(this.getLocale()))}}class I1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[u,l,c]=a,f=G(u);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ie(f).getUTCFullYear(),R=ns(E);if(_>R)return g.create(h.NUM);const y=(100-d)/d*360/_;return b.create(y)}}class F1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",7);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a,u){let l=a!=null?a:b.create(2);l.isNull()&&(l=b.create(2));let c=u!=null?u:F.create(!1);c.isNull()&&(c=F.create(!1));const f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,n,g.create(h.NA)),R=O(f,m,s,g.create(h.NA)),y=O(f,m,l,g.create(h.NA)),p=O(f,m,c,g.create(h.NA));return this._getResultArray(d,_,C,E,R,y,p,f,m)}_getResultArray(e,t,r,n,s,a,u,l,c){const f=e.map((m,d,_)=>{const C=t.get(d,_),E=r.get(d,_),R=n.get(d,_),y=s.get(d,_),p=a.get(d,_),N=u.get(d,_),{isError:M,errorObject:D,variants:L}=B(m,C,E,R,y,p,N);if(M)return D;const[P,j,I,v,Y,Q,se]=L,te=+P.getValue(),W=+j.getValue(),fe=+I.getValue(),Ce=+v.getValue(),pe=+Y.getValue(),Ve=+Q.getValue(),de=+se.getValue();if(te<0||W<0||fe<0||Ce<0||pe<0||pe>fe||Ce>pe||Ve<0)return g.create(h.NUM);if(fe===0&&Ce===0&&pe===0)return g.create(h.DIV_BY_ZERO);const Be=this._getResult(te,W,fe,Ce,pe,Ve,de);return d===0&&_===0?b.create(Be,We(this.getLocale())):b.create(Be)});return l===1&&c===1?f.get(0,0):f}_getResult(e,t,r,n,s,a,u){const l=Math.floor(n),c=Math.ceil(s);let f=0;if(e<t){if(n>=1||u)return f;const m=Math.abs(e-t);return f=m*(s-n)>m?m:m*(s-n),-f}if(u)for(let m=l+1;m<=c;m++){let d=Ya(e,t,r,m,a);m===l+1?d*=Math.min(s,l+1)-n:m===c&&(d*=s+1-c),f+=d}else{const m=e-this._getVdb(e,t,r,r,n,a);f=this._getVdb(m,t,r,r-n,s-n,a)}return f}_getVdb(e,t,r,n,s,a){const u=Math.ceil(s);let l=0,c=e-t,f=0,m=0,d=!1;for(let _=1;_<=u;_++){if(d)m=f;else{const C=Ya(e,t,r,_,a);f=c/(n-(_-1)),f>C?(m=f,d=!0):(m=C,c-=C)}_===u&&(m*=s+1-u),l+=m}return l}}class B1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:n,errorObejct:s,_values:a,_dates:u}=this._checkErrors(e,t);if(n)return s;let l=r!=null?r:b.create(.1);l.isNull()&&(l=b.create(.1));const{isError:c,errorObject:f,variants:m}=q(l);if(c)return f;const[d]=m,_=+d.getValue();if(Number.isNaN(_))return g.create(h.VALUE);const{positive:C,negative:E}=this._checkValues(a);if(!C||!E||(a==null?void 0:a.length)!==(u==null?void 0:u.length)||_<0)return g.create(h.NUM);const R=$a(_,y=>this._iterF(a,u,y));return typeof R!="number"?R:b.create(R)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:u,_dates:l}=this._checkErrorDates(t);return a?{isError:a,errorObejct:u}:{isError:!1,_values:s,_dates:l}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const u=+a.getValue();if(Number.isNaN(u))return r=!0,n=g.create(h.VALUE),!1;t.push(u)}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_values:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!S.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{if(s!=null&&s.isError())return r=!0,n=s,!1;if(s!=null&&s.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const a=+s.getValue();if(Number.isNaN(a))return r=!0,n=g.create(h.VALUE),!1;if(a<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(a))}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_dates:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!S.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}_iterF(e,t,r){return e.reduce((n,s,a)=>n+s/(1+r)**((t[a]-t[0])/365),0)}}class k1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull()||r.isNull())return g.create(h.NA);const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=+u.getValue();if(Number.isNaN(l))return g.create(h.VALUE);let{isError:c,errorObejct:f,_values:m,_dates:d}=this._checkErrors(t,r);if(c)return f;if(m=m,d=d,l<0||m.length!==d.length)return g.create(h.NUM);let _=0;const C=d[0];for(let E=0;E<d.length;E++){const R=d[E],y=m[E];_+=y/(1+l)**((R-C)/365)}return b.create(_)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:u,_dates:l}=this._checkErrorDates(t);return a?{isError:a,errorObejct:u}:{isError:!1,_values:s,_dates:l}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean()||a.isString()&&a.getValue()==="")return r=!0,n=g.create(h.VALUE),!1;const u=+a.getValue();if(Number.isNaN(u))return r=!0,n=g.create(h.VALUE),!1;t.push(u)}),r?{isError:r,errorObejct:n}:{isError:r,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!1,_values:[r]}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const u=+a.getValue();if(Number.isNaN(u))return r=!0,n=g.create(h.VALUE),!1;if(u<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(u))}),r?{isError:r,errorObejct:n}:{isError:r,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!1,_dates:[Math.floor(r)]}}}}class $1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,u){let l=u!=null?u:b.create(0);l.isNull()&&(l=b.create(0));const{isError:c,errorObject:f,variants:m}=Fe(e,t,r,n,s,a,l);if(c)return f;const[d,_,C,E,R,y,p]=m,N=G(d);if(typeof N!="number")return N;const M=G(_);if(typeof M!="number")return M;const D=+C.getValue(),L=+E.getValue(),P=+R.getValue(),j=Math.floor(+y.getValue()),I=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I))return g.create(h.VALUE);if(D<0||L<=0||P<=0||![1,2,4].includes(j)||I<0||I>4||N>=M||!Nr(N,M,j))return g.create(h.NUM);const v=this._getResult(N,M,D,L,P,j,I);return b.create(v)}_getResult(e,t,r,n,s,a,u){if(er(e,t,a)>1){let E=r||.01,R=as(e,t,r,E,s,a,u),y=R-n;for(let p=0;p<100&&Math.abs(y)>1e-7;p++)R=as(e,t,r,1.01*E,s,a,u),E+=-y/(R-n-y)*E*.01,y=as(e,t,r,E,s,a,u)-n;return E}const c=ss(e,t,a,u),f=Xe(e,t,a,u),{days:m}=_e(e,t,u),d=n/100+c/f*r/a;return(s/100+r/a-d)/d*a*f/m}}class Y1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:u,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=(p/y-1)/(M/D);return b.create(L)}}class H1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=G(_);if(typeof N!="number")return N;const M=+C.getValue(),D=+E.getValue(),L=Math.floor(+R.getValue());if(Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);const P=this._getDateCorrectOrder(p,y,N);if(M<0||D<=0||L<0||L>4||!P)return g.create(h.NUM);const j=qu(y,L),{days:I}=_e(y,p,L),{days:v}=_e(N,p,L),{days:Y}=_e(N,y,L),Q=((1+v/j*M)/(D/100+Y/j*M)-1)/(I/j);return b.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}const nl=[[Gd,ee.ACCRINT],[Wd,ee.ACCRINTM],[Qd,ee.AMORLINC],[qd,ee.COUPDAYBS],[Xd,ee.COUPDAYS],[Kd,ee.COUPDAYSNC],[Zd,ee.COUPNCD],[zd,ee.COUPNUM],[Jd,ee.COUPPCD],[e1,ee.CUMIPMT],[t1,ee.CUMPRINC],[r1,ee.DB],[n1,ee.DDB],[s1,ee.DISC],[a1,ee.DOLLARDE],[i1,ee.DOLLARFR],[o1,ee.DURATION],[u1,ee.EFFECT],[l1,ee.FV],[c1,ee.FVSCHEDULE],[f1,ee.INTRATE],[m1,ee.IPMT],[h1,ee.IRR],[g1,ee.ISPMT],[d1,ee.MDURATION],[C1,ee.MIRR],[_1,ee.NOMINAL],[A1,ee.NPER],[E1,ee.NPV],[R1,ee.ODDFPRICE],[y1,ee.ODDFYIELD],[b1,ee.ODDLPRICE],[p1,ee.ODDLYIELD],[N1,ee.PDURATION],[V1,ee.PMT],[O1,ee.PPMT],[S1,ee.PRICE],[M1,ee.PRICEDISC],[D1,ee.PRICEMAT],[w1,ee.PV],[L1,ee.RATE],[P1,ee.RECEIVED],[j1,ee.RRI],[T1,ee.SLN],[U1,ee.SYD],[x1,ee.TBILLEQ],[v1,ee.TBILLPRICE],[I1,ee.TBILLYIELD],[F1,ee.VDB],[B1,ee.XIRR],[k1,ee.XNPV],[$1,ee.YIELD],[Y1,ee.YIELDDISC],[H1,ee.YIELDMAT]];class G1 extends V{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),r.isArray()){const n=r.getRowCount(),s=r.getColumnCount();if(n===1&&s===1){const a=r.get(0,0);return this._handleSingleObject(a,t)}return r.map(a=>a.isError()?a:this._handleSingleObject(a,t,!0))}return this._handleSingleObject(r,t)}_handleSingleObject(e,t,r=!1){let n=t;if(n.isError())return n;if(!n.isReferenceObject())return g.create(h.NA);const s=n.getCurrentActiveSheetData(),{columnData:a,defaultColumnWidth:u}=s;n=n.toArrayValueObject();const l=n.getCurrentRow(),c=n.getCurrentColumn();n=n.getFirstCell();const f=`${e.getValue()}`;let m;switch(f.toLocaleLowerCase()){case"address":return x.create(`$${S.Tools.chatAtABC(c)}$${l+1}`);case"col":return b.create(c+1);case"color":return b.create(0);case"contents":return n;case"filename":return g.create(h.VALUE);case"format":return x.create("G");case"parentheses":return b.create(0);case"prefix":return x.create("");case"protect":return b.create(1);case"row":return b.create(l+1);case"type":return m="v",n.isNull()&&(m="b"),n.isString()&&(m="l"),x.create(m);case"width":return this._getWidthResult(a,u,c,r);default:return g.create(h.VALUE)}}_getWidthResult(e,t,r,n){var u;let s=(u=e[r])==null?void 0:u.w;if(!s&&s!==0&&(s=t),n)return b.create(s);const a=[[s,s===t]];return Z.createByArray(a)}}class W1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"_errorTypeValueMap",new Map([[h.NULL,1],[h.DIV_BY_ZERO,2],[h.VALUE,3],[h.REF,4],[h.NAME,5],[h.NUM,6],[h.NA,7],[h.CONNECT,8],[h.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=e.getValue(),r=this._errorTypeValueMap.get(t);return r?b.create(r):g.create(h.NA)}}var be=(i=>(i.CELL="CELL",i.ERROR_TYPE="ERROR.TYPE",i.INFO="INFO",i.ISBETWEEN="ISBETWEEN",i.ISBLANK="ISBLANK",i.ISDATE="ISDATE",i.ISEMAIL="ISEMAIL",i.ISERR="ISERR",i.ISERROR="ISERROR",i.ISEVEN="ISEVEN",i.ISFORMULA="ISFORMULA",i.ISLOGICAL="ISLOGICAL",i.ISNA="ISNA",i.ISNONTEXT="ISNONTEXT",i.ISNUMBER="ISNUMBER",i.ISODD="ISODD",i.ISOMITTED="ISOMITTED",i.ISREF="ISREF",i.ISTEXT="ISTEXT",i.ISURL="ISURL",i.N="N",i.NA="NA",i.SHEET="SHEET",i.SHEETS="SHEETS",i.TYPE="TYPE",i))(be||{});class Q1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:F.create(!0),u=s!=null?s:F.create(!0),{isError:l,errorObject:c,variants:f}=Yr(e,t,r,a,u);if(l)return c;const[m,d,_,C,E]=f;if(C.isString()||E.isString())return g.create(h.VALUE);if(d.compare(_,">").getValue()===!0)return g.create(h.NUM);const y=+C.getValue(),p=+E.getValue(),N=y?">=":">",M=p?"<=":"<";return m.compare(d,N).getValue()===!1||m.compare(_,M).getValue()===!1?F.create(!1):F.create(!0)}}class q1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNull()?F.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?F.create(!0):F.create(!1)):F.create(!1)}}class X1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==""?F.create(ka(t.getPattern())):t.isString()&&(Jn(`${t.getValue()}`)||es(`${t.getValue()}`))?F.create(!0):F.create(!1)}}class K1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),u=t.getColumnCount();if(a>1||u>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return F.create(!1);const r=`${t.getValue()}`;if(r.length>254)return F.create(!1);const n=S.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})$`,"i");return F.create(s.test(r))}}class Z1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?F.create(!1):e.isError()?F.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?F.create(!1):t.isError()?F.create(!0):F.create(!1)):F.create(!1)}}class z1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?F.create(!0):e.isArray()?e.mapValue(t=>t.isError()?F.create(!0):F.create(!1)):F.create(!1)}}class J1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2===0;return F.create(n)}}class e0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){var u;if(e.isError())return e;if(!e.isReferenceObject())return g.create(h.NA);const t=(u=e.getCurrentActiveSheetData())==null?void 0:u.cellData.getMatrix(),{startRow:r,startColumn:n}=e.getRangePosition(),s=e.toArrayValueObject(),a=s.mapValue((l,c,f)=>{var d;const m=(d=t==null?void 0:t[r+c])==null?void 0:d[n+f];return m!=null&&m.f||m!=null&&m.si?F.create(!0):F.create(!1)});return s.getRowCount()===1&&s.getColumnCount()===1?a.get(0,0):a}}class t0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isBoolean()?F.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?F.create(!0):F.create(!1)):F.create(!1)}}class r0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?F.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?F.create(!0):F.create(!1)):F.create(!1)}}class n0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?F.create(!0):e.isArray()?e.mapValue(t=>t.isString()?F.create(!1):F.create(!0)):F.create(!1)}}class s0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNumber()?F.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?F.create(!0):F.create(!1)):F.create(!1)}}class a0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2!==0;return F.create(n)}}class i0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?F.create(!0):F.create(!1)}}class o0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isString()?F.create(!0):e.isArray()?e.mapValue(t=>t.isString()?F.create(!0):F.create(!1)):F.create(!1)}}class u0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),u=t.getColumnCount();if(a>1||u>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return F.create(!1);const r=`${t.getValue()}`.replace(/^\s+|\s+$/g,"");if(r.length>1e3)return F.create(!1);const n=S.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,"i");return F.create(s.test(r))}}class l0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return b.create(0);const r=+t.getValue();return b.create(r)}}class c0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return g.create(h.NA)}}class f0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsSheetsInfo",!0)}calculate(e){var u;if(e!=null&&e.isError())return e;const{sheetOrder:t,sheetNameMap:r}=this.getSheetsInfo();if(!e){const l=t.findIndex(c=>c===this.subUnitId);return b.create(l+1)}if(e.isReferenceObject()){const l=e.getForcedSheetId(),c=e.getDefaultSheetId(),f=t.findIndex(m=>l?m===l:m===c);return b.create(f+1)}if(e.isArray())return g.create(h.NA);const n=`${e.getValue()}`.toLocaleLowerCase(),s=(u=Object.entries(r).find(([l,c])=>c.toLocaleLowerCase()===n))==null?void 0:u[0];if(!s)return g.create(h.NA);const a=t.findIndex(l=>l===s);return b.create(a+1)}}class m0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0);A(this,"needsSheetsInfo",!0)}calculate(){const{sheetOrder:e}=this.getSheetsInfo();return b.create(e.length)}}class h0 extends V{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){const t=e.getRowCount(),r=e.getColumnCount();if(t===1&&r===1){const n=e.getFirstCell();if(n.isError())return b.create(16);if(n.isBoolean())return b.create(4);if(n.isString())return b.create(2);if(n.isNumber()||n.isNull())return b.create(1)}else return b.create(64)}else{if(e.isArray())return b.create(64);if(e.isError())return b.create(16);if(e.isBoolean())return b.create(4);if(e.isString())return b.create(2);if(e.isNumber()||e.isNull())return b.create(1)}return b.create(128)}}const sl=[[G1,be.CELL],[W1,be.ERROR_TYPE],[Q1,be.ISBETWEEN],[q1,be.ISBLANK],[X1,be.ISDATE],[K1,be.ISEMAIL],[Z1,be.ISERR],[z1,be.ISERROR],[J1,be.ISEVEN],[e0,be.ISFORMULA],[t0,be.ISLOGICAL],[r0,be.ISNA],[n0,be.ISNONTEXT],[s0,be.ISNUMBER],[a0,be.ISODD],[i0,be.ISREF],[o0,be.ISTEXT],[u0,be.ISURL],[l0,be.N],[c0,be.NA],[f0,be.SHEET],[m0,be.SHEETS],[h0,be.TYPE]];class g0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t&&!!s.getValue(),r=!1)}return r?g.create(h.VALUE):F.create(t)}}class d0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,u=r.isArray()?r.getColumnCount():1;r=O(a,u,r);const l=[[]];for(let c=0;c<u;c++){const f=[];for(let _=0;_<a;_++){const C=r.get(_,c);f.push([C])}let m=Z.create({calculateValueList:f,rowCount:a,columnCount:1,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_,startColumn:C+c,endRow:_+a-1,endColumn:C+c};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=b.create(0)),l[0].push(d)}return u===1?l[0][0]:Z.create({calculateValueList:l,rowCount:1,columnCount:u,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class C0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,u=r.isArray()?r.getColumnCount():1;r=O(a,u,r);const l=[];for(let c=0;c<a;c++){const f=[[]];for(let _=0;_<u;_++){const C=r.get(c,_);f[0].push(C)}let m=Z.create({calculateValueList:f,rowCount:1,columnCount:u,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_+c,startColumn:C,endRow:_+c,endColumn:C+u-1};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=b.create(0)),l.push([d])}return a===1?l[0][0]:Z.create({calculateValueList:l,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class _0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return F.create(!1)}}var Ee=(i=>(i.AND="AND",i.BYCOL="BYCOL",i.BYROW="BYROW",i.FALSE="FALSE",i.IF="IF",i.IFERROR="IFERROR",i.IFNA="IFNA",i.IFS="IFS",i.LAMBDA="LAMBDA",i.LET="LET",i.MAKEARRAY="MAKEARRAY",i.MAP="MAP",i.NOT="NOT",i.OR="OR",i.REDUCE="REDUCE",i.SCAN="SCAN",i.SWITCH="SWITCH",i.TRUE="TRUE",i.XOR="XOR",i))(Ee||{});class A0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r=F.create(!1)){let n=e;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();f===1&&m===1&&(n=e.get(0,0))}if(!n.isArray())return this._handleSingleObject(n,t,r);const s=Math.max(n.isArray()?n.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),u=O(s,a,n,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA));return u.mapValue((f,m,d)=>{const _=l.get(m,d),C=c.get(m,d);return this._handleSingleObject(f,_,C)})}_handleSingleObject(e,t,r){return e.isError()?e:e.getValue()?t:r}}class E0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((u,l,c)=>{u!=null&&u.isError()&&s.set(l,c,a.get(l,c))}),s}}class R0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==h.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===h.NA?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((u,l,c)=>{u!=null&&u.isError()&&u.getErrorType()===h.NA&&s.set(l,c,a.get(l,c))}),s}}class y0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(...e){if(e.length%2!==0)return g.create(h.NA);for(let a=0;a<e.length;a++)if(e[a].isError())return e[a];const t=Math.max(...e.map(a=>a.isArray()?a.getRowCount():1)),r=Math.max(...e.map(a=>a.isArray()?a.getColumnCount():1)),n=e.map(a=>O(t,r,a,g.create(h.NA))),s=n[0].map((a,u,l)=>{for(let c=0;c<n.length;c+=2){const f=n[c].get(u,l)||ce.create(),m=n[c+1].get(u,l)||ce.create();if(f.isNull())continue;if(f.isError())return f;const d=f.getValue();if(f.isString()){if(`${d}`.toLocaleUpperCase()==="TRUE")return m;if(`${d}`.toLocaleUpperCase()==="FALSE")continue;return g.create(h.VALUE)}if(+d)return m.isNull()?g.create(h.NA):m}return g.create(h.NA)});return t===1&&r===1?s.get(0,0):s}}class b0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class p0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class N0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return g.create(h.VALUE);const n=e[2],s=[];for(let a=0;a<t;a++){s[a]==null&&(s[a]=[]);for(let u=0;u<r;u++){let l=n.execute(b.create(a+1),b.create(u+1));l.isArray()&&(l=l.get(0,0)),s[a][u]=l}}return new go(s)}isAsync(){return!0}}let V0=class extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const t=[];let r=null,n=0,s=0;for(let u=0;u<e.length;u++){const l=e[u];let c=l;if(c.isReferenceObject()&&(c=l.toArrayValueObject()),c.isError())return c;if(u===e.length-1){if(!(l.isValueObject()&&l.isLambda()))return g.create(h.VALUE);r=l}else t.push(l),n=Math.max(n,c.isArray()?c.getRowCount():1),s=Math.max(s,c.isArray()?c.getColumnCount():1)}const a=this._getResultArray(t,r,n,s);return a instanceof g?a:n===1&&s===1?a[0][0]:Z.create({calculateValueList:a,rowCount:n,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,r,n){const s=[];for(let a=0;a<r;a++){const u=[];for(let l=0;l<n;l++){const c=[];let f=!1;for(let d=0;d<e.length;d++){let _=e[d],C=null;if(_.isReferenceObject()&&(C=_,_=_.toArrayValueObject()),!_.isArray())if(a===0&&l===0){c.push(C||_);continue}else{u.push(g.create(h.NA)),f=!0;break}let E=_.get(a,l);if(!E){u.push(g.create(h.NA)),f=!0;break}if(C){const{startRow:R,startColumn:y}=C.getRangePosition(),p={startRow:R+a,startColumn:y+l,endRow:R+a,endColumn:y+l};E=this.createReferenceObject(C,p)}c.push(E)}if(f||c.length===0)continue;let m=t.execute(...c);if(m.isArray()){const d=m.getRowCount(),_=m.getColumnCount();if(d>1||_>1)return g.create(h.CALC);m=m.get(0,0)}m.isNull()&&(m=b.create(0)),u.push(m)}s.push(u)}return s}};class O0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=+e.getValue();return Number.isNaN(t)?g.create(h.VALUE):F.create(!t)}}class S0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t||!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t||!!s.getValue(),r=!1)}return r?new g(h.VALUE):new F(t)}}class M0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n,s;e.isReferenceObject()?(n=e.toArrayValueObject(),s=e):(n=e,s=null);let a,u;return t.isReferenceObject()?(a=t.toArrayValueObject(),u=t):(a=t,u=null),n.isArray()?n.mapValue(l=>this._handleSingleValueObject(l,a,r,s,u)):this._handleSingleValueObject(n,a,r,s,u)}_handleSingleValueObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);const a=r,u=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;let c=e;n&&(c=n);for(let f=0;f<u;f++)for(let m=0;m<l;m++){let d=t.isArray()?t.get(f,m):t;if(d.isError())return d;if(s){const{startRow:C,startColumn:E}=s.getRangePosition(),R={startRow:C+f,startColumn:E+m,endRow:C+f,endColumn:E+m};d=this.createReferenceObject(s,R)}let _=a.execute(c,d);if(_.isError())return _;_.isNull()&&(_=b.create(0)),c=_}return c.isReferenceObject()?c.toArrayValueObject():c}}class D0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e,s=null;e.isReferenceObject()&&(n=e.toArrayValueObject(),s=e),n=n;let a=t,u=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),u=t),a=a,n.isError())return n;if(a.isError())return a;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.CALC);n=n.get(0,0)}return this._getResult(n,a,r,s,u)}_getResult(e,t,r,n,s){const a=[],u=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;let c=e;n&&(c=n);for(let f=0;f<u;f++){const m=[];for(let d=0;d<l;d++){if(c.isError()){m.push(c);continue}let _=t.isArray()?t.get(f,d):t;if(_.isError()){c=_,m.push(_);continue}if(s){const{startRow:E,startColumn:R}=s.getRangePosition(),y={startRow:E+f,startColumn:R+d,endRow:E+f,endColumn:R+d};_=this.createReferenceObject(s,y)}let C=r.execute(c,_);if(C.isArray()){const E=C.getRowCount(),R=C.getColumnCount();if(E>1||R>1)return g.create(h.CALC);C=C.get(0,0)}C.isNull()&&(C=b.create(0)),c=C,m.push(C)}a.push(m)}return u===1&&l===1?a[0][0]:Z.create({calculateValueList:a,rowCount:u,columnCount:l,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class w0 extends V{constructor(){super(...arguments);A(this,"minParams",3)}calculate(e,...t){if(e.isError())return e;const r=t.length%2!==0,n=r?t[t.length-1]:ce.create();return!e.isArray()&&!t.some(s=>s.isArray())?this._handleNonArrayInputs(e,t,n,r):this._handleArrayInputs(e,t,n,r)}_handleNonArrayInputs(e,t,r,n){for(let s=0;s<t.length-(n?1:0);s+=2){const a=t[s],u=t[s+1];if(!a.isNull()){if(a.isError())return a;if(`${e.getValue()}`.toLocaleLowerCase()===`${a.getValue()}`.toLocaleLowerCase())return u.isNull()?g.create(h.NA):u}}return r.isNull()?g.create(h.NA):r}_handleArrayInputs(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,...t.map(f=>f.isArray()?f.getRowCount():1),r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(f=>f.isArray()?f.getColumnCount():1),r.isArray()?r.getColumnCount():1),u=O(s,a,e),l=t.map(f=>O(s,a,f,g.create(h.NA))),c=O(s,a,r,g.create(h.NA));return u.map((f,m,d)=>{for(let C=0;C<l.length-(n?1:0);C+=2){const E=l[C].get(m,d)||ce.create(),R=l[C+1].get(m,d)||ce.create();if(!E.isNull()){if(E.isError()||f.isError())return E.isError()?E:f;if(`${f.getValue()}`.toLocaleLowerCase()===`${E.getValue()}`.toLocaleLowerCase())return R.isNull()?g.create(h.NA):R}}const _=c.get(m,d)||ce.create();return _.isNull()?g.create(h.NA):_})}}class L0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return F.create(!0)}}class P0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(a.getValue()&&t++,r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(s.getValue()&&t++,r=!1)}return r?g.create(h.VALUE):F.create(t%2===1)}}const al=[[g0,Ee.AND],[d0,Ee.BYCOL],[C0,Ee.BYROW],[_0,Ee.FALSE],[A0,Ee.IF],[E0,Ee.IFERROR],[R0,Ee.IFNA],[y0,Ee.IFS],[b0,Ee.LAMBDA],[p0,Ee.LET],[N0,Ee.MAKEARRAY],[V0,Ee.MAP],[O0,Ee.NOT],[S0,Ee.OR],[M0,Ee.REDUCE],[D0,Ee.SCAN],[w0,Ee.SWITCH],[L0,Ee.TRUE],[P0,Ee.XOR]];class j0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",5)}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=r!=null?r:b.create(1),u=n!=null?n:F.create(!0),l=s!=null?s:x.create(""),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,a,g.create(h.NA)),C=O(c,f,u,g.create(h.NA)),E=O(c,f,l,g.create(h.NA));return m.map((R,y,p)=>{const N=d.get(y,p)||g.create(h.NA),M=_.get(y,p)||g.create(h.NA),D=C.get(y,p)||g.create(h.NA),L=E.get(y,p)||g.create(h.NA);return R.isError()?R:N.isError()?N:M.isError()?M:D.isError()?D:L.isError()?L:this._calculateSingleCell(R,N,M,D,L)})}_calculateSingleCell(e,t,r,n,s){const a=Number.parseInt(`${Number(e.getValue())-1}`),u=Number.parseInt(`${Number(t.getValue())-1}`),l=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(a)||Number.isNaN(u)||Number.isNaN(l)||l<1||l>4)return g.create(h.VALUE);const c=T0(l),f=this.getZeroOrOneByOneDefault(n),m=`${s.getValue()}`,d=Pi(m),_={startRow:a,startColumn:u,endRow:a,endColumn:u,startAbsoluteRefType:c,endAbsoluteRefType:c},C=n&&!f?oh(_):yt(_);return x.create(d!==""?`${d}!${C}`:C)}}function T0(i){switch(i){case 1:return S.AbsoluteRefType.ALL;case 2:return S.AbsoluteRefType.ROW;case 3:return S.AbsoluteRefType.COLUMN;case 4:return S.AbsoluteRefType.NONE;default:return S.AbsoluteRefType.ALL}}class U0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?b.create(1):g.create(h.VALUE)}}class x0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),!r.isArray()){const l=r.convertToNumberObjectValue();return l.isError()?l:t[Math.trunc(+l.getValue())-1]||g.create(h.VALUE)}let n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;t.forEach((l,c)=>{if(l.isArray()){const f=l;n=Math.max(n,f.getRowCount()),s=Math.max(s,f.getColumnCount())}else n=Math.max(n,1),s=Math.max(s,1)});const a=O(n,s,r,g.create(h.NA)),u=t.map(l=>{let c=l;return c.isReferenceObject()&&(c=c.toArrayValueObject()),O(n,s,c,g.create(h.NA))});return a.map((l,c,f)=>{if(l.isError())return l;const m=l.convertToNumberObjectValue();if(m.isError())return m;const d=u[Math.trunc(+m.getValue())-1];let _=(d==null?void 0:d.get(c,f))||g.create(h.VALUE);return _!=null&&_.isNull()&&(_=b.create(0)),_})}}class v0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<t.length;a++){let u=t[a];if(u.isArray()){const f=u.getRowCount(),m=u.getColumnCount();if(f>1||m>1)return g.create(h.VALUE);u=u.get(0,0)}if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;const l=Math.trunc(+u.getValue());if(l===0||Math.abs(l)>n)return g.create(h.VALUE);let c=e;n>1&&(l<0?c=e.slice(void 0,[l+n,l+1+n]):c=e.slice(void 0,[l-1,l]));for(let f=0;f<r;f++)s[f]||(s[f]=[]),e.isArray()?s[f].push(c.get(f,0)):s[f].push(e)}return Z.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class I0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=[];for(let s=0;s<t.length;s++){let a=t[s];if(a.isArray()){const c=a.getRowCount(),f=a.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const u=Math.trunc(+a.getValue());if(u===0||Math.abs(u)>r)return g.create(h.VALUE);let l=e;r>1&&(u<0?l=e.slice([u+r,u+1+r]):l=e.slice([u-1,u])),e.isArray()?n.push(l.getArrayValue()[0]):n.push([e])}return Z.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class F0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.column+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),n=[];for(let a=0;a<r;a++)n.push(b.create(t+a+1));const s={calculateValueList:[n],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Z.create(s)}}class B0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 g.create(h.NA);const t=e.getColumnCount();return b.create(t)}}class k0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(0),s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(u,l,t,g.create(h.NA)),f=O(u,l,n,g.create(h.NA));if(u>1||l>1)return c.mapValue((y,p,N)=>{const M=f.get(p,N);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:D,errorObject:L}=this._checkRowsColumns(y,M,s,a);return D?L:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const m=t.isArray()?t.get(0,0):t,d=n.isArray()?n.get(0,0):n,{isError:_,errorObject:C,rowsValue:E,columnsValue:R}=this._checkRowsColumns(m,d,s,a);return _?C:this._getResultArray(e,E,R,s,a)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)>=r||Math.abs(a)>=n?{isError:!0,errorObject:g.create(h.CALC)}:{isError:!1,rowsValue:s,columnsValue:a}}_getResultArray(e,t,r,n,s){const a=t>=0?[t,n]:[0,n+t],u=r>=0?[r,s]:[0,s+r];let l;return t===0&&r===0?l=e:t===0?l=e.slice(void 0,u):r===0?l=e.slice(a,void 0):l=e.slice(a,u),l=l.map(c=>c.isNull()?b.create(0):c),n-t===1&&s-r===1?l.get(0,0):l}}class $0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;let u=t,l=r!=null?r:b.create(a);const c=n!=null?n:g.create(h.NA);t.isNull()&&(u=b.create(s)),l.isNull()&&(l=b.create(a));const f=Math.max(u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,u,g.create(h.NA)),_=O(f,m,l,g.create(h.NA));if(f>1||m>1)return d.mapValue((D,L,P)=>{const j=_.get(L,P);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:I,errorObject:v}=this._checkRowsColumnsPadWith(D,j,c,s,a);return I?v:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const C=u.isArray()?u.get(0,0):u,E=l.isArray()?l.get(0,0):l,{isError:R,errorObject:y,rowsValue:p,columnsValue:N,padWithObject:M}=this._checkRowsColumnsPadWith(C,E,c,s,a);return R?y:this._getResultArray(e,p,N,M,s,a)}_checkRowsColumnsPadWith(e,t,r,n,s){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const a=Math.trunc(+e.getValue()),u=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(u))return{isError:!0,errorObject:g.create(h.VALUE)};if(Math.abs(a)<n||Math.abs(u)<s)return{isError:!0,errorObject:g.create(h.VALUE)};let l=r;if(r.isArray()){const c=r.getRowCount(),f=r.getColumnCount();if(c>1||f>1)return{isError:!0,errorObject:g.create(h.VALUE)};l=r.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:u,padWithObject:l}}_getResultArray(e,t,r,n,s,a){let u=[];e.isArray()?u=e.map(f=>f.isNull()?b.create(0):f).getArrayValue():u=[[e]];const l=Math.max(0,t-s),c=Math.max(0,r-a);for(let f=0;f<l;f++)u.push(new Array(a).fill(n));for(let f=0;f<c;f++)u.forEach(m=>{m.push(n)});return t===1&&r===1?u[0][0]:Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Y0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:g.create(h.CALC);if(e.isError())return e;if(t.isError())return t;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;return u>1&&l>1||u===1&&l!==a||l===1&&u!==s?g.create(h.VALUE):s===1&&a===1?this._getResultArrayByR1C1(e,t,n):u===1?l!==a?g.create(h.VALUE):this._getResultArrayByR1(s,a,e,t,n):l===1?u!==s?g.create(h.VALUE):this._getResultArrayByC1(s,a,e,t,n):n}_getResultArrayByR1C1(e,t,r){let n=e,s=t;return n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),s.isString()&&(s=s.convertToNumberObjectValue()),s.isError()?s:+s.getValue()?n:r}_getResultArrayByR1(e,t,r,n,s){const a=[];for(let u=0;u<t;u++){let l=n.get(0,u);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(+l.getValue())for(let f=0;f<e;f++){a[f]||(a[f]=[]);const m=r.get(f,u);a[f].push(m)}}return a.length===0?s:Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArrayByC1(e,t,r,n,s){const a=[];for(let u=0;u<e;u++){let l=n.get(u,0);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(!+l.getValue())continue;const f=[];for(let m=0;m<t;m++){const d=r.get(u,m);f.push(d)}a.push(f)}return a.length===0?s:Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class H0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsFormulaDataModel",!0)}calculate(e){var f,m;if(!e.isReferenceObject())return g.create(h.NA);const t=e.getUnitId(),r=e.getSheetId(),s=(m=(f=e.getUnitData()[t])==null?void 0:f[r])==null?void 0:m.cellData,{startRow:a,startColumn:u}=e.getRangePosition(),c=e.toArrayValueObject().mapValue((d,_,C)=>{const E=s.getValue(a+_,u+C);if(E!=null&&E.f||E!=null&&E.si){const R=this._formulaDataModel.getFormulaStringByCell(a+_,u+C,r,t);return x.create(R)}return g.create(h.NA)});return c.getRowCount()===1&&c.getColumnCount()===1?c.get(0,0):c}}var ne=(i=>(i.ADDRESS="ADDRESS",i.AREAS="AREAS",i.CHOOSE="CHOOSE",i.CHOOSECOLS="CHOOSECOLS",i.CHOOSEROWS="CHOOSEROWS",i.COLUMN="COLUMN",i.COLUMNS="COLUMNS",i.DROP="DROP",i.EXPAND="EXPAND",i.FILTER="FILTER",i.FORMULATEXT="FORMULATEXT",i.GETPIVOTDATA="GETPIVOTDATA",i.HLOOKUP="HLOOKUP",i.HSTACK="HSTACK",i.HYPERLINK="HYPERLINK",i.IMAGE="IMAGE",i.INDEX="INDEX",i.INDIRECT="INDIRECT",i.LOOKUP="LOOKUP",i.MATCH="MATCH",i.OFFSET="OFFSET",i.ROW="ROW",i.ROWS="ROWS",i.RTD="RTD",i.SORT="SORT",i.SORTBY="SORTBY",i.TAKE="TAKE",i.TOCOL="TOCOL",i.TOROW="TOROW",i.TRANSPOSE="TRANSPOSE",i.UNIQUE="UNIQUE",i.VLOOKUP="VLOOKUP",i.VSTACK="VSTACK",i.WRAPCOLS="WRAPCOLS",i.WRAPROWS="WRAPROWS",i.XLOOKUP="XLOOKUP",i.XMATCH="XMATCH",i))(ne||{});class G0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray()||r.isError()||n!=null&&n.isError())return g.create(h.NA);const s=this.getZeroOrOneByOneDefault(n);if(s==null)return g.create(h.VALUE);const a=this.getIndexNumValue(r);if(a instanceof g)return a;const u=t.slice([0,1]),l=t.slice([a-1,a]);return u==null||l==null?g.create(h.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,s)):this._handleSingleObject(e,u,l,s)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class W0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getRowCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<t;l++){r[l]||(r[l]=[]);for(let c=0;c<u;c++){let f=s;s.isArray()&&(f=s.get(l,c)),l>a-1||!f?r[l].push(g.create(h.NA)):r[l].push(f)}}}return Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Q0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=e;if(e.isArray()&&(r=e.get(0,0)),r.isError())return r;let n=t;if(t!=null&&t.isArray()&&(n=t.get(0,0)),n!=null&&n.isError())return n;let s=`${r.getValue()}`;r.isNull()&&(s="");let a=s;return n&&(a=`${n.getValue()}`,n.isNull()?a="0":n.isBoolean()&&(a=a.toLocaleUpperCase())),x.create(a,{isHyperlink:!0,hyperlinkUrl:s})}}class q0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1,s!=null&&s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1,s!=null&&s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=t?O(a,u,t,g.create(h.NA)):void 0,f=r?O(a,u,r,g.create(h.NA)):void 0,m=n?O(a,u,n,g.create(h.NA)):void 0,d=s?O(a,u,s,g.create(h.NA)):void 0,_=l.mapValue((C,E,R)=>{if(C.isError())return C;const y=c?c.get(E,R):void 0;if(y!=null&&y.isError())return y;const p=f?f.get(E,R):void 0;if(p!=null&&p.isError())return p;const N=m?m.get(E,R):void 0;if(N!=null&&N.isError())return N;const M=d?d.get(E,R):void 0;return M!=null&&M.isError()?M:this._handleSingleObject(C,y,p,N,M)});return a===1&&u===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){if(!e.isString())return g.create(h.VALUE);const a=e.getValue();let u="";t&&(t.isBoolean()?u=t.getValue()?"TRUE":"FALSE":t.isNull()||(u=`${t.getValue()}`));let l=r!=null?r:b.create(0);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const c=Math.abs(Math.trunc(+l.getValue()));if(c<0||c>3||[0,1,2].includes(c)&&(n||s))return g.create(h.VALUE);let f=n!=null?n:b.create(0);if(f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=Math.ceil(+f.getValue());let d=s!=null?s:b.create(0);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=Math.ceil(+d.getValue());return c===3&&m<1&&_<1?g.create(h.VALUE):x.create("",{isImage:!0,imageInfo:{source:a,altText:u,sizing:c,height:m,width:_}})}}class X0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4);A(this,"needsReferenceObject",!0)}calculate(e,t,r,n){if(e.isError())return e;const s=this._getReferenceCounts(e);let a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let u=r;u!=null&&u.isReferenceObject()&&(u=r.toArrayValueObject());let l=n!=null?n:b.create(1);l.isReferenceObject()&&(l=n.toArrayValueObject());const c=Math.max(a.isArray()?a.getRowCount():1,u!=null&&u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(a.isArray()?a.getColumnCount():1,u!=null&&u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1);if(c===1&&f===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,u?u.isArray()?u.get(0,0):u:void 0,l.isArray()?l.get(0,0):l,s);{const m=O(c,f,a,g.create(h.NA)),d=u?O(c,f,u,g.create(h.NA)):[],_=O(c,f,l,g.create(h.NA));return m.mapValue((C,E,R)=>{const y=u?d.get(E,R):void 0,p=_.get(E,R),N=this._handleSingleObject(e,C,y,p,s);return N.isReferenceObject()?N.getCellByPosition():N})}}_handleSingleObject(e,t,r,n,s){let a,u,l;if(r){const{isError:C,errorObject:E,variants:R}=B(t,r,n);if(C)return E;a=R[0],u=R[1],l=R[2]}else{const{isError:C,errorObject:E,variants:R}=B(t,n);if(C)return E;a=R[0],l=R[1]}const c=Math.floor(+l.getValue());if(c<0)return g.create(h.VALUE);if(c>s.length)return g.create(h.REF);const f=s[c-1];let m=0,d=0;if(f.rowCount===1&&!r?d=Math.floor(+a.getValue()):(m=Math.floor(+a.getValue()),r&&(d=Math.floor(+u.getValue()))),m<0||d<0)return g.create(h.VALUE);if(m>f.rowCount||d>f.columnCount)return g.create(h.REF);let _=e;return c>1&&(_=e.getCubeValues()[c-1]),_.isReferenceObject()?this._calculateReferenceObject(_,m,d):this._calculateArrayObject(_,m,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(r=>({rowCount:r.getRowCount(),columnCount:r.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,r){const{startRow:n,endRow:s,startColumn:a,endColumn:u}=e.getRangePosition();let l=0,c=0,f=0,m=0;if(t===0?(l=n,c=s):l=c=n+t-1,r===0?(f=a,m=u):f=m=a+r-1,l>s||f>u)return g.create(h.REF);const d={startRow:l,startColumn:f,endRow:c,endColumn:m};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,r){return!e.isArray()||t===0&&r===0?e:t===0?e.slice(void 0,[r-1,r]):r===0?e.slice([t-1,t],void 0):e.get(t-1,r-1)}}class K0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let r=this.getZeroOrOneByOneDefault(t);r==null&&(r=1);let n=e;if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s>1||a>1)return e.map(()=>g.create(h.VALUE));n=e.getFirstCell()}return this._handleSingleObject(n,r)}_handleSingleObject(e,t){const r=`${e.getValue()}`;if(r.trim()==="")return g.create(h.REF);const n=this._convertToDefinedName(r);if(t===0){const f=vo(n),{range:m,sheetName:d,unitId:_}=f,C=new vr(m);return C.setForcedUnitIdDirect(_),C.setForcedSheetName(d),this._setDefault(C)}if(Sr(n))return this._setDefault(new na(n));if(Ri(n))return this._setDefault(new aa(n));if(yi(n))return this._setDefault(new sa(n));const s=$t(n),{range:a,sheetName:u,unitId:l}=s;if(Number.isNaN(a.startRow)||a.endRow+1>1048576||Number.isNaN(a.startColumn)||a.endColumn+1>16384)return g.create(h.REF);const c=new vr(a);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?g.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 r=t.formulaOrRefString;return r==null?e:r.startsWith(z.EQUALS)?r.slice(1):r}}class Z0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?g.create(h.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?g.create(h.REF):this._handleVector(e,t,r):this._handleArray(e,t):g.create(h.VALUE)}_handleVector(e,t,r){let n=r;if(n==null)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return g.create(h.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const r=t.getRowCount(),n=t.getColumnCount();let s,a;return n>r?(s=t.slice([0,1]),a=t.slice([r-1,r])):(s=t.slice(void 0,[0,1]),a=t.slice(void 0,[n-1,n])),s==null||a==null?g.create(h.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,s,a)):this.binarySearch(e,s,a)}}class z0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray())return g.create(h.VALUE);const n=t.getRowCount(),s=t.getColumnCount();if(n!==1&&s!==1||r!=null&&r.isError())return g.create(h.NA);const a=this.getMatchTypeValue(r);return a==null?g.create(h.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,r){const n=e.isNull()?b.create(0):e,s=this._getSearchModeValue(r),a=t.orderSearch(n,s);if(a==null)return g.create(h.NA);if(a instanceof g)return a;const u=t.getRowCount()===1?a.column+1:a.row+1;return b.create(u)}_getSearchModeValue(e){switch(e){case 1:return Le.MIN;case 0:return Le.NORMAL;case-1:return Le.MAX}}}class J0 extends Gt{constructor(e,t=[]){super(e);A(this,"_areas",[]);this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(t=>t.dispose())}),this._areas=[],super.dispose()}getAreas(){return this._areas}setAreas(e){this._areas=e}addArea(e){Array.isArray(e)?this._areas.push(e):this._areas.push([e])}_flatAreas(){return this._areas.flat()}isMultiArea(){return!0}isRange(){return!1}isCell(){return!1}isRow(){return!1}isColumn(){return!1}getRowCount(){let e=0;for(const t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(const t of this._flatAreas())t.isError()||(e+=t.getColumnCount());return e}isExceedRange(){return this._flatAreas().some(e=>e.isError()?!1:e.isExceedRange())}setRefOffset(e=0,t=0){super.setRefOffset(e,t),this._flatAreas().forEach(r=>{r.isError()||r.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(r=>!r.isError())}getUnitId(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getUnitId())!=null?t:super.getUnitId()}getSheetId(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getSheetId())!=null?t:super.getSheetId()}getActiveSheetRowCount(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getActiveSheetRowCount())!=null?t:0}getActiveSheetColumnCount(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getActiveSheetColumnCount())!=null?t:0}iterator(e){for(const t of this._areas){let r=!1;for(const n of t){if(n.isError())continue;let s=!1;if(n.iterator((a,u,l)=>{const c=e(a,u,l);return c===!1?(s=!0,r=!0,!1):c}),s)break}if(r)return}}getFirstCell(){const e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var n,s;const e=this._areas.length;if(e===0)return at([],0,0);const t=(s=(n=this._areas[0])==null?void 0:n.length)!=null?s:0,r=[];for(let a=0;a<e;a++){const u=this._areas[a];if(u){r[a]=r[a]||[];for(let l=0;l<t;l++){const c=u[l];if(!c)continue;if(c.isError()){r[a][l]=c;continue}let f=null;c.iterator(m=>(f=m!=null?m:null,!1)),f!=null&&(r[a][l]=f),r[a][l]=ce.create()}}}return at(r,e,t)}getRangePosition(){const e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const a of e){if(a.isError())continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=a.getRangePosition();!Number.isFinite(u)||!Number.isFinite(l)||!Number.isFinite(c)||!Number.isFinite(f)||(u<t&&(t=u),l<r&&(r=l),c>n&&(n=c),f>s&&(s=s<f?f:s))}return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s)?super.getRangePosition():{startRow:t,startColumn:r,endRow:n,endColumn:s}}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}getRangeData(){const e=this._flatAreas();if(!e.length)return super.getRangeData();let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const a of e){if(a.isError())continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=a.getRangeData();!Number.isFinite(u)||!Number.isFinite(l)||!Number.isFinite(c)||!Number.isFinite(f)||(u<t&&(t=u),l<r&&(r=l),c>n&&(n=c),f>s&&(s=f))}return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s)?super.getRangeData():{startRow:t,startColumn:r,endRow:n,endColumn:s}}}class eC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;if(!e.isReferenceObject())return g.create(h.VALUE);const a=e.getRowCount(),u=e.getColumnCount();let l=t;l.isReferenceObject()&&(l=l.toArrayValueObject());let c=r;c.isReferenceObject()&&(c=c.toArrayValueObject());let f=n!=null?n:b.create(a);f.isReferenceObject()&&(f=f.toArrayValueObject()),f.isNull()&&(f=b.create(a));let m=s!=null?s:b.create(u);m.isReferenceObject()&&(m=m.toArrayValueObject()),m.isNull()&&(m=b.create(u));const d=Math.max(l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1),_=Math.max(l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1);if(l=l,c=c,f=f,m=m,d===1&&_===1)return l=l.isArray()?l.get(0,0):l,c=c.isArray()?c.get(0,0):c,f=f.isArray()?f.get(0,0):f,m=m.isArray()?m.get(0,0):m,this._handleSingleObject(e,l,c,f,m);const C=O(d,_,l,g.create(h.NA)),E=O(d,_,c,g.create(h.NA)),R=O(d,_,f,g.create(h.NA)),y=O(d,_,m,g.create(h.NA)),p=[];return C.iterator((N,M,D)=>{const L=E.get(M,D),P=R.get(M,D),j=y.get(M,D);if(p[M]=p[M]||[],N==null){p[M][D]=g.create(h.NA);return}if(N.isError()){p[M][D]=N;return}if(L.isError()){p[M][D]=L;return}if(P.isError()){p[M][D]=P;return}if(j.isError()){p[M][D]=j;return}const I=this._handleSingleObject(e,N,L,P,j);p[M][D]=I}),new J0("",p)}_handleSingleObject(e,t,r,n,s){const{startRow:a,startColumn:u}=e.getRangePosition();let l=t;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+l.getValue(),m=+c.getValue();if(typeof f!="number"||typeof m!="number")return g.create(h.VALUE);const d=a+f,_=u+m;if(d<0||_<0)return g.create(h.REF);const C=this.getIndexNumValue(n),E=this.getIndexNumValue(s);if(typeof C!="number"||typeof E!="number")return g.create(h.VALUE);if(C===0||E===0)return g.create(h.REF);const R=C>0?d+C-1:d+C+1,y=E>0?_+E-1:_+E+1;if(R<0||y<0)return g.create(h.REF);const p=d<R?d:R,N=_<y?_:y,M=d>R?d:R,D=_>y?_:y,L={startRow:p,startColumn:N,endRow:M,endColumn:D};return this.createReferenceObject(e,L)}}class tC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.row+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentRow(),r=e.getRowCount(),n=[];for(let a=0;a<r;a++)n.push([b.create(t+a+1)]);const s={calculateValueList:n,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Z.create(s)}}class rC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 g.create(h.NA);const t=e.getRowCount();return b.create(t)}}class nC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){let s=t!=null?t:b.create(1);const a=r!=null?r:b.create(1),u=n!=null?n:F.create(!1);if(s.isNull()&&(s=b.create(1)),u.isArray()){const l=u.getRowCount(),c=u.getColumnCount();if(l===1&&c===1){const f=u.get(0,0);return this._handleSingleObject(e,s,a,f)}return u.map(f=>{const m=this._handleSingleObject(e,s,a,f);return m.isArray()?m.get(0,0):m})}return this._handleSingleObject(e,s,a,u)}_handleSingleObject(e,t,r,n){if(e.isError())return e;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=this._checkArrayError(t);if(u.isError())return u;const l=Math.floor(+u.getValue());if(l<1)return g.create(h.VALUE);const c=this._checkArrayError(r);if(c.isError())return c;const f=Math.floor(+c.getValue());if(f!==-1&&f!==1)return g.create(h.VALUE);let m=n;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(!e.isArray()||s===1&&a===1)return e;const d=+m.getValue();return this._getResult(e,l,f,d,s,a)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,r,n,s,a){if(n){if(t>s)return g.create(h.VALUE);const u=e.transpose().getArrayValue();return u.sort(this._sort(t-1,r)),Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return g.create(h.VALUE);const u=e.getArrayValue();return u.sort(this._sort(t-1,r)),Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){const r=En();return t===1?this._sortAsc(e,r):this._sortDesc(e,r)}_sortAsc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return 1;if(a.isError())return-1;const u=s.getValue(),l=a.getValue();return s.isBoolean()&&u===!0?1:a.isBoolean()&&l===!0?-1:s.isBoolean()&&u===!1?1:a.isBoolean()&&l===!1?-1:s.isNumber()&&a.isNumber()?+u-+l:t(u,l)}}_sortDesc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return-1;if(a.isError())return 1;const u=s.getValue(),l=a.getValue();return s.isBoolean()&&u===!0?-1:a.isBoolean()&&l===!0?1:s.isBoolean()&&u===!1?-1:a.isBoolean()&&l===!1?1:s.isNumber()&&a.isNumber()?+l-+u:t(l,u)}}}class sC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){t.length===1&&t.push(b.create(1));const r=this._getVariantsError(e,...t),{maxRowLength:n,maxColumnLength:s}=hm(t);if(r.isError()){const l=O(n,s,r);return n===1&&s===1?l.get(0,0):l}const a=t.map((l,c)=>c%2===0?l:O(n,s,l,g.create(h.NA))),u=this._getResultArray(e,a,n,s);return n===1&&s===1?u[0][0]:Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let u=0;u<t.length;u++){const l=t[u];if(l.isError())return l}if(t.length<2||t.length%2!==0)return g.create(h.VALUE);const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((s>1||a>1)&&(s>1&&a>1||s===1&&a!==n||a===1&&s!==r))return g.create(h.VALUE);for(let u=2;u<t.length;u++){if(u%2===1)continue;const l=t[u].isArray()?t[u].getRowCount():1,c=t[u].isArray()?t[u].getColumnCount():1;if(l!==s||c!==a)return g.create(h.VALUE)}return F.create(!0)}_getResultArray(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=t[0].isArray()?t[0].getRowCount():1,l=t[0].isArray()?t[0].getColumnCount():1,c=[];for(let f=0;f<r;f++){c[f]=[];for(let m=0;m<n;m++){const{isError:d,errorObject:_,byArrays:C,sortOrders:E}=this._getByArraysAndSortOrders(t,f,m,l);if(d){c[f].push(_);continue}if(!e.isArray()||s===1&&a===1){c[f].push(e);continue}let R=e.getArrayValue();u===1&&l===1||(u===1?(R=R.concat(C),R=this._transposeArray(R),R.sort(this._sort(s,E)),R=this._transposeArray(R).slice(0,s)):l===1&&(R=this._transposeArray(R),R=R.concat(C),R=this._transposeArray(R),R.sort(this._sort(a,E)),R=R.map(p=>p.slice(0,a))));const y=Z.create({calculateValueList:R,rowCount:R.length,columnCount:R[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(r>1||n>1){c[f].push(y.get(0,0));continue}c[f].push(y)}}return c}_getByArraysAndSortOrders(e,t,r,n){const s=[],a=[];let u=!1,l=null;for(let c=0;c<e.length;c++){if(c%2===1)continue;const f=e[c];let m=e[c+1].get(t,r);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError()){u=!0,l=m;break}const d=Math.floor(+m.getValue());if(d!==-1&&d!==1){u=!0,l=g.create(h.VALUE);break}if(a.push(d),f.isArray()){let _=f.getArrayValue();n===1&&(_=this._transposeArray(_)),s.push(_[0])}else s.push([f])}return{isError:u,errorObject:l,byArrays:s,sortOrders:a}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_sort(e,t){const r=En();return(n,s)=>{let a=n[e],u=s[e],l=this._compare(a,u,t[0],r);if(l===0&&t.length>1){for(let c=1;c<t.length;c++)if(a=n[e+c],u=s[e+c],l=this._compare(a,u,t[c],r),l!==0)return l}return l}}_compare(e,t,r,n){return r===1?this._asc(e,t,n):this._desc(e,t,n)}_asc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return 1;if(t.isError())return-1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?1:t.isBoolean()&&s===!0?-1:e.isBoolean()&&n===!1?1:t.isBoolean()&&s===!1?-1:e.isNumber()&&t.isNumber()?+n-+s:r(n,s)}_desc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return-1;if(t.isError())return 1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?-1:t.isBoolean()&&s===!0?1:e.isBoolean()&&n===!1?-1:t.isBoolean()&&s===!1?1:e.isNumber()&&t.isNumber()?+s-+n:r(s,n)}}class aC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=t,u=r!=null?r:b.create(s);t.isNull()&&(a=b.create(n)),u.isNull()&&(u=b.create(s));const l=Math.max(a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,a,g.create(h.NA)),m=O(l,c,u,g.create(h.NA));if(l>1||c>1)return f.mapValue((p,N,M)=>{const D=m.get(N,M);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:L,errorObject:P}=this._checkRowsColumns(p,D,n,s);return L?P:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const d=a.isArray()?a.get(0,0):a,_=u.isArray()?u.get(0,0):u,{isError:C,errorObject:E,rowsValue:R,columnsValue:y}=this._checkRowsColumns(d,_,n,s);return C?E:this._getResultArray(e,R,y,n,s)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)===0||Math.abs(a)===0?{isError:!0,errorObject:g.create(h.CALC)}:(s>r&&(s=r),a>n&&(a=n),{isError:!1,rowsValue:s,columnsValue:a})}_getResultArray(e,t,r,n,s){if(!e.isArray())return e;const a=t>=0?[0,t]:[n+t,n],u=r>=0?[0,r]:[s+r,s];let l;return t===n&&r===s?l=e:t===n?l=e.slice(void 0,u):r===s?l=e.slice(a,void 0):l=e.slice(a,u),l=l.map(c=>c.isNull()?b.create(0):c),t===1&&r===1?l.get(0,0):l}}class iC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(0),s=r!=null?r:F.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,n,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),R=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(R))return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return R?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||u>1||y.length===1?y[0]:Z.create({calculateValueList:y.map(p=>[p]),rowCount:y.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&u===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<s;u++)for(let l=0;l<n;l++){const c=r.get(l,u);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<n;u++)for(let l=0;l<s;l++){const c=r.get(u,l);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class oC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(0),s=r!=null?r:F.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,n,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);if(e.isError())return e;if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),R=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(R)||e.isNull())return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return R?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||u>1||y.length===1?y[0]:Z.create({calculateValueList:[y],rowCount:1,columnCount:y.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&u===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<s;u++)for(let l=0;l<n;l++){const c=r.get(l,u);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<n;u++)for(let l=0;l<s;l++){const c=r.get(u,l);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class uC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t===1&&r===1?e.get(0,0):e.transpose()}return e}}class lC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:F.create(!1),s=r!=null?r:F.create(!1),a=e.isArray()?e.getRowCount():1,u=e.isArray()?e.getColumnCount():1,l=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),c=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),f=O(l,c,n,g.create(h.NA)),m=O(l,c,s,g.create(h.NA)),d=f.map((_,C,E)=>{let R=_,y=m.get(C,E);if(e.isError())return e;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+R.getValue(),N=+y.getValue();let M;return!p&&a===1||p&&u===1?M=e:M=this._getResult(e,p,N),(l>1||c>1)&&(M!=null&&M.isArray())?M.get(0,0):M});return l===1&&c===1?d.get(0,0):d}_getResult(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=e.getArrayValue(),u=n,l=s;t&&(a=this._transposeArray(a),u=s,l=n);const c=this._getRepeatRows(a,u,l);if(c.length>0){const f=[];c.forEach(m=>{m.forEach((d,_)=>{(_!==0||r)&&f.push(d)})}),a=a.filter((m,d)=>!f.includes(d))}return a.length===0?g.create(h.CALC):(t&&(a=this._transposeArray(a)),Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,r){let n=[];for(let s=0;s<r;s++)if(s===0){const a=new Array(t).fill(null).map((u,l)=>({r:l,valueObject:e[l][s]}));n=this._getRepeatRowsByObjects(a)}else{if(n.length===0)break;let a=[];n.forEach(u=>{const l=u.map(f=>({r:f,valueObject:e[f][s]})),c=this._getRepeatRowsByObjects(l);a=a.concat(c)}),n=a}return n}_getRepeatRowsByObjects(e){const t=new Map;return e.forEach(r=>{const n=r.r,s=r.valueObject;let a=s.getValue();if(s.isNull()?a=null:s.isString()&&S.isRealNum(a)&&(a=+a),!t.has(a))t.set(a,[n]);else{const u=t.get(a);u.push(n),t.set(a,u)}}),Array.from(t.values()).filter(r=>r.length>1)}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}}class cC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return g.create(h.VALUE);if(r.isError())return r;if(n!=null&&n.isError())return n;const s=n!=null?n:F.create(!0);return Co(e)&&Co(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)}_handleArrayColIndexNum(e,t,r,n){const s=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(n);if(a==null)return g.create(h.VALUE);let u;const l=[];return r.iterator((c,f,m)=>{if(c==null)return u=g.create(h.VALUE),!1;const d=this._handleTableArray(s,t,c,a);if(d.isError())return u=d,!1;l[f]===void 0&&(l[f]=[]),l[f][m]=d}),u||at(l,l.length,l[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e),l=O(s,a,n);return u.map((c,f,m)=>{if(c.isError())return c;const d=l.get(f,m);if(d==null)return g.create(h.VALUE);if(d.isError())return d;const _=this.getZeroOrOneByOneDefault(d);return _==null?g.create(h.VALUE):this._handleTableArray(c,t,r,_)})}_handleTableArray(e,t,r,n){let s=this.getIndexNumValue(r);if(s instanceof g)return s;if(s=Math.floor(s),s<1)return g.create(h.VALUE);const a=t.slice(void 0,[0,1]);if(a==null)return g.create(h.VALUE);const u=t.slice(void 0,[s-1,s]);return u==null?g.create(h.REF):this._handleSingleObject(e,a,u,n)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class fC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getColumnCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++){const c=[];for(let f=0;f<t;f++){let m=s;s.isArray()&&(m=s.get(l,f)),f>u-1||!m?c.push(g.create(h.NA)):c.push(m)}r.push(c)}}return Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class mC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(u,l,t,g.create(h.NA)),f=O(u,l,n,g.create(h.NA)),m=c.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const R=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(R))return g.create(h.VALUE);if(R<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,R,E);return u>1||l>1||p.length===1&&p[0].length===1?p[0][0]:Z.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return u===1&&l===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let u=0;u<n;u++)for(let l=0;l<s;l++){a[l]||(a[l]=[]);const c=u*s+l;c<e.length?a[l].push(e[c].isNull()?b.create(0):e[c]):a[l].push(r)}return a}}class hC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(u,l,t,g.create(h.NA)),f=O(u,l,n,g.create(h.NA)),m=c.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const R=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(R))return g.create(h.VALUE);if(R<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,R,E);return u>1||l>1||p.length===1&&p[0].length===1?p[0][0]:Z.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return u===1&&l===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let u=0;u<n;u++){const l=[];for(let c=0;c<s;c++){const f=u*s+c;f<e.length?l.push(e[f].isNull()?b.create(0):e[f]):l.push(r)}a.push(l)}return a}}class gC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=n!=null?n:g.create(h.NA);n!=null&&n.isNull()&&(u=g.create(h.NA));let l=s!=null?s:b.create(0);s!=null&&s.isNull()&&(l=b.create(0));let c=a!=null?a:b.create(1);if(a!=null&&a.isNull()&&(c=b.create(1)),e.isError())return e;const f=t.isArray()?t.getRowCount():1,m=t.isArray()?t.getColumnCount():1,d=r.isArray()?r.getRowCount():1,_=r.isArray()?r.getColumnCount():1;if(f!==1&&m!==1||f===1&&m>1&&m!==_||m===1&&f>1&&f!==d)return g.create(h.VALUE);if(l.isError())return l;if(c.isError())return c;const C=this.getIndexNumValue(l);if(C instanceof g)return C;const E=this.getIndexNumValue(c);return E instanceof g?E:this._getResult(e,oa(t),oa(r),u,C,E,f,m,d,_)}_getResult(e,t,r,n,s,a,u,l,c,f){const m=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(m>1||d>1){let R;return u===1?R=r.slice([0,1]):R=r.slice(void 0,[0,1]),R==null?g.create(h.NA):e.map(y=>{const p=this._checkErrorCombination(s,a);if(p)return p;const N=this._handleSingleObject(y,t,R,s,a);return N.isError()?n:N})}const _=e.isArray()?e.get(0,0):e;if(l===f&&u===c){const R=this._checkErrorCombination(s,a);if(R)return R;const y=this._handleSingleObject(_,t,r,s,a);return y.isError()?n:y}let C=0;l===f&&(C=1);const E=this._handleExpandObject(_,t,r,s,a,C);return E==null?g.create(h.NA):E}_handleExpandObject(e,t,r,n,s,a=0){if((s===2||s===-2)&&n!==2){const u=Hs(s),l=Ys(n);return this.binarySearchExpand(e,t,r,a,u,l)}return n===2?this.fuzzySearchExpand(e,t,r,s!==-1,a):n===-1||n===1?this.orderSearchExpand(e,t,r,n===1?Le.MAX:Le.MIN,s===-1,a):this.equalSearchExpand(e,t,r,s!==-1,a)}_handleSingleObject(e,t,r,n,s){if((s===2||s===-2)&&n!==2){const a=Hs(s),u=Ys(n);return this.binarySearch(e,t,r,a,u)}return n===2?this.fuzzySearch(e,t,r,s!==-1):n===-1||n===1?this.orderSearch(e,t,r,n===1?Le.MAX:Le.MIN,s===-1):this.equalSearch(e,t,r,s!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?g.create(h.VALUE):null}}class dC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){let s=b.create(0);r&&!r.isNull()&&(s=r);let a=b.create(1);n&&!n.isNull()&&(a=n);const u=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(u,l,e,g.create(h.NA)),f=O(u,l,s,g.create(h.NA)),m=O(u,l,a,g.create(h.NA)),d=c.mapValue((_,C,E)=>{if(_.isError())return _;const R=f.get(C,E),y=m.get(C,E);return R.isError()?R:y.isError()?y:this._handleSingleObject(_,t,R,y)});return u===1&&l===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(s!==1&&a!==1)return g.create(h.VALUE);let u=r;if((r.isString()||r.isBoolean()||r.isNull())&&(u=r.convertToNumberObjectValue()),u.isError())return u;let l=n;if((n.isString()||n.isBoolean()||n.isNull())&&(l=n.convertToNumberObjectValue()),l.isError())return l;const c=u.getValue(),f=l.getValue();return![-1,0,1,2].includes(c)||![-1,1,2].includes(f)?g.create(h.VALUE):this._getResult(e,t,c,f)}_getResult(e,t,r,n){const s=oa(t);let a;if((n===2||n===-2)&&r!==2){const u=Hs(n),l=Ys(r);a=s.binarySearch(e,u,l)}else if(r===2){const u=s.compare(e,H.EQUALS);let l;if(n!==-1?l=u.getFirstTruePosition():l=u.getLastTruePosition(),l==null)return g.create(h.NA);a=s.getRowCount()===1?l.column:l.row}else if(r===-1||r===1){const u=s.orderSearch(e,r===1?Le.MAX:Le.MIN,n===-1);if(u==null)return g.create(h.NA);if(u instanceof g)return u;a=s.getRowCount()===1?u.column:u.row}else{const u=s.isEqual(e);let l;if(n!==-1?l=u.getFirstTruePosition():l=u.getLastTruePosition(),l==null)return g.create(h.NA);a=s.getRowCount()===1?l.column:l.row}return a==null?g.create(h.NA):b.create(a+1)}}const il=[[j0,ne.ADDRESS],[U0,ne.AREAS],[x0,ne.CHOOSE],[v0,ne.CHOOSECOLS],[I0,ne.CHOOSEROWS],[F0,ne.COLUMN],[B0,ne.COLUMNS],[k0,ne.DROP],[$0,ne.EXPAND],[Y0,ne.FILTER],[H0,ne.FORMULATEXT],[G0,ne.HLOOKUP],[W0,ne.HSTACK],[Q0,ne.HYPERLINK],[q0,ne.IMAGE],[X0,ne.INDEX],[K0,ne.INDIRECT],[Z0,ne.LOOKUP],[z0,ne.MATCH],[eC,ne.OFFSET],[tC,ne.ROW],[rC,ne.ROWS],[nC,ne.SORT],[sC,ne.SORTBY],[aC,ne.TAKE],[iC,ne.TOCOL],[oC,ne.TOROW],[uC,ne.TRANSPOSE],[lC,ne.UNIQUE],[cC,ne.VLOOKUP],[fC,ne.VSTACK],[mC,ne.WRAPCOLS],[hC,ne.WRAPROWS],[gC,ne.XLOOKUP],[dC,ne.XMATCH]];class CC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}}class _C extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}}class AC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}}class EC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:ol(r)):ol(t)}}function ol(i){let o=i.getValue();if(i.isBoolean()&&(o=o?1:0),!Number.isFinite(o))return g.create(h.VALUE);o=Number(o);let e=Math.atan(1/o);return o<0&&(e+=Math.PI),Number.isNaN(e)?g.create(h.VALUE):b.create(e)}class RC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:ul(r)):ul(t)}}function ul(i){let o=i.getValue();if(i.isBoolean()&&(o=o?1:0),!Number.isFinite(o))return g.create(h.VALUE);if(o=Number(o),Math.abs(o)<=1)return g.create(h.NUM);const e=1/2*Math.log((o+1)/(o-1));return Number.isNaN(e)?g.create(h.VALUE):b.create(e)}const yC={1:Se.AVERAGE,2:Se.COUNT,3:Se.COUNTA,4:Se.MAX,5:Se.MIN,6:Se.PRODUCT,7:Se.STDEV_S,8:Se.STDEV_P,9:Se.SUM,10:Se.VAR_S,11:Se.VAR_P,12:Se.MEDIAN,13:Se.MODE_SNGL};class bC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,t,...r){const{isError:n,multiAreaRefs:s,normalRefs:a}=zo(r);let u;e.isReferenceObject()?u=e.toArrayValueObject():u=e;let l;t.isReferenceObject()?l=t.toArrayValueObject():l=t;const c=Math.max(u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,u,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.mapValue((C,E,R)=>{if(C.isError())return C;const y=d.get(E,R);return y.isError()?y:s.length>0?g.create(h.VALUE):this._handleSingleObject(C,y,r,n,a)});return _.getRowCount()===1&&_.getColumnCount()===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;const u=Math.floor(+a.getValue());if(u<1||u>19||u>=1&&u<=13&&n||u>=14&&u<=19&&r.length!==2)return g.create(h.VALUE);let l=t;if(t.isString()&&(l=t.convertToNumberObjectValue()),l.isError())return l;const c=Math.floor(+l.getValue());if(c<0||c>7)return g.create(h.VALUE);const f=this._getAggregateOptions(c);return u>=14&&u<=19?this._handleLargeSmallPercentileQuartile(u,f,r[0],r[1]):ru({type:yC[u],...f,formulaDataModel:this._formulaDataModel},s)}_getAggregateOptions(e){switch(e){case 1:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!0};case 2:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!0};case 3:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!0};case 4:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!1};case 5:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!1};case 6:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!1};case 7:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!1};default:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!0}}}_handleLargeSmallPercentileQuartile(e,t,r,n){let s;if(n.isReferenceObject()?s=n.toArrayValueObject():s=n,s.isError())return s;if(s.isArray()){const l=s.getRowCount(),c=s.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);s=s.get(0,0)}const a=zt(r,t,this._formulaDataModel);if(!Array.isArray(a))return a;const u=+s.getValue();switch(e){case 14:return su(a,u);case 15:return au(a,u);case 16:return iu(a,u);case 17:return uu(a,u);case 18:return ou(a,u);case 19:return lu(a,u);default:return g.create(h.VALUE)}}}class pC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return b.create(0);if(e.isBoolean()||e.isNumber())return g.create(h.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return g.create(h.VALUE);const r=t.startsWith("-");r&&(t=t.slice(1));let n=0;for(let s=0;s<t.length;s++){const a=Hn.get(t[s])||0,u=Hn.get(t[s+1])||0,l=Hn.get(t[s+2])||0,c=Hn.get(t[s+3])||0;if(!a||l>=u&&l>a||a===u&&a===l&&a===c||a===u/2)return g.create(h.VALUE);a<u?n-=a:n+=a}return b.create(r?-n:n)}}class NC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}}class VC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}}class OC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}}class SC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.atan2(r))}}class MC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}}class DC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(0);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.map((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return this._handleSingleObject(m,C,E)});return f.getRowCount()===1&&f.getColumnCount()===1?f.getArrayValue()[0][0]:f}_handleSingleObject(e,t,r){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let a=r;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const u=Math.floor(+n.getValue()),l=Math.floor(+s.getValue()),c=Math.floor(+a.getValue());if(u<0||u>=2**53||l<2||l>36||c<0)return g.create(h.NUM);let f=u.toString(l);return f.length<c&&(f=new Array(c-f.length+1).join("0")+f),x.create(f.toLocaleUpperCase())}}class wC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0||C===0)return b.create(0);const E=$e(_/C,0)*C;return b.create(E)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class LC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(1),s=r!=null?r:b.create(0);if(e.isError())return e;if(n.isError())return n;if(s.isError())return s;const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,n,g.create(h.NA)),f=O(a,u,s,g.create(h.NA)),m=l.map((d,_,C)=>{let E=d,R=c.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),N=+R.getValue(),M=+y.getValue();return p===0||N===0?b.create(0):this._getResult(p,N,M)});return a===1&&u===1?m.get(0,0):m}_getResult(e,t,r){let n;return e<0&&r!==0?n=(t<0?$e(Math.abs(e)/Math.abs(t),0):-$e(Math.abs(e)/t,0))*t:n=(t<0?-$e(e/Math.abs(t),0):$e(e/t,0))*t,b.create(n)}}class PC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return b.create(0);const R=(E<0?-$e(C/Math.abs(E),0):$e(C/E,0))*E;return b.create(R)});return n===1&&s===1?l.get(0,0):l}}class jC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_<C)return g.create(h.NUM);const E=Zt(_,C);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class TC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_===0&&_<C)return g.create(h.NUM);const E=Zt(_+C-1,_-1);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class UC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}}class xC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}}class vC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.tan().getReciprocal()}}class IC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()===0?g.create(h.DIV_BY_ZERO):t.tanh().getReciprocal()}}class FC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.sin().getReciprocal()}}class BC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return r===0?g.create(h.DIV_BY_ZERO):!Number.isNaN(r)&&!Number.isFinite(Math.sinh(r))?b.create(0):t.sinh().getReciprocal()}}class kC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{if(l.isError())return l;let m=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const d=`${l.getValue()}`,_=Math.floor(+m.getValue());if(S.isRealNum(d)&&(+d<0||+d>=2**53||!Number.isInteger(+d))||d.toLocaleLowerCase()==="true"||d.toLocaleLowerCase()==="false"||_<2||_>36)return g.create(h.NUM);if(d.replace(/\s/g,"")==="")return b.create(0);if(!this._isValidCharForRadix(d,_))return g.create(h.NUM);const C=Number.parseInt(d,_);return Number.isNaN(C)?g.create(h.NUM):b.create(C)});return r===1&&n===1?u.get(0,0):u}_isValidCharForRadix(e,t){for(const r of e){const n=r.toUpperCase().charCodeAt(0);if(t<=10&&!(n>=48&&n<48+t)||t>10&&!(n>=48&&n<58||n>=65&&n<65+t-10))return!1}return!0}}class $C extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(180/Math.PI);return Number.isNaN(n)?g.create(h.VALUE):b.create(n)}}class YC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=(r<0?-$e(Math.abs(r)/2,0):$e(r/2,0))*2;return Number.isNaN(n)?g.create(h.VALUE):n===0?b.create(0):b.create(n)}}class HC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}}class GC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=Rr(r);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):b.create(n)}}class WC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()){const r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=Rr(r,2);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):b.create(n)}}class QC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=a.get(c,f),d=l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=+d.getValue(),C=+m.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0)return b.create(0);if(C===0)return g.create(h.DIV_BY_ZERO);const E=Qe(_/C,0)*C;return b.create(E)});return r===1&&n===1?u.get(0,0):u}}class qC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(1),s=r!=null?r:b.create(0),a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,n,g.create(h.NA)),f=O(a,u,s,g.create(h.NA)),m=l.map((d,_,C)=>{let E=d,R=c.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),N=+R.getValue(),M=+y.getValue();if(p===0||N===0)return b.create(0);let D;return p<0&&M!==0?D=(N<0?Qe(Math.abs(p)/Math.abs(N),0):-Qe(Math.abs(p)/N,0))*N:D=(N<0?-Qe(p/Math.abs(N),0):Qe(p/N,0))*N,b.create(D)});return a===1&&u===1?m.get(0,0):m}}class XC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return b.create(0);const R=(E<0?-Qe(C/Math.abs(E),0):Qe(C/E,0))*E;return b.create(R)});return n===1&&s===1?l.get(0,0):l}}class KC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(!n.isNull())if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(u=>{if(u!=null&&u.isNull())return!0;const{isError:l,errorObject:c,number:f}=this._handleSingleObject(u);if(l)return s=!0,a=c,!1;t=Va(t,f)}),s)return a}else{const{isError:s,errorObject:a,number:u}=this._handleSingleObject(n);if(s)return a;t=Va(t,u)}}return b.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0||r>=2**53?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class ZC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());return b.create(r)}}class zC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=!0;for(let n=0;n<e.length;n++){const s=e[n];if(!s.isNull())if(s.isArray()){let a=!1,u=g.create(h.VALUE);if(s.iterator(l=>{if(l!=null&&l.isNull())return!0;const{isError:c,errorObject:f,number:m}=this._handleSingleObject(l);if(c)return a=!0,u=f,!1;t=Fo(t,m),r=!1}),a)return u}else{const{isError:a,errorObject:u,number:l}=this._handleSingleObject(s);if(a)return u;t=Fo(t,l),r=!1}}return r?b.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?g.create(h.VALUE):b.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class JC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}}class e_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(10);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C<=0||E<=0)return g.create(h.NUM);const R=Math.log(E);if(R===0)return g.create(h.DIV_BY_ZERO);const y=Math.log(C)/R;return b.create(y)});return n===1&&s===1?l.get(0,0):l}}class t_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}}class r_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const u=[];for(let l=0;l<r;l++){let c=e.isArray()?e.get(a,l):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+c.getValue();u.push(f)}n.push(u)}if(t!==r)return g.create(h.VALUE);const s=Oa(n);return b.create(s)}}class n_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const u=[];for(let l=0;l<r;l++){let c=e.isArray()?e.get(a,l):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+c.getValue();u.push(f)}n.push(u)}if(t!==r)return g.create(h.VALUE);const s=fh(n);return s===null?g.create(h.NUM):Z.createByArray(s)}}class s_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(n!==s)return g.create(h.VALUE);const u=this._getMatrix(e,r,n),l=this._getMatrix(t,s,a);if(u instanceof g)return u;if(l instanceof g)return l;const c=yr(u,l);return Z.createByArray(c)}_getMatrix(e,t,r){const n=[];for(let s=0;s<t;s++){const a=[];for(let u=0;u<r;u++){let l=e.isArray()?e.get(s,u):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const c=+l.getValue();a.push(c)}n.push(a)}return n}}class a_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.mod(n)}}class i_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(a===0)return b.create(0);if(s>0&&a<0||s<0&&a>0)return g.create(h.NUM);const u=xt(s/a,0)*a;return b.create(u)}}class o_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=1;for(let s=0;s<e.length;s++){const a=e[s];if(!a.isNull())if(a.isArray()){let u=!1,l=g.create(h.VALUE);if(a.iterator(c=>{if(c!=null&&c.isNull())return!0;const{isError:f,errorObject:m,number:d}=this._handleSingleObject(c);if(f)return u=!0,l=m,!1;if(t+=d,t>170)return u=!0,l=g.create(h.NUM),!1;r*=Rr(d)}),u)return l}else{const{isError:u,errorObject:l,number:c}=this._handleSingleObject(a);if(u)return l;if(t+=c,t>170)return g.create(h.NUM);r*=Rr(c)}}const n=Rr(t)/r;return b.create(n)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class u_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount(),n=e.mapValue(s=>{const a=this._handleSingleObject(s);return a.isError()?a:t>1||r>1?a.get(0,0):a});return t===1&&r===1?n.get(0,0):n}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());if(r<=0)return g.create(h.VALUE);const n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<r;a++)n[s][a]=s===a?1:0}return Z.createByArray(n)}}class l_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);let n=r<0?-$e(Math.abs(r),0):$e(r,0);return Number.isNaN(n)?g.create(h.VALUE):(Math.abs(n)%2===0&&(r<0?n--:n++),b.create(n))}}class c_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return b.create(Math.PI)}}class f_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.pow(n)}}class m_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(1),r=!0;for(let n=0;n<e.length;n++){let s=e[n];if(s.isError())return s;if(s.isArray()){let a=!1,u=null;if(s.iterator(l=>{if(l!=null&&l.isError())return a=!0,u=l,!1;if(!l||l.isNull()||l.isString()||l.isBoolean())return!0;t=t.multiply(l),r=!1}),a)return u}else{if(s.isNull())continue;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;t=t.multiply(s),r=!1}if(t.isError())return t}return r?b.create(0):t}}class h_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=+u.getValue();if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c===0)return g.create(h.DIV_BY_ZERO);const f=Math.trunc(l/c);return b.create(f)}}class g_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(Math.PI/180);return Number.isNaN(n)?g.create(h.VALUE):b.create(n)}}class d_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return b.create(Math.random())}}class C_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",5);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n,s){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=e!=null?e:b.create(1),u=t!=null?t:b.create(1),l=r!=null?r:b.create(0),c=n!=null?n:b.create(1),f=s!=null?s:b.create(0);return this._calculateResult(a,u,l,c,f)}_calculateResult(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(a===1&&u===1)return this._calculateSingleCell(e,t,r,n,s);const l=O(a,u,e,g.create(h.NA)),c=O(a,u,t,g.create(h.NA)),f=O(a,u,r,g.create(h.NA)),m=O(a,u,n,g.create(h.NA)),d=O(a,u,s,g.create(h.NA));return l.map((_,C,E)=>{const R=c.get(C,E),y=f.get(C,E),p=m.get(C,E),N=d.get(C,E),M=this._handleError(_,R,y,p,N);if(M.errorObject)return M.errorObject;let{minValue:D,maxValue:L,wholeNumberValue:P}=M,j;return P?(D=Math.ceil(D),L=Math.floor(L),j=Math.floor(Math.random()*(L-D+1))+D):j=Math.random()*(L-D)+D,j<D||j>L?g.create(h.VALUE):b.create(j)})}_calculateSingleCell(e,t,r,n,s){let a=e;a.isArray()&&(a=a.get(0,0));let u=t;u.isArray()&&(u=u.get(0,0));let l=r;l.isArray()&&(l=l.get(0,0));let c=n;c.isArray()&&(c=c.get(0,0));let f=s;f.isArray()&&(f=f.get(0,0));const m=this._handleError(a,u,l,c,f);if(m.errorObject)return m.errorObject;let{rowsValue:d,columnsValue:_,minValue:C,maxValue:E,wholeNumberValue:R}=m;if(R&&(C=Math.ceil(C),E=Math.floor(E),C>E))return g.create(h.VALUE);const y=[];for(let p=0;p<d;p++){const N=[];for(let M=0;M<_;M++)R?N.push(Math.floor(Math.random()*(E-C+1))+C):N.push(Math.random()*(E-C)+C);y.push(N)}return d===1&&_===1?b.create(y[0][0]):Z.createByArray(y)}_handleError(e,t,r,n,s){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let u=t;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return{errorObject:u};let l=r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return{errorObject:l};let c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let f=s;return f.isString()&&(f=f.convertToNumberObjectValue()),f.isError()?{errorObject:f}:this._getValue(a,u,l,c,f)}_getValue(e,t,r,n,s){const a=Math.floor(+e.getValue()),u=Math.floor(+t.getValue());if(a===0||u===0)return{errorObject:g.create(h.CALC)};const l=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||u<0||a*u>10**7)return{errorObject:g.create(h.VALUE)};if(a>l||u>c)return{errorObject:g.create(h.REF)};const f=+r.getValue(),m=+n.getValue(),d=+s.getValue();return f>m?{errorObject:g.create(h.VALUE)}:d&&(!Number.isInteger(f)||!Number.isInteger(m))?{errorObject:g.create(h.VALUE)}:{rowsValue:a,columnsValue:u,minValue:f,maxValue:m,wholeNumberValue:d}}}class __ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);let s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(s>a)return g.create(h.NUM);s=Math.ceil(s),a=Math.floor(a);const u=Math.floor(Math.random()*(a-s+1))+s;return b.create(u)}}class A_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e);if(r)return n;const[a]=s;let u=Math.floor(+a.getValue()),l=t;if(l.isString()&&(l=l.convertToNumberObjectValue(),l.isError()))return l;let c=Math.floor(+l.getValue());if(l.isBoolean()&&(c=l.getValue()?0:4),u<0||u>3999||c<0||c>4)return g.create(h.VALUE);const f=Eh[c];let m=f.length-1,d="";for(;u>0;){m=this._binarySearch(u,0,m,f);const _=f[m];u-=_,d+=Ah.get(_)}return x.create(d)}_binarySearch(e,t,r,n){let s=t,a=r;for(;a-s>1;){const u=Math.floor((s+a)/2),l=n[u];if(l===e)return u;l>e?a=u:s=u}return s!==a&&n[a]<=e?a:s}}class E_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.round(n)}}class R_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=B(l,m);if(d)return _;const[E,R]=C,y=+E.getValue(),p=Math.trunc(+R.getValue()),N=this._roundBank(y,p);return b.create(N)});return r===1&&n===1?u.get(0,0):u}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;const r=1e-8,n=10**t,s=+(e*n).toFixed(8),a=Math.floor(s),u=s-a;let l=Math.round(s);return u>.5-r&&u<.5+r&&(l=a%2===0?a:a+1),t?l/n:l}}class y_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.floor(n)}}class b_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.ceil(n)}}class p_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):t.cos().getReciprocal()}}class N_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Number.isFinite(Math.cosh(r))?Math.abs(r)>=2**27?g.create(h.NUM):t.cosh().getReciprocal():b.create(0)}}class V_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n){let s=e,a=t!=null?t:b.create(1),u=r!=null?r:b.create(1),l=n!=null?n:b.create(1);s.isNull()&&(s=b.create(1)),a.isNull()&&(a=b.create(1)),u.isNull()&&(u=b.create(1)),l.isNull()&&(l=b.create(1));const c=Math.max(s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,s,g.create(h.NA)),d=O(c,f,a,g.create(h.NA)),_=O(c,f,u,g.create(h.NA)),C=O(c,f,l,g.create(h.NA)),E=m.mapValue((R,y,p)=>{const N=d.get(y,p),M=_.get(y,p),D=C.get(y,p);return R.isError()?R:N.isError()?N:M.isError()?M:D.isError()?D:this._getResult(R,N,M,D,c,f)});return c===1&&f===1?E.get(0,0):E}_getResult(e,t,r,n,s,a){const{isError:u,errorObject:l,variants:c}=B(e,t,r,n);if(u)return l;const[f,m,d,_]=c,C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue()),R=+d.getValue(),y=+_.getValue();if(C<0||E<0||C*E>10**7)return g.create(h.VALUE);if(C===0||E===0)return g.create(h.CALC);const p=this._rowCount-this.row,N=this._columnCount-this.column;if(C>p||E>N)return g.create(h.REF);const M=[];for(let D=0;D<C;D++){M[D]=[];for(let L=0;L<E;L++)M[D][L]=R+(D*E+L)*y}return s>1||a>1?b.create(M[0][0]):Z.createByArray(M)}}class O_ extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isNull()||t.isNull()||r.isNull()||n.isNull())return g.create(h.NA);const{isError:s,errorObject:a,variants:u}=q(e,t,r);if(s)return a;const{isError:l,errorObject:c,variants:f}=B(...u);if(l)return c;const[m,d,_]=f,C=+m.getValue(),E=+d.getValue(),R=+_.getValue(),y=[];if(n.isArray()){let N=!1,M=g.create(h.VALUE);if(n.iterator(D=>{const{isError:L,errorObject:P,coefficientsObject:j}=this._handleSingleObject(D);if(L)return N=!0,M=P,!1;const I=+j.getValue();y.push(I)}),N)return M}else{const{isError:N,errorObject:M,coefficientsObject:D}=this._handleSingleObject(n);if(N)return M;const L=+D.getValue();y.push(L)}let p=0;for(let N=0;N<y.length;N++)p+=y[N]*C**(E+N*R);return Number.isNaN(p)||!Number.isFinite(p)?g.create(h.NUM):b.create(p)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),coefficientsObject:null};let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?{isError:!0,errorObject:t,coefficientsObject:null}:{isError:!1,errorObject:null,coefficientsObject:t}}}class S_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();return a>0?b.create(1):a<0?b.create(-1):b.create(0)}}class M_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}}class D_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}}class w_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}}class L_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(r<0)return g.create(h.NUM);const n=Math.sqrt(r*Math.PI);return b.create(n)}}const P_={1:Se.AVERAGE,2:Se.COUNT,3:Se.COUNTA,4:Se.MAX,5:Se.MIN,6:Se.PRODUCT,7:Se.STDEV,8:Se.STDEVP,9:Se.SUM,10:Se.VAR,11:Se.VARP};class j_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,...t){let r;e.isReferenceObject()?r=e.toArrayValueObject():r=e;const{isError:n,multiAreaRefs:s,normalRefs:a}=zo(t);if(!n&&s.length>0)return this._handleMultiAreaRefs(r,s,t);if(r.isArray()){const u=r.mapValue(l=>this._handleSingleObject(l,{isError:n,refs:a}));return u.getRowCount()===1&&u.getColumnCount()===1?u.get(0,0):u}return this._handleSingleObject(r,{isError:n,refs:a})}_handleSingleObject(e,t){const{isError:r=!1,refs:n}=t;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;if(r)return g.create(h.VALUE);let a=Math.floor(+s.getValue());if(a<1||a>11&&a<101||a>111)return g.create(h.VALUE);let u=!1;return a>=101&&(a-=100,u=!0),ru({type:P_[a],ignoreRowHidden:u,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},n)}_handleMultiAreaRefs(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:u}=this._getMultiAreaInfo(t),l=Math.max(n,u),c=[];for(let f=0;f<l;f++){const m=f<n?f:n-1,d=[];for(let _=0;_<s;_++){if(n>1&&f>=n){d.push(g.create(h.NA));continue}const C=e.isArray()?e.get(m,_):e,E=[];for(let y=0;y<r.length;y++){const p=r[y],N=a.get(p);if(N){const M=f<N.rowAreas.length?f:N.rowAreas.length-1,D=N.rowAreas[M];if(D.isError()){d.push(D);break}E.push(D);continue}E.push(p)}const R=this._handleSingleObject(C,{isError:!1,refs:E});d.push(R)}c.push(d)}return c.length===1?c[0][0]:at(c,c.length,s)}_getMultiAreaInfo(e){const t=new Map;let r=1;return e.forEach(n=>{const s=n.getAreas().map(a=>{if(!a||a.length===0)return n;const u=a.find(l=>!l.isError());return u!=null?u:a[0]});t.set(n,{ref:n,rowAreas:s}),r=Math.max(r,s.length||1)}),{multiAreaInfoMap:t,maxAreasLen:r}}}class T_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()||(n.isArray()&&(n=n.sum()),n.isError()))return n;if(t=t.plus(n),t.isError())return t}return t}}class U_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Pn(n,t);s=jn(s,n,t);const a=n.getRowCount(),u=n.getColumnCount();let l=n;if(r){l=r.toArrayValueObject();const c=l.getRowCount(),f=l.getColumnCount();if(a!==c||u!==f){const m=r.getRangeData();m.endRow=m.startRow+a-1,m.endColumn=m.startColumn+u-1,r.setRangeData(m),l=r.toArrayValueObject()}}return l.pick(s).sum()}}class x_ extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=Ir(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=Fr(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>e.pick(s).sum()));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class v_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=this._initArray1(e);if(t.length===0)return r.sum();const n=r.getRowCount(),s=r.getColumnCount(),a=this._getResultArrayByArray1(n,s,r);if(a instanceof g)return a;const u=a,l=this._validateVariants(t,n,s);return l||this._sumProduct(u,t,n,s)}_validateVariants(e,t,r){for(const n of e){if(n.isError())return n;if(n.isArray()){const s=n,a=s.getRowCount(),u=s.getColumnCount();if(a!==t&&u!==r)return g.create(h.VALUE)}}return null}_sumProduct(e,t,r,n){let s=0;for(let a=0;a<r;a++)for(let u=0;u<n;u++){let l=e[a][u];for(let c=0;c<t.length;c++){const f=t[c],m=this._getVariantCell(f,a,u);if(!m)return g.create(h.VALUE);if(m.isError())return m;m.isNumber()?l*=m.getValue():l=0}s+=l}return b.create(s)}_getVariantCell(e,t,r){if(!e.isArray())return e;const s=e.get(t,r);return s!=null?s:null}_initArray1(e){let t=e;return t.isArray()||(t=Z.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t}_getResultArrayByArray1(e,t,r){const n=[];for(let s=0;s<e;s++){const a=[];for(let u=0;u<t;u++){const l=r.get(s,u);if(l.isError())return l;l.isNumber()?a.push(l.getValue()):a.push(0)}n.push(a)}return n}}class I_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);const r=b.create(2);for(let n=0;n<e.length;n++){let s=e[n];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()?s.iterator(a=>{if(a==null||a.isString()||a.isBoolean()||a.isNull())return!0;if(a.isError())return t=a,!1;t=t.plus(a.pow(r))}):t=t.plus(s.pow(r)),t.isError())return t}return t}}class F_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,l=a*u;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],_=[];let C=0;return c.iterator((E,R,y)=>{const p=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const N=+E.getValue(),M=+p.getValue();d.push(N),_.push(M),C+=N**2-M**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):b.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const u=s**2-a**2;return b.create(u)}}class B_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,l=a*u;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],_=[];let C=0;return c.iterator((E,R,y)=>{const p=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const N=+E.getValue(),M=+p.getValue();d.push(N),_.push(M),C+=N**2+M**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):b.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const u=s**2+a**2;return b.create(u)}}class k_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,l=a*u;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],_=[];let C=0;return c.iterator((E,R,y)=>{const p=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const N=+E.getValue(),M=+p.getValue();d.push(N),_.push(M),C+=(N-M)**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):b.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const u=(s-a)**2;return b.create(u)}}class $_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}}class Y_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}}class H_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue(),R=10**Math.trunc(E),y=Dn(C,R),p=Math.trunc(gr(C,R)+y)/R;return b.create(p)});return n===1&&s===1?l.get(0,0):l}}const ll=[[CC,$.ABS],[_C,$.ACOS],[AC,$.ACOSH],[EC,$.ACOT],[RC,$.ACOTH],[bC,$.AGGREGATE],[pC,$.ARABIC],[NC,$.ASIN],[VC,$.ASINH],[OC,$.ATAN],[SC,$.ATAN2],[MC,$.ATANH],[DC,$.BASE],[wC,$.CEILING],[LC,$.CEILING_MATH],[PC,$.CEILING_PRECISE],[jC,$.COMBIN],[TC,$.COMBINA],[UC,$.COS],[xC,$.COSH],[vC,$.COT],[IC,$.COTH],[FC,$.CSC],[BC,$.CSCH],[kC,$.DECIMAL],[$C,$.DEGREES],[YC,$.EVEN],[HC,$.EXP],[GC,$.FACT],[WC,$.FACTDOUBLE],[QC,$.FLOOR],[qC,$.FLOOR_MATH],[XC,$.FLOOR_PRECISE],[KC,$.GCD],[ZC,$.INT],[zC,$.LCM],[JC,$.LN],[e_,$.LOG],[t_,$.LOG10],[r_,$.MDETERM],[n_,$.MINVERSE],[s_,$.MMULT],[a_,$.MOD],[i_,$.MROUND],[o_,$.MULTINOMIAL],[u_,$.MUNIT],[l_,$.ODD],[c_,$.PI],[f_,$.POWER],[m_,$.PRODUCT],[h_,$.QUOTIENT],[g_,$.RADIANS],[d_,$.RAND],[C_,$.RANDARRAY],[__,$.RANDBETWEEN],[A_,$.ROMAN],[E_,$.ROUND],[R_,$.ROUNDBANK],[y_,$.ROUNDDOWN],[b_,$.ROUNDUP],[p_,$.SEC],[N_,$.SECH],[O_,$.SERIESSUM],[V_,$.SEQUENCE],[S_,$.SIGN],[M_,$.SIN],[D_,$.SINH],[w_,$.SQRT],[L_,$.SQRTPI],[j_,$.SUBTOTAL],[T_,$.SUM],[U_,$.SUMIF],[x_,$.SUMIFS],[v_,$.SUMPRODUCT],[I_,$.SUMSQ],[F_,$.SUMX2MY2],[B_,$.SUMX2PY2],[k_,$.SUMXMY2],[$_,$.TAN],[Y_,$.TANH],[H_,$.TRUNC]];class G_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"_compareType",H.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Ha extends Nt{constructor(e){super("");A(this,"_values",[]);this._values=e}static create(e){return new Ha(e)}isCube(){return!0}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}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 r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),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 W_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return n;if(!n.isArray())return g.create(h.VALUE);t.push(n)}return Ha.create(t)}}class Q_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?g.create(h.DIV_BY_ZERO):e.divided(t)}}class q_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class X_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class K_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const cl=[[G_,Ie.COMPARE],[Q_,Ie.DIVIDED],[q_,Ie.MINUS],[X_,Ie.MULTIPLY],[K_,Ie.PLUS],[W_,Ie.CUBE]];var T=(i=>(i.AVEDEV="AVEDEV",i.AVERAGE="AVERAGE",i.AVERAGE_WEIGHTED="AVERAGE.WEIGHTED",i.AVERAGEA="AVERAGEA",i.AVERAGEIF="AVERAGEIF",i.AVERAGEIFS="AVERAGEIFS",i.BETA_DIST="BETA.DIST",i.BETA_INV="BETA.INV",i.BINOM_DIST="BINOM.DIST",i.BINOM_DIST_RANGE="BINOM.DIST.RANGE",i.BINOM_INV="BINOM.INV",i.CHISQ_DIST="CHISQ.DIST",i.CHISQ_DIST_RT="CHISQ.DIST.RT",i.CHISQ_INV="CHISQ.INV",i.CHISQ_INV_RT="CHISQ.INV.RT",i.CHISQ_TEST="CHISQ.TEST",i.CONFIDENCE_NORM="CONFIDENCE.NORM",i.CONFIDENCE_T="CONFIDENCE.T",i.CORREL="CORREL",i.COUNT="COUNT",i.COUNTA="COUNTA",i.COUNTBLANK="COUNTBLANK",i.COUNTIF="COUNTIF",i.COUNTIFS="COUNTIFS",i.COVARIANCE_P="COVARIANCE.P",i.COVARIANCE_S="COVARIANCE.S",i.DEVSQ="DEVSQ",i.EXPON_DIST="EXPON.DIST",i.F_DIST="F.DIST",i.F_DIST_RT="F.DIST.RT",i.F_INV="F.INV",i.F_INV_RT="F.INV.RT",i.F_TEST="F.TEST",i.FISHER="FISHER",i.FISHERINV="FISHERINV",i.FORECAST="FORECAST",i.FORECAST_ETS="FORECAST.ETS",i.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",i.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",i.FORECAST_ETS_STAT="FORECAST.ETS.STAT",i.FORECAST_LINEAR="FORECAST.LINEAR",i.FREQUENCY="FREQUENCY",i.GAMMA="GAMMA",i.GAMMA_DIST="GAMMA.DIST",i.GAMMA_INV="GAMMA.INV",i.GAMMALN="GAMMALN",i.GAMMALN_PRECISE="GAMMALN.PRECISE",i.GAUSS="GAUSS",i.GEOMEAN="GEOMEAN",i.GROWTH="GROWTH",i.HARMEAN="HARMEAN",i.HYPGEOM_DIST="HYPGEOM.DIST",i.INTERCEPT="INTERCEPT",i.KURT="KURT",i.LARGE="LARGE",i.LINEST="LINEST",i.LOGEST="LOGEST",i.LOGNORM_DIST="LOGNORM.DIST",i.LOGNORM_INV="LOGNORM.INV",i.MARGINOFERROR="MARGINOFERROR",i.MAX="MAX",i.MAXA="MAXA",i.MAXIFS="MAXIFS",i.MEDIAN="MEDIAN",i.MIN="MIN",i.MINA="MINA",i.MINIFS="MINIFS",i.MODE_MULT="MODE.MULT",i.MODE_SNGL="MODE.SNGL",i.NEGBINOM_DIST="NEGBINOM.DIST",i.NORM_DIST="NORM.DIST",i.NORM_INV="NORM.INV",i.NORM_S_DIST="NORM.S.DIST",i.NORM_S_INV="NORM.S.INV",i.PEARSON="PEARSON",i.PERCENTILE_EXC="PERCENTILE.EXC",i.PERCENTILE_INC="PERCENTILE.INC",i.PERCENTRANK_EXC="PERCENTRANK.EXC",i.PERCENTRANK_INC="PERCENTRANK.INC",i.PERMUT="PERMUT",i.PERMUTATIONA="PERMUTATIONA",i.PHI="PHI",i.POISSON_DIST="POISSON.DIST",i.PROB="PROB",i.QUARTILE_EXC="QUARTILE.EXC",i.QUARTILE_INC="QUARTILE.INC",i.RANK_AVG="RANK.AVG",i.RANK_EQ="RANK.EQ",i.RSQ="RSQ",i.SKEW="SKEW",i.SKEW_P="SKEW.P",i.SLOPE="SLOPE",i.SMALL="SMALL",i.STANDARDIZE="STANDARDIZE",i.STDEV_P="STDEV.P",i.STDEV_S="STDEV.S",i.STDEVA="STDEVA",i.STDEVPA="STDEVPA",i.STEYX="STEYX",i.T_DIST="T.DIST",i.T_DIST_2T="T.DIST.2T",i.T_DIST_RT="T.DIST.RT",i.T_INV="T.INV",i.T_INV_2T="T.INV.2T",i.T_TEST="T.TEST",i.TREND="TREND",i.TRIMMEAN="TRIMMEAN",i.VAR_P="VAR.P",i.VAR_S="VAR.S",i.VARA="VARA",i.VARPA="VARPA",i.WEIBULL_DIST="WEIBULL.DIST",i.Z_TEST="Z.TEST",i))(T||{}),is=(i=>(i.ENCODEURL="ENCODEURL",i.FILTERXML="FILTERXML",i.WEBSERVICE="WEBSERVICE",i))(is||{});const Z_=new Set([$.ACOT,$.ACOTH,$.ARABIC,$.BASE,$.CEILING_MATH,$.CEILING_PRECISE,$.COMBINA,$.COT,$.COTH,$.CSC,$.CSCH,$.DECIMAL,$.FLOOR_MATH,$.FLOOR_PRECISE,$.MUNIT,$.RANDARRAY,$.SEC,$.SECH,$.SEQUENCE,ne.CHOOSECOLS,ne.CHOOSEROWS,ne.DROP,ne.EXPAND,ne.FILTER,ne.FORMULATEXT,ne.HSTACK,ne.SORT,ne.SORTBY,ne.TAKE,ne.TOCOL,ne.TOROW,ne.UNIQUE,ne.VSTACK,ne.WRAPCOLS,ne.WRAPROWS,ne.XLOOKUP,ne.XMATCH,X.BITAND,X.BITLSHIFT,X.BITOR,X.BITRSHIFT,X.BITXOR,X.ERF_PRECISE,X.ERFC_PRECISE,X.IMCOSH,X.IMCOT,X.IMCSC,X.IMCSCH,X.IMSEC,X.IMSECH,X.IMSINH,X.IMTAN,be.ISFORMULA,be.SHEET,be.SHEETS,Ee.IFNA,Ee.IFS,Ee.SWITCH,Ee.XOR,T.BETA_DIST,T.BETA_INV,T.BINOM_DIST,T.BINOM_DIST_RANGE,T.BINOM_INV,T.CHISQ_DIST,T.CHISQ_DIST_RT,T.CHISQ_INV,T.CHISQ_INV_RT,T.CHISQ_TEST,T.CONFIDENCE_NORM,T.CONFIDENCE_T,T.COVARIANCE_P,T.COVARIANCE_S,T.EXPON_DIST,T.F_DIST,T.F_DIST_RT,T.F_INV,T.F_INV_RT,T.F_TEST,T.FORECAST_LINEAR,T.GAMMA,T.GAMMA_DIST,T.GAMMA_INV,T.GAMMALN_PRECISE,T.GAUSS,T.HYPGEOM_DIST,T.LOGNORM_DIST,T.LOGNORM_INV,T.MAXIFS,T.MINIFS,T.MODE_MULT,T.MODE_SNGL,T.NEGBINOM_DIST,T.NORM_DIST,T.NORM_INV,T.NORM_S_DIST,T.NORM_S_INV,T.PERCENTILE_EXC,T.PERCENTILE_INC,T.PERCENTRANK_EXC,T.PERCENTRANK_INC,T.PERMUTATIONA,T.PHI,T.POISSON_DIST,T.QUARTILE_EXC,T.QUARTILE_INC,T.RANK_AVG,T.RANK_EQ,T.SKEW_P,T.STDEV_P,T.STDEV_S,T.T_DIST,T.T_DIST_2T,T.T_DIST_RT,T.T_INV,T.T_INV_2T,T.T_TEST,T.VAR_P,T.VAR_S,T.WEIBULL_DIST,T.Z_TEST,J.ARRAYTOTEXT,is.ENCODEURL,J.NUMBERVALUE,J.TEXTAFTER,J.TEXTBEFORE,J.TEXTJOIN,J.TEXTSPLIT,J.UNICHAR,J.UNICODE,J.VALUETOTEXT,Ae.DAYS,Ae.ISOWEEKNUM,ee.PDURATION,ee.RRI,Ee.BYCOL,Ee.BYROW,Ee.MAKEARRAY,Ee.MAP,Ee.REDUCE,Ee.SCAN]);class z_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let a=0;a<e.length;a++){let u=e[a];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(u=J_(u),u.isError())return u;if(e[a]=u,t=t.plus(u.sum()),t.isError())return t;r=r.plus(u.count())}else u.isNull()||(t=t.plus(u),r=r.plus(b.create(1)))}if(r.getValue()===0)return g.create(h.NUM);const n=t.divided(r);if(n.isError())return n;let s=b.create(0);for(let a=0;a<e.length;a++){let u=e[a];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(s=s.plus(u.minus(n).abs().sum()),s.isError())return s}else u.isNull()||(s=s.plus(u.minus(n).abs()))}return s.divided(r)}}function J_(i){const o=[];o[0]=[];let e=null;return i.iterator((t,r,n)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&o[0].push(t)}),e||at(o,1,o[0].length)}class eA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(t=t.plus(s.sum()),t.isError())return t;r=r.plus(s.count())}else s.isNull()||(t=t.plus(s),r=r.plus(b.create(1)))}return t.divided(r)}}class tA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",254)}calculate(...e){let t=!1,r;e.length%2!==0&&(t=!0,r=g.create(h.NA));const n=[],s=[];for(let a=0;a<e.length;a+=2){const u=e[a],l=u.isArray()?u.getRowCount():1,c=u.isArray()?u.getColumnCount():1;for(let _=0;_<l;_++)for(let C=0;C<c;C++){const E=u.isArray()?u.get(_,C):u;if(E.isError())return E;if(t)continue;const R=E.isNull()?"":E.getValue();n.push(R)}if(a+1>=e.length)continue;const f=e[a+1],m=f.isArray()?f.getRowCount():1,d=f.isArray()?f.getColumnCount():1;(m!==l||d!==c)&&(t=!0,r=g.create(h.VALUE));for(let _=0;_<m;_++)for(let C=0;C<d;C++){const E=f.isArray()?f.get(_,C):f;if(E.isError())return E;if(t)continue;const R=E.isNull()?"":E.getValue();s.push(R)}}return t?r:this._getResult(n,s)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let u=0;u<r;u++){const l=e[u],c=t[u];if(!(typeof l!="number"&&typeof c!="number")){if(typeof l!="number"||typeof c!="number"||c<0)return g.create(h.VALUE);n+=l*c,s+=c}}if(s===0)return g.create(h.DIV_BY_ZERO);const a=n/s;return b.create(a)}}class rA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;let u=a;if(u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()&&(u=b.create(0))),u.isBoolean()&&(u=u.convertToNumberObjectValue()),u.isError())return t=u,!1;t=t.plus(u),r=r.plus(b.create(1))}),t.isError())return t}else s.isNull()||(t=t.plus(s),r=r.plus(b.create(1)))}return t.divided(r)}}class nA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Pn(n,t);s=jn(s,n,t);const a=n.getRowCount(),u=n.getColumnCount();let l=n;if(r){l=r.toArrayValueObject();const d=l.getRowCount(),_=l.getColumnCount();if(a!==d||u!==_){const C=r.getRangeData();C.endRow=C.startRow+a-1,C.endColumn=C.startColumn+u-1,r.setRangeData(C),l=r.toArrayValueObject()}}const c=l.pick(s),f=c.sum(),m=c.count();return f.divided(m)}}class sA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=Ir(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=Fr(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s),u=a.sum(),l=a.count();return u.divided(l)}));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class aA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=s!=null?s:b.create(0),l=a!=null?a:b.create(1);u.isNull()&&(u=b.create(0)),l.isNull()&&(l=b.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,r,g.create(h.NA)),C=O(c,f,n,g.create(h.NA)),E=O(c,f,u,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.mapValue((p,N,M)=>{const D=d.get(N,M),L=_.get(N,M),P=C.get(N,M),j=E.get(N,M),I=R.get(N,M);return this._handleSingleObject(p,D,L,P,j,I)});return c===1&&f===1?y.get(0,0):y}_handleSingleObject(e,t,r,n,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;if(a.isError())return a;const{isError:u,errorObject:l,variants:c}=B(e,t,r,n,s,a);if(u)return l;const[f,m,d,_,C,E]=c,R=+f.getValue(),y=+m.getValue(),p=+d.getValue(),N=+_.getValue(),M=+C.getValue(),D=+E.getValue();if(y<=0||p<=0||R<M||R>D||M===D)return g.create(h.NUM);let L;return N?L=$o((R-M)/(D-M),y,p):L=Rh((R-M)/(D-M),y,p)/(D-M),b.create(L)}}class iA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){let s=n!=null?n:r;s.isNull()&&(s=r);const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,t,g.create(h.NA)),f=O(a,u,r,g.create(h.NA)),m=O(a,u,s,g.create(h.NA)),d=l.mapValue((_,C,E)=>{const R=c.get(C,E),y=f.get(C,E),p=m.get(C,E);return _.isError()?_:R.isError()?R:y.isError()?y:p.isError()?p:this._handleSingleObject(_,R,y,p)});return a===1&&u===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=+c.getValue(),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||_<0||_>1||C<0||C>d||E<0||E<C||E>d)return g.create(h.NUM);let R=0;for(let y=C;y<=E;y++)R+=Pa(y,d,_);return b.create(R)}}class oA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=+c.getValue();if(f<0||m<1||m>10**10)return g.create(h.NUM);let _;return d?_=ja(f,m):_=yh(f,m),b.create(_)}}class uA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Go(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class lA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=Math.floor(+M.getValue());if(D<=0||D>=1||L<=0||P<1)return g.create(h.NUM);if(P===1)return g.create(h.DIV_BY_ZERO);const j=Math.abs(qn(D/2,P-1)*L/Math.sqrt(P));return b.create(j)});return n===1&&s===1?c.get(0,0):c}}class cA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++){const _=e[d]-a,C=t[d]-u;l+=_*C,c+=_**2,f+=C**2}const m=Math.sqrt(c*f);return m===0?g.create(h.DIV_BY_ZERO):b.create(l/m)}}class fA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){const n=e[r];n.isError()||(n.isArray()?t=t.plus(n.count()):n.isString()?n.convertToNumberObjectValue().isError()||(t=t.plus(b.create(1))):n.isNull()||(t=t.plus(b.create(1))))}return t}}class mA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isError()){t=t.plus(b.create(1));continue}n.isArray()?(n=n.countA(),t=t.plus(n)):n.isNull()||(t=t.plus(b.create(1)))}return t}}class hA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?b.create(1):e.isArray()?e.countBlank():b.create(0)}}class gA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){if(!e.isReferenceObject())return g.create(h.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=e.toArrayValueObject();let n=Pn(r,t);n=jn(n,r,t);const s=r.pick(n);return this._countA(s)}_countA(e){let t=b.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class dA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const{isError:t,errorObject:r,rangeIsDifferentSize:n,criteriaMaxRowLength:s,criteriaMaxColumnLength:a,variants:u}=Ir(e);if(t)return r;if(n)return s===1&&a===1?g.create(h.VALUE):O(s,a,g.create(h.VALUE));const l=Fr(u,s,a,!0);return this._aggregateResults(l)}_aggregateResults(e){const t=e.map(r=>r.map(n=>CA(n)));return t.length===1&&t[0].length===1?t[0][0]:Z.create({calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}function CA(i){let o=0;return i.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&o++}),b.create(o)}class _A extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length<=1)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let c=0;c<r;c++)n+=e[c],s+=t[c];const a=n/r,u=s/r;let l=0;for(let c=0;c<r;c++){const f=e[c]-a,m=t[c]-u;l+=f*m}return b.create(l/(r-1))}}class AA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0,n=!0;for(let u=0;u<e.length;u++){const l=e[u];if(l.isArray()){let c=!1,f=g.create(h.VALUE);if(l.iterator(m=>{const d=this._handleSingleObject(m);if(d.isError())return c=!0,f=d,!1;if(d.isNull())return!0;const _=d.getValue();t.push(_),r+=_,n=!1}),c)return f}else{const c=this._handleSingleObject(l);if(c.isError())return c;if(c.isNull())continue;const f=c.getValue();t.push(f),r+=f,n=!1}}if(n)return g.create(h.NUM);const s=r/t.length;let a=0;for(let u=0;u<t.length;u++)a+=(t[u]-s)**2;return b.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return ce.create();const t=e.getValue();return S.isRealNum(t)?b.create(+t):ce.create()}}class EA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=Math.floor(+c.getValue()),C=Math.floor(+f.getValue()),E=+m.getValue();if(d<0||_<1||_>10**10||C<1||C>10**10)return g.create(h.NUM);let R;return E?R=Ta(d,_,C):R=bh(d,_,C),Number.isNaN(R)||!Number.isFinite(R)?g.create(h.NUM):b.create(R)}}class RA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=Wo(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class yA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=s.getValue();if(a<=-1||a>=1)return g.create(h.NUM);const u=Math.log((1+a)/(1-a))/2;return b.create(u)}}class bA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Math.exp(2*a)-1,l=Math.exp(2*a)+1;return!Number.isFinite(u)&&u>0&&!Number.isFinite(l)&&l>0?b.create(1):b.create(u/l)}}class fl extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,a=r.isArray()?r.getRowCount():1,u=r.isArray()?r.getColumnCount():1;let l=t;t.isArray()&&n===1&&s===1&&(l=t.get(0,0));let c=r;return r.isArray()&&a===1&&u===1&&(c=r.get(0,0)),e.isArray()?e.mapValue(f=>this._handleSingleObject(f,l,c,n,s,a,u)):this._handleSingleObject(e,l,c,n,s,a,u)}_handleSingleObject(e,t,r,n,s,a,u){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let l=e;if(e.isString()&&(l=e.convertToNumberObjectValue()),l.isError())return l;const c=+l.getValue();if((n*s===1||a*u===1)&&(t.isNull()||r.isNull()))return g.create(h.VALUE);if(n*s!==a*u)return g.create(h.NA);const{isError:f,errorObject:m,array1Values:d,array2Values:_,noCalculate:C}=Ze(t,r,n*s,s,u);if(f)return m;if(C)return g.create(h.DIV_BY_ZERO);const E=Qo(c,d,_);return Number.isFinite(E)?b.create(E):g.create(h.DIV_BY_ZERO)}}class pA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,values:s}=this._getValues(e);if(r)return n;if(e.isNull()||t.isNull())return g.create(h.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);const u=this._getNewBinsArrayValues(a),l=new Array(u.length).fill(0);for(let c=0;c<s.length;c++){const f=s[c],m=u.findIndex(d=>f>d.start&&f<=d.end);l[m]++}return Z.createByArray(l.map(c=>[c]))}_getValues(e,t=!1){const r=[],n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;for(let a=0;a<n;a++)for(let u=0;u<s;u++){const l=e.isArray()?e.get(a,u):e;if(l.isError()){if(!t)return{isError:!0,errorObject:l,values:r};continue}if(l.isNull()||l.isBoolean())continue;const c=l.getValue();S.isRealNum(c)&&r.push(+c)}return{isError:!1,errorObject:null,values:r}}_getNewBinsArrayValues(e){const t=e.map((n,s)=>({value:n,index:s})).sort((n,s)=>n.value-s.value),r=[];for(let n=0;n<t.length;n++){const s=t[n].index;if(n===0){r[s]={start:-1/0,end:t[n].value};continue}r[s]={start:t[n-1].value,end:t[n].value}}return r.push({start:t[t.length-1].value,end:1/0}),r}}class NA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a===0||a<0&&a%1===0)return g.create(h.NUM);const u=Wn(a);return Number.isNaN(u)||!Number.isFinite(u)?g.create(h.NUM):b.create(u)}}class ml extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0)return g.create(h.NUM);const u=ut(a);return Math.abs(u)<1e-15?b.create(0):b.create(u)}}class VA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Hr(a,0,1)-.5;return b.create(u)}}class OA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=0,n=!1;for(let a=0;a<e.length;a++){const u=e[a];if(u.isArray()){let l=!1,c=g.create(h.VALUE);if(u.iterator(f=>{if(f!=null&&f.isError())return l=!0,c=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!S.isRealNum(m))return!0;+m<=0&&(n=!0),t*=+m,r++}),l)return c}else{if(u.isError())return u;if(u.isString()){const c=u.convertToNumberObjectValue();if(c.isError())return c}if(u.isNull()||u.isBoolean())continue;const l=u.getValue();if(!S.isRealNum(l))continue;+l<=0&&(n=!0),t*=+l,r++}}if(r===0||n)return g.create(h.NUM);const s=t**(1/r);return b.create(s)}}class SA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Xn(e,t,r);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;const c=this._getNewXsValues(l,r);if(c instanceof g)return c;let f=n!=null?n:F.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(u,l,c,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=zn(e,t,r,n,!0);if(a instanceof g)return a;const{coefficients:u,newX:l}=a,c=u[0].length,f=u[0][c-1];let m=[];for(let d=0;d<l.length;d++){m[d]=[];let _=f;for(let C=c-2;C>=0;C--)_*=u[0][c-2-C]**l[d][C];m[d].push(_)}return s&&(m=_t(m)),Z.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l}=Zn(a,s,n,!0),c=r.map(f=>f.map(m=>l*u**m));return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Kn(e.length,e[0].length):At(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:At(t)}}class MA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0,n=!1;for(let a=0;a<e.length;a++){const u=e[a];if(u.isArray()){let l=!1,c=g.create(h.VALUE);if(u.iterator(f=>{if(f!=null&&f.isError())return l=!0,c=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!S.isRealNum(m))return!0;+m<=0&&(n=!0),t+=1/+m,r++}),l)return c}else{if(u.isError())return u;if(u.isString()){const c=u.convertToNumberObjectValue();if(c.isError())return c}if(u.isNull()||u.isBoolean())continue;const l=u.getValue();if(!S.isRealNum(l))continue;+l<=0&&(n=!0),t+=1/+l,r++}}if(r===0)return g.create(h.NA);if(n)return g.create(h.NUM);const s=r/t;return b.create(s)}}class DA extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,t,g.create(h.NA)),f=O(a,u,r,g.create(h.NA)),m=O(a,u,n,g.create(h.NA)),d=O(a,u,s,g.create(h.NA)),_=l.mapValue((C,E,R)=>{const y=c.get(E,R),p=f.get(E,R),N=m.get(E,R),M=d.get(E,R);return C.isError()?C:y.isError()?y:p.isError()?p:N.isError()?N:M.isError()?M:this._handleSingleObject(C,y,p,N,M)});return a===1&&u===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){const{isError:a,errorObject:u,variants:l}=B(e,t,r,n,s);if(a)return u;const[c,f,m,d,_]=l,C=Math.floor(+c.getValue()),E=Math.floor(+f.getValue()),R=Math.floor(+m.getValue()),y=Math.floor(+d.getValue()),p=+_.getValue();if(C<0||C>E||C>R||C<E-y+R||E<=0||E>y||R<=0||R>y||y<=0)return g.create(h.NUM);let N;return p?N=Mh(C,E,R,y):N=xa(C,E,R,y),Number.isNaN(N)&&(N=0),b.create(N)}}class wA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=Qo(0,e,t);return Number.isFinite(r)?b.create(r):g.create(h.DIV_BY_ZERO)}}class LA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=3?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let u=0;for(let c=0;c<r;c++)u+=((e[c]-n)/a)**4;const l=r*(r+1)/((r-1)*(r-2)*(r-3))*u-3*(r-1)**2/((r-2)*(r-3));return b.create(l)}}class PA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=zt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return su(e,u)}}class jA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Xn(e,t);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;let c=r!=null?r:F.create(!0);c.isArray()&&(c=c.get(0,0));let f=n!=null?n:F.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=B(c,f);if(m)return d;const[C,E]=_;return this._getResult(u,l,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=zn(e,t,t,r,!1);if(s instanceof g)return s;const{coefficients:a,X:u,XTXInverse:l}=s;let c=[];if(n){const f=e.flat(),m=f.length,d=r?f.reduce((v,Y)=>v+Y,0)/m:0,_=l.length,C=m-_,E=a[0].length,R=new Array(E-2).fill(h.NA),y=a[0][E-1],p=[];for(let v=0;v<u.length;v++){let Y=y;for(let Q=E-2;Q>=0;Q--)Y+=a[0][E-2-Q]*u[v][Q];p.push(Y)}let N=0,M=0;for(let v=0;v<m;v++)N+=(f[v]-d)**2,M+=(f[v]-p[v])**2;const D=N-M,L=N===0?0:D/N,P=[];for(let v=_-1;v>=0;v--){const Y=C>0?Math.sqrt(M/C*l[v][v]):0;P.push(Y)}if(r){const v=P.shift();P.push(v)}else P.push(h.NA);const j=C>0?Math.sqrt(M/C):0,I=C>0?D/(E-1)/(M/C):h.NUM;c=[a[0],[...P],[L,j,...R],[I,C,...R],[D,M,...R]]}else c=[a[0]];return Z.createByArray(c)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l}=Zn(a,s,r,!1);if(Number.isNaN(u))return g.create(h.NA);let c=[];if(n){const f=s.length;let m=0,d=0,_=f-1;if(r){let P=0,j=0;for(let I=0;I<f;I++)P+=s[I],j+=a[I];m=P/f,d=j/f,_=f-2}let C=0,E=0,R=0;for(let P=0;P<f;P++)C+=(s[P]-m)**2,E+=(s[P]-(u*a[P]+l))**2,R+=(a[P]-d)**2;const y=C-E,p=y===C?1:y/C;let N=0,M=0,D=0;_>0&&(R>0&&(N=Math.sqrt(E/_/R),M=Math.sqrt(E/_*(1/f+d**2/R))),D=Math.sqrt(E/_));const L=_>0?y/1/(E/_):h.NUM;r||(M=h.NA),c=[[u,l],[N,M],[p,D],[L,_],[y,E]]}else c=[[u,l]];return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Kn(e.length,e[0].length):At(t)}}class TA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Xn(e,t);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;let c=r!=null?r:F.create(!0);c.isArray()&&(c=c.get(0,0));let f=n!=null?n:F.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=B(c,f);if(m)return d;const[C,E]=_;return this._getResult(u,l,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=zn(e,t,t,r,!0);if(s instanceof g)return s;const{coefficients:a,Y:u,X:l,XTXInverse:c}=s;let f=[];if(n){const m=u.flat(),d=m.length,_=r?m.reduce((Y,Q)=>Y+Q,0)/d:0,C=c.length,E=d-C,R=a[0].length,y=new Array(R-2).fill(h.NA),p=a[0][R-1],N=[];for(let Y=0;Y<l.length;Y++){let Q=p;for(let se=R-2;se>=0;se--)Q*=a[0][R-2-se]**l[Y][se];N.push(Math.log(Q))}let M=0,D=0;for(let Y=0;Y<d;Y++)M+=(m[Y]-_)**2,!(!r&&!Number.isFinite(N[Y]))&&(D+=(m[Y]-N[Y])**2);Number.isFinite(D)||(D=0);const L=M-D,P=M===0?0:L/M,j=[];for(let Y=C-1;Y>=0;Y--){const Q=E>0?Math.sqrt(D/E*c[Y][Y]):0;j.push(Q)}if(r){const Y=j.shift();j.push(Y)}else j.push(h.NA);const I=E>0?Math.sqrt(D/E):0,v=E>0?L/(R-1)/(D/E):h.NUM;f=[a[0],[...j],[P,I,...y],[v,E,...y],[L,D,...y]]}else f=[a[0]];return Z.createByArray(f)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l,Y:c}=Zn(a,s,r,!0);if(Number.isNaN(u))return g.create(h.NA);let f=[];if(n){const m=c.length;let d=0,_=0,C=m-1;if(r){let j=0,I=0;for(let v=0;v<m;v++)j+=c[v],I+=a[v];d=j/m,_=I/m,C=m-2}let E=0,R=0,y=0;for(let j=0;j<m;j++)E+=(c[j]-d)**2,R+=(c[j]-Math.log(l*u**a[j]))**2,y+=(a[j]-_)**2;const p=E-R,N=E===0?0:p/E;let M=0,D=0,L=0,P=0;C>0&&(y>0&&(M=Math.sqrt(R/C/y),D=Math.sqrt(R/C*(1/m+_**2/y))),L=Math.sqrt(R/C),P=p/1/(R/C)),r||(D=h.NA),f=[[u,l],[M,D],[N,L],[P,C],[p,R]]}else f=[[u,l]];return Z.createByArray(f)}_getKnownXsValues(e,t){return!t||t.isNull()?Kn(e.length,e[0].length):At(t)}}class UA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(d<=0||C<=0)return g.create(h.NUM);let R;return E?R=Xo(d,_,C):R=Dh(d,_,C),b.create(R)}}class xA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getRangeValues(e);if(r instanceof g)return r;const n=Xt(t);if(n.isError())return n;const{isError:s,errorObject:a,variants:u}=B(n);if(s)return a;const[l]=u,c=+l.getValue();if(c<=0||c>=1)return g.create(h.NUM);if(r.length<2)return g.create(h.DIV_BY_ZERO);const f=1-c,m=r.length,d=r.reduce((R,y)=>R+y,0)/m,_=r.reduce((R,y)=>R+(y-d)**2,0)/(m-1),C=Math.sqrt(_);if(C<=0)return g.create(h.NUM);const E=Math.abs(qn(f/2,m-1)*C/Math.sqrt(m));return b.create(E)}_getRangeValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;u.isNull()||u.isBoolean()||u.isString()||t.push(+u.getValue())}return t}}class vA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.max()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class IA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=b.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class FA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=Ir(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=Fr(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?Z.create("0"):a.max()}));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class BA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(u=>{if(u!=null&&u.isError())return s=!0,a=u,!1;if(u!=null&&u.isNull()||u!=null&&u.isBoolean())return!0;const l=u.getValue();if(!S.isRealNum(l))return!0;t.push(+l)}),s)return a}else{if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;if(n.isString()){const a=n.convertToNumberObjectValue();if(a.isError())return a}const s=n.getValue();if(!S.isRealNum(s))continue;t.push(+s)}}return t.length===0?g.create(h.NUM):nu(t)}}class kA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.min()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class $A extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=b.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class YA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=Ir(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=Fr(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?Z.create("0"):a.min()}));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class HA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const c=a.convertToNumberObjectValue();if(c.isError())return c}const u=a.isArray()?a.getRowCount():1,l=a.isArray()?a.getColumnCount():1;for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=a.isArray()?a.get(c,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();S.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return r.length===1?b.create(r[0]):Z.createByArray(r.map(n=>[n]))}}class GA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=Math.floor(+c.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||_<1||C<=0||C>=1)return g.create(h.NUM);let R;return E?R=Lh(d,_,C):R=va(d,_,C),b.create(R)}}class WA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=+u.getValue();let f;return c?f=Hr(l,0,1):f=Ko(l,0,1),b.create(f)}}class QA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-u),c+=(e[d]-a)**2,f+=(t[d]-u)**2;if(c===0||f===0)return g.create(h.DIV_BY_ZERO);const m=l/Math.sqrt(c*f);return b.create(m)}}class qA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=zt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return ou(e,u)}}class XA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:b.create(3);s.isNull()&&(s=b.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,t,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&u===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=Math.floor(+l.getValue()),m=e.length;if(m===0||c<e[0]||c>e[m-1])return g.create(h.NA);if(m===1)return c===e[0]?b.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)c===e[C]?(d=(C+1)/(m+1),_=!0):c>e[C]&&C+1<m&&c<e[C+1]&&(d=(C+1+(c-e[C])/(e[C+1]-e[C]))/(m+1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=Qe(d,f),b.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean())continue;const l=u.getValue();S.isRealNum(l)&&n.push(+l)}return n.sort((s,a)=>s-a)}}class KA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=B(l,m);if(d)return _;const[E,R]=C,y=Math.floor(+E.getValue()),p=Math.floor(+R.getValue());if(y<0||y>=2147483647||p<0||y<p)return g.create(h.NUM);let N=1;for(let M=y-p+1;M<=y;M++)N*=M;return Number.isFinite(N)?b.create(N):g.create(h.NUM)});return r===1&&n===1?u.get(0,0):u}}class ZA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=B(l,m);if(d)return _;const[E,R]=C,y=Math.floor(+E.getValue()),p=Math.floor(+R.getValue());if(y<0||y>=2147483647||p<0)return g.create(h.NUM);if(y===0)return p===0?b.create(1):b.create(0);const N=y**p;return Number.isFinite(N)?b.create(N):g.create(h.NUM)});return r===1&&n===1?u.get(0,0):u}}class zA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return b.create(u)}}class JA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,xRangeValues:u,probRangeValues:l}=this._handleXRangeAndProbRange(e,t);let c=n!=null?n:r;n!=null&&n.isNull()&&(c=r);const f=Math.max(r.isArray()?r.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(r.isArray()?r.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,r,g.create(h.NA)),_=O(f,m,c,g.create(h.NA)),C=d.mapValue((E,R,y)=>{const p=_.get(R,y);return e.isError()?e:t.isError()?t:E.isError()?E:p.isError()?p:s?a:this._handleSingleObject(u,l,E,p)});return f===1&&m===1?C.get(0,0):C}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(r,n);if(s)return a;const[l,c]=u,f=+l.getValue(),m=+c.getValue();if(t.reduce((_,C)=>_+C,0)!==1)return g.create(h.NUM);let d=0;for(let _=0;_<e.length;_++)e[_]>=f&&e[_]<=m&&(d+=t[_]);return b.create(d)}_handleXRangeAndProbRange(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return{isError:!0,errorObject:u,xRangeValues:[],probRangeValues:[]};let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]};if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),xRangeValues:[],probRangeValues:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),xRangeValues:[],probRangeValues:[]};const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?{isError:!0,errorObject:f,xRangeValues:[],probRangeValues:[]}:_?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:m,probRangeValues:d}}}class eE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=zt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=Math.floor(+a.getValue());return lu(e,u)}}class tE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:u}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.map((C,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),N=+y.getValue();return Number.isNaN(p)||Number.isNaN(N)?g.create(h.VALUE):this._getResult(p,N,u)});return c===1&&f===1?_.get(0,0):_}_getResult(e,t,r){const n=r.sort((l,c)=>t?l-c:c-l);let s=n.indexOf(e);const a=[];for(;s>=0;){const l=s+1;a.push(l),s=n.indexOf(e,l)}if(a.length===0)return g.create(h.NA);const u=a.reduce((l,c)=>l+c,0)/a.length;return b.create(u)}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const u=a;if(u.isError())return t=!0,r=u,!1;if(u.isNull()||u.isBoolean())return!0;const l=+u.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class rE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:u}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.map((C,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),N=+y.getValue();if(Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);const D=u.sort((L,P)=>N?L-P:P-L).indexOf(p);return D===-1?g.create(h.NA):b.create(D+1)});return c===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const u=a;if(u.isError())return t=!0,r=u,!1;if(u.isNull()||u.isBoolean())return!0;const l=+u.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class nE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-u),c+=(e[d]-a)**2,f+=(t[d]-u)**2;if(c===0||f===0)return g.create(h.DIV_BY_ZERO);const m=(l/Math.sqrt(c*f))**2;return b.create(m)}}class sE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let u=0;for(let c=0;c<r;c++)u+=((e[c]-n)/a)**3;const l=r/((r-1)*(r-2))*u;return b.create(l)}}class aE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/r);if(a===0)return g.create(h.DIV_BY_ZERO);let u=0;for(let c=0;c<r;c++)u+=((e[c]-n)/a)**3;const l=u/r;return b.create(l)}}class iE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m];const a=n/r,u=s/r;let l=0,c=0;for(let m=0;m<r;m++)l+=(e[m]-a)*(t[m]-u),c+=(t[m]-u)**2;if(c===0)return g.create(h.DIV_BY_ZERO);const f=l/c;return b.create(f)}}class oE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=zt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return au(e,u)}}class uE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(d<=0)return g.create(h.NUM);const _=(f-m)/d;return b.create(_)}}class lE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class cE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class fE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;if(r<=2)return g.create(h.DIV_BY_ZERO);let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-u),c+=(e[d]-a)**2,f+=(t[d]-u)**2;if(f===0)return g.create(h.DIV_BY_ZERO);const m=Math.sqrt((c-l**2/f)/(r-2));return Number.isNaN(m)||!Number.isFinite(m)?g.create(h.NUM):b.create(m)}}class mE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=+c.getValue();if(m<1)return g.create(h.NUM);let _;return d?_=Gr(f,m):_=jh(f,m),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class hE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||c<1||c>10**10)return g.create(h.NUM);const f=Gr(-l,c)*2;return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class gE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(c<1||c>10**10)return g.create(h.NUM);const f=Gr(-l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class dE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<=0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=qn(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class CE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Xn(e,t,r);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;const c=this._getNewXsValues(l,r);if(c instanceof g)return c;let f=n!=null?n:F.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(u,l,c,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=zn(e,t,r,n,!1);if(a instanceof g)return a;const{coefficients:u,newX:l}=a,c=u[0].length,f=u[0][c-1];let m=[];for(let d=0;d<l.length;d++){m[d]=[];let _=f;for(let C=c-2;C>=0;C--)_+=u[0][c-2-C]*l[d][C];m[d].push(_)}return s&&(m=_t(m)),Z.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l}=Zn(a,s,n,!1);if(Number.isNaN(u))return g.create(h.NA);const c=r.map(f=>f.map(m=>u*m+l));return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Kn(e.length,e[0].length):At(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:At(t)}}class _E extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();if(u<0||u>=1)return g.create(h.NUM);const l=Qe(e.length*u/2,0)*2,c=e.slice(l/2,e.length-l/2),f=c.reduce((m,d)=>m+d,0)/c.length;return b.create(f)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean())continue;const l=u.getValue();S.isRealNum(l)&&n.push(+l)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class AE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class EE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}const hl=[[z_,T.AVEDEV],[eA,T.AVERAGE],[tA,T.AVERAGE_WEIGHTED],[rA,T.AVERAGEA],[nA,T.AVERAGEIF],[sA,T.AVERAGEIFS],[aA,T.BETA_DIST],[cu,T.BETA_INV],[fu,T.BINOM_DIST],[iA,T.BINOM_DIST_RANGE],[mu,T.BINOM_INV],[oA,T.CHISQ_DIST],[hu,T.CHISQ_DIST_RT],[uA,T.CHISQ_INV],[gu,T.CHISQ_INV_RT],[du,T.CHISQ_TEST],[Cu,T.CONFIDENCE_NORM],[lA,T.CONFIDENCE_T],[cA,T.CORREL],[fA,T.COUNT],[mA,T.COUNTA],[hA,T.COUNTBLANK],[gA,T.COUNTIF],[dA,T.COUNTIFS],[_u,T.COVARIANCE_P],[_A,T.COVARIANCE_S],[AA,T.DEVSQ],[Au,T.EXPON_DIST],[EA,T.F_DIST],[Eu,T.F_DIST_RT],[RA,T.F_INV],[Ru,T.F_INV_RT],[yu,T.F_TEST],[yA,T.FISHER],[bA,T.FISHERINV],[fl,T.FORECAST],[fl,T.FORECAST_LINEAR],[pA,T.FREQUENCY],[NA,T.GAMMA],[bu,T.GAMMA_DIST],[pu,T.GAMMA_INV],[ml,T.GAMMALN],[ml,T.GAMMALN_PRECISE],[VA,T.GAUSS],[OA,T.GEOMEAN],[SA,T.GROWTH],[MA,T.HARMEAN],[DA,T.HYPGEOM_DIST],[wA,T.INTERCEPT],[LA,T.KURT],[PA,T.LARGE],[jA,T.LINEST],[TA,T.LOGEST],[UA,T.LOGNORM_DIST],[Nu,T.LOGNORM_INV],[xA,T.MARGINOFERROR],[vA,T.MAX],[IA,T.MAXA],[FA,T.MAXIFS],[BA,T.MEDIAN],[kA,T.MIN],[$A,T.MINA],[YA,T.MINIFS],[HA,T.MODE_MULT],[Vu,T.MODE_SNGL],[GA,T.NEGBINOM_DIST],[Ou,T.NORM_DIST],[Su,T.NORM_INV],[WA,T.NORM_S_DIST],[Mu,T.NORM_S_INV],[QA,T.PEARSON],[qA,T.PERCENTILE_EXC],[Du,T.PERCENTILE_INC],[XA,T.PERCENTRANK_EXC],[wu,T.PERCENTRANK_INC],[KA,T.PERMUT],[ZA,T.PERMUTATIONA],[zA,T.PHI],[Lu,T.POISSON_DIST],[JA,T.PROB],[eE,T.QUARTILE_EXC],[Pu,T.QUARTILE_INC],[tE,T.RANK_AVG],[rE,T.RANK_EQ],[nE,T.RSQ],[sE,T.SKEW],[aE,T.SKEW_P],[iE,T.SLOPE],[oE,T.SMALL],[uE,T.STANDARDIZE],[ju,T.STDEV_P],[Tu,T.STDEV_S],[lE,T.STDEVA],[cE,T.STDEVPA],[fE,T.STEYX],[mE,T.T_DIST],[hE,T.T_DIST_2T],[gE,T.T_DIST_RT],[dE,T.T_INV],[Uu,T.T_INV_2T],[xu,T.T_TEST],[CE,T.TREND],[_E,T.TRIMMEAN],[vu,T.VAR_P],[Iu,T.VAR_S],[AE,T.VARA],[EE,T.VARPA],[Fu,T.WEIBULL_DIST],[Bu,T.Z_TEST]];class RE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:b.create(0);if(t!=null&&t.isNull()&&(r=b.create(0)),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=this._checkArray(e);if(r.isError())return r;const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=+u.getValue(),c=e.isArray()?e.getRowCount():1,f=e.isArray()?e.getColumnCount():1;let m="";for(let d=0;d<c;d++)for(let _=0;_<f;_++){const C=e.isArray()?e.get(d,_):e;let E=`${C.getValue()}`;C.isNull()&&(E=""),C.isBoolean()&&(E=E.toLocaleUpperCase()),C.isString()&&l?m+=`"${E}"`:m+=E,d===c-1&&_===f-1||(l?_===f-1?m+=";":m+=",":m+=", ")}return l&&(m=`{${m}}`),m.length>32767?g.create(h.CALC):x.create(m)}_checkArray(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t>1||r>1?e:e.get(0,0)}return e}}class yE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const t=e.getValue().toLocaleString();let r="";for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);s===12288?s=32:s>=65281&&s<=65374&&(s-=65248),r+=String.fromCharCode(s)}return x.create(r)}}class bE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Math.abs(Number.parseInt(a.toString(),10)),l=Number.parseFloat((Math.abs(a)-u).toFixed(2));let c="";return u===0?l!==0?c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(l*100)}สตางค์`:c="ศูนย์บาทถ้วน":l===0?c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(u)}บาทถ้วน`:c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(u)}บาท${this._convertNumberToThaiText(l*100)}สตางค์`,x.create(c)}_convertNumberToThaiText(e){const t=["ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน",""],r=["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],n=["ลบ","บาท","ถ้วน","สตางค์","ยี่","เอ็ด",","," ","฿"],s=e.toString(),a=s.length;let u="";for(let l=a;l>0;l--){const c=Number.parseInt(s.charAt(a-l),10);let f=r[c];const m=l>1?(l-1)%6:6;if(m===1&&c===2&&(f=n[4]),c===1)switch(m){case 0:case 6:u+=l<a?n[5]:f;break;case 1:break;default:u+=f;break}else if(c===0){m===0&&(u+=t[m]);continue}else u+=f;u+=t[m]}return u}}const pE=Object.values(S.DataStreamTreeTokenType).filter(i=>[S.DataStreamTreeTokenType.TABLE_START,S.DataStreamTreeTokenType.TABLE_ROW_START,S.DataStreamTreeTokenType.TABLE_CELL_START,S.DataStreamTreeTokenType.TABLE_CELL_END,S.DataStreamTreeTokenType.TABLE_ROW_END,S.DataStreamTreeTokenType.TABLE_END,S.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class NE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<=0)return g.create(h.VALUE);let u=String.fromCharCode(a);return pE.some(l=>l===u)&&(u=""),x.create(u)}}class VE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return x.create("");const r=`${e.getValue()}`.replace(/[\0-\x1F]/g,"");return x.create(r)}}class OE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t==="")return g.create(h.VALUE);const r=t.charCodeAt(0);return b.create(r)}}class SE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const n of e)if(n.isArray()){if(n.iterator(s=>{if(s==null||s.isNull())return!0;if(s.isError())return r=s,!1;s.isBoolean()?t+=`${s.getValue()}`.toLocaleUpperCase():(s.isString()||s.isNumber())&&(t+=s.getValue())}),r)return r}else!n.isError()&&!n.isNull()&&(t+=n.getValue());return x.create(t)}}class ME extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(s=>{if(s.isArray()){const a=s;t=Math.max(t,a.getRowCount()),r=Math.max(r,a.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let n=null;for(const s of e)n=O(t,r,s,g.create(h.NA)).mapValue((u,l,c)=>{const f=n&&n.get(l,c);if(f!=null&&f.isError())return f;if(u.isError())return u;let m=f==null?void 0:f.getValue(),d=u==null?void 0:u.getValue();f!=null&&f.isBoolean()&&(m=`${m}`.toLocaleUpperCase()),u!=null&&u.isBoolean()&&(d=`${d}`.toLocaleUpperCase());const _=f!=null&&f.isNull()?"":m!=null?m:"",C=u!=null&&u.isNull()?"":d!=null?d:"";return x.create(`${_}${C}`)});return n||g.create(h.VALUE)}}class DE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let r="";for(let n=0;n<t.length;n++){const s=t.charCodeAt(n);s>=33&&s<=126?r+=String.fromCharCode(s+65248):s===32?r+=" ":r+=t.charAt(n)}return x.create(r)}}class wE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsLocale",!0)}calculate(e,t){let r=t!=null?t:b.create(2);r.isNull()&&(r=b.create(2));const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s;let l=+a.getValue(),c=Math.trunc(+u.getValue());if(c>127)return g.create(h.VALUE);c<0&&(`${l}`.length<Math.abs(c)?l=0:l=l<0?-xt(Math.abs(l),c):xt(l,c),c=0);const f=Xc(this.getLocale(),l,c);return x.create(f)}}class LE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,ce.create()),a=O(r,n,t,ce.create()),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){const a=e.isNull()&&t.isNull();return F.create(a)}let r=`${e.getValue()}`;e.isBoolean()&&(r=r.toLocaleUpperCase());let n=`${t.getValue()}`;t.isBoolean()&&(n=n.toLocaleUpperCase());const s=r===n;return F.create(s)}}const Ga=(i,o)=>S.numfmt.format(i,o,{throws:!1}),we=i=>{let o=`${i.getValue()}`;return i.isNull()&&(o=""),i.isBoolean()&&(o=o.toLocaleUpperCase()),i.isNumber()&&(i.getPattern()!==""?o=Ga(i.getPattern(),+i.getValue()):o=`${wn(+i.getValue())}`),o};class PE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e),s=we(t),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):b.create(m+1)}}function Wa(i){let o=0;for(let e=0;e<i.length;e++)o+=Kr(i,e);return o}function Kr(i,o,e="ltr"){return jE(i,o,e)>255?2:1}function gl(i){return i>=55296&&i<=56319}function dl(i){return i>=56320&&i<=57343}function Cl(i,o){const e=(i&1023)<<10,t=o&1023;return e+t+65536}function jE(i,o,e="ltr"){const t=i.charCodeAt(o);if(e==="ltr"&&gl(t)&&o+1<i.length){const r=i.charCodeAt(o+1);if(dl(r))return Cl(t,r)}if(e==="rtl"&&dl(t)&&o-1>=0){const r=i.charCodeAt(o-1);if(gl(r))return Cl(r,t)}return t}class TE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e),s=we(t),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Wa(s.substring(0,m))+1;return b.create(d)}}class UE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){let n=t!=null?t:b.create(2);n.isNull()&&(n=b.create(2));let s=r!=null?r:F.create(!1);s.isNull()&&(s=F.create(!1));const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,n,g.create(h.NA)),f=O(a,u,s,g.create(h.NA)),m=l.mapValue((d,_,C)=>{const E=c.get(_,C),R=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:this._handleSingleObject(d,E,R)});return a===1&&u===1?m.get(0,0):m}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a;let f=+u.getValue(),m=Math.trunc(+l.getValue());const d=+c.getValue();if(m>127)return g.create(h.VALUE);m<0&&(`${f}`.length<Math.abs(m)?f=0:f=f<0?-xt(Math.abs(f),m):xt(f,m),m=0);let _=d?"###0":"#,##0";m>0&&(_+=`.${"0".repeat(m)}`);const C=Ga(_,f);return x.create(C)}}class xE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");if(l>=r.length)return x.create(r);const c=r.substring(0,l);return x.create(c)}}class vE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,ce.create()),u=O(n,s,r,ce.create()),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");let c=0,f=0,m="";for(;f<l&&c<r.length;)f+=Kr(r,c),m+=r.charAt(c),c++;return x.create(m)}}class IE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=we(e);return b.create(t.length)}}class FE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=we(e),r=Wa(t);return b.create(r)}}class BE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");const t=`${e.getValue()}`.toLocaleLowerCase();return x.create(t)}}class kE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const n=we(e),{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return x.create("");const d=n.substring(f-1,f-1+m);return x.create(d)}}class $E extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){let n=we(e);const{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return x.create("");n=n.substring(f-1);let d=0,_=0,C="";for(;_<m&&d<n.length;)_+=Kr(n,d),C+=n.charAt(d),d++;return x.create(C)}}const Zr=["〇","一","二","三","四","五","六","七","八","九"],os=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],YE=["","十","百","千"],HE=["","拾","佰","仟"],GE=["","万","亿","兆"];class WE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const r=e.convertToNumberObjectValue();if(r.isError())return r;const n=t.convertToNumberObjectValue();if(n.isError())return n;let s=r.getValue();const a=Math.trunc(n.getValue());if(s<0||![1,2,3].includes(a))return g.create(h.NUM);s=Math.round(s);const u=s.toString(),l=u.length;let c="",f=!1;for(let m=0;m<l;m++){const d=Number(u[m]);if(l===1&&d===0){c+=a===2?os[0]:Zr[0];break}if(a===3){c+=Zr[d];continue}const _=l-m-1,C=_%4,E=Math.trunc(_/4);if(l>=17&&E>2){if(c+=a===1?Zr[d]:os[d],E>3)continue}else d===0?f=C!==0:(f&&(c+=a===1?Zr[0]:os[0],f=!1),c+=a===1?Zr[d]+YE[C]:os[d]+HE[C]);C===0&&E>0&&u.slice(Math.max(0,m-3),m+1)!=="0000"&&(c+=GE[E])}return x.create(c)}}class QE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,r){const n=t!=null?t:x.create("."),s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),c=r?O(s,a,r,g.create(h.NA)):void 0,f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=r?c.get(d,_):void 0;return m.isError()?m:C.isError()?C:E!=null&&E.isError()?E:C.isNull()||E!=null&&E.isNull()?g.create(h.VALUE):m.isNull()?b.create(0):this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){let n=`${e.getValue()}`;n=n.replace(/\s+/g,"");let s=`${t.getValue()}`;t.isBoolean()&&(s=s.toLocaleUpperCase()),s=s.charAt(0);let a;if(r&&(a=`${r.getValue()}`,r.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),s===a))return g.create(h.VALUE);if(n.trim()==="")return b.create(0);if(!n.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return g.create(h.VALUE);const u=n.split(s);if(u.length>2)return g.create(h.VALUE);let l=u[0].replace(/,/g,"");r&&(l=l.split(a).join(""));let c=0;if(u.length===1){s===","&&(l=l.replace(/\./g,""));let f=0;for(;l.endsWith("%");)l=l.slice(0,-1),f++;f>0?c=+l/100**f:c=+l}else{if(!S.isRealNum(l))return g.create(h.VALUE);let f=u[1],m=0;for(;f.endsWith("%");)f=f.slice(0,-1),m++;const d=`${l}.${f}`;if(!S.isRealNum(d))return g.create(h.VALUE);m>0?c=+d/100**m:c=+d}return Number.isNaN(c)?g.create(h.VALUE):b.create(c)}}class qE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const r=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,n=>n.toLocaleUpperCase());return x.create(r)}}const _l=()=>[{type:4,from:48,to:57}],Al=()=>[{type:7,value:95},{type:4,from:97,to:122},{type:4,from:65,to:90},{type:4,from:48,to:57}],El=()=>[{type:7,value:9},{type:7,value:10},{type:7,value:11},{type:7,value:12},{type:7,value:13},{type:7,value:32},{type:7,value:160},{type:7,value:5760},{type:4,from:8192,to:8202},{type:7,value:8232},{type:7,value:8233},{type:7,value:8239},{type:7,value:8287},{type:7,value:12288},{type:7,value:65279}],Rl=()=>({type:3,set:Al(),not:!1}),yl=()=>({type:3,set:Al(),not:!0}),bl=()=>({type:3,set:_l(),not:!1}),pl=()=>({type:3,set:_l(),not:!0}),Nl=()=>({type:3,set:El(),not:!1}),Vl=()=>({type:3,set:El(),not:!0}),XE=()=>({type:3,set:[{type:7,value:10},{type:7,value:13},{type:7,value:8232},{type:7,value:8233}],not:!0});function KE(i){const o={type:0,stack:[]};let e=o,t=o.stack;const r=[],n=[];let s=0;const a=f=>{throw new SyntaxError(`Invalid regular expression: /${i}/: Nothing to repeat at column ${f-1}`)},u=zE(i);let l=0,c;for(;l<u.length;)switch(c=u[l++],c){case"\\":if(l===u.length)throw new SyntaxError(`Invalid regular expression: /${i}/: \\ at end of pattern`);switch(c=u[l++],c){case"b":t.push({type:2,value:"b"});break;case"B":t.push({type:2,value:"B"});break;case"w":t.push(Rl());break;case"W":t.push(yl());break;case"d":t.push(bl());break;case"D":t.push(pl());break;case"s":t.push(Nl());break;case"S":t.push(Vl());break;default:if(/\d/.test(c)){for(;/\d/.test(u[l])&&l<u.length;)c+=u[l++];const f=Number.parseInt(c,10);t.push({type:6,value:f}),n.push({reference:{type:6,value:f},stack:t,index:t.length-1})}else t.push({type:7,value:c.charCodeAt(0)})}break;case"^":t.push({type:2,value:"^"});break;case"$":t.push({type:2,value:"$"});break;case"[":{const f=u[l]==="^";f&&l++;const m=ZE(u.slice(l),i);l+=m[1],t.push({type:3,set:m[0],not:f});break}case".":t.push(XE());break;case"(":{const f={type:1,stack:[],remember:!0};if(u[l]==="?"){const m=u[l+1];if(l+=2,m==="=")f.followedBy=!0;else if(m==="!")f.notFollowedBy=!0;else if(m!==":")throw new SyntaxError(`Invalid regular expression: /${i}/: Invalid group, character '${m}' after '?' at column ${l-1}`);f.remember=!1}else s+=1;t.push(f),r.push(e),e=f,t=f.stack;break}case")":if(r.length===0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unmatched ) at column ${l-1}`);e=r.pop(),t=e.options?e.options[e.options.length-1]:e.stack;break;case"|":{e.options||(e.options=[e.stack],delete e.stack);const f=[];e.options.push(f),t=f;break}case"{":{const f=/^(\d+)(,(\d+)?)?\}/.exec(u.slice(l));if(f){t.length===0&&a(l);const m=Number.parseInt(f[1],10),d=f[2]?f[3]?Number.parseInt(f[3],10):1/0:m;l+=f[0].length,t.push({type:5,min:m,max:d,value:t.pop()})}else t.push({type:7,value:123});break}case"?":t.length===0&&a(l),t.push({type:5,min:0,max:1,value:t.pop()});break;case"+":t.length===0&&a(l),t.push({type:5,min:1,max:1/0,value:t.pop()});break;case"*":t.length===0&&a(l),t.push({type:5,min:0,max:1/0,value:t.pop()});break;default:t.push({type:7,value:c.charCodeAt(0)})}if(r.length>0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unterminated group`);return JE(n,s),o}function ZE(i,o){let e;const t=[],r=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(e=r.exec(i))!==null;){let n=null;const[,s,a,u,l,c,f,m,d,_,C]=e;if(s||a||u||l||c||f?n=(()=>{let E={type:3,set:[],not:!1};return s?E=Rl():a?E=bl():u?E=Nl():l?E=yl():c?E=pl():f&&(E=Vl()),E})():m&&C?n={type:4,from:(d||_).charCodeAt(0),to:C.charCodeAt(C.length-1)}:e[16]&&(n={type:7,value:e[16].charCodeAt(0)}),!n)return[t,r.lastIndex];t.push(n)}throw new SyntaxError(`Invalid regular expression: /${o}/: Unterminated character class`)}function zE(i){return i.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(o,e,t,r,n,s,a)=>{if(t)return o;let u;e?u=8:r?u=Number.parseInt(r,16):n?u=Number.parseInt(n,16):s?u="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):u={0:0,t:9,n:10,v:11,f:12,r:13}[a];const l=String.fromCharCode(u);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})}function JE(i,o){for(const e of i.reverse()){const t=e.reference.value;if(o<t){e.reference.type=7;const r=t.toString();if(e.reference.value=Number.parseInt(r,8),!/^[0-7]+$/.test(r)){let n=0;for(;r[n]!=="8"&&r[n]!=="9"&&n<r.length;)n+=1;if(n===0?(e.reference.value=r.charCodeAt(0),n+=1):e.reference.value=Number.parseInt(r.slice(0,n),8),r.length>n){const s=e.stack.splice(e.index+1);for(const a of r.slice(n))e.stack.push({type:7,value:a.charCodeAt(0)});e.stack.push(...s)}}}}}function Qa(i,o){if(!eR(i))return{isError:!0,regExp:null};try{const e=new RegExp(i,o?"ug":"u");return tR(e)?{isError:!1,regExp:e}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function eR(i){return!(/\(\?<=.*?\)/g.test(i)&&!/\[.*?(\?<=.*?)\]/g.test(i)||/\(\?<!.*?\)/g.test(i)&&!/\[.*?(\?<!.*?)\]/g.test(i))}function tR(i,o){let t;Object.prototype.toString.call(i)==="[object RegExp]"?t=i.source:i&&typeof i!="string"&&(t=`${i}`);let r;try{r=KE(t)}catch{return!1}let n=0;const s=(a,u)=>{let l=u;if(a.type===5){if(u>0&&(a.min===0||a.max===1/0)||rR(a)&&(n++,n>25))return!1;l=u+1}if(a.options){for(const f of a.options)if(!s({stack:f},l))return!1}const c=a.stack||a.value&&a.value.stack;if(!c)return!0;for(const f of c)if(!s(f,l))return!1;return!0};return s(r,0)}function rR(i){const o=i.stack||i.value&&i.value.stack;return o?Ol(o):!1}function Ol(i){for(const o of i){if(o.options&&o.options.length>0)return!0;const e=o.stack||o.value&&o.value.stack;if(e&&Ol(e))return!0}return!1}class nR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=Yr(e,t);if(r)return n;const[a,u]=s;let l=a.getValue();a.isNull()&&(l=""),a.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let c=u.getValue();u.isNull()&&(c=""),u.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;const{isError:f,regExp:m}=Qa(c,!1);if(f)return g.create(h.REF);const d=l.match(m);if(d===null)return g.create(h.NA);if(d.length>1){const _=d.slice(1).map(C=>x.create(C));return _.length>1?Z.create({calculateValueList:[_],rowCount:1,columnCount:_.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):_[0]}return x.create(d[0])}}class sR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=Yr(e,t);if(r)return n;const[a,u]=s;let l=a.getValue();a.isNull()&&(l=""),a.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let c=u.getValue();u.isNull()&&(c=""),u.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;const{isError:f,regExp:m}=Qa(c,!1);return f?g.create(h.REF):l.match(m)===null?F.create(!1):F.create(!0)}}class aR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Yr(e,t,r);if(n)return s;const[u,l,c]=a;let f=u.getValue();u.isNull()&&(f=""),u.isBoolean()&&(f=f?"TRUE":"FALSE"),f=`${f}`;let m=l.getValue();l.isNull()&&(m=""),l.isBoolean()&&(m=m?"TRUE":"FALSE"),m=`${m}`;let d=c.getValue();c.isNull()&&(d=""),c.isBoolean()&&(d=d?"TRUE":"FALSE"),d=`${d}`;const{isError:_,regExp:C}=Qa(m,!0);if(_)return g.create(h.REF);const E=f.replace(C,d);return x.create(E)}}class iR extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);const d=we(e),_=we(n),C=d.substring(0,f-1)+_+d.substring(f-1+m);return x.create(C)}}class oR extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);let d=we(e);const _=we(n);let C=d.substring(0,f-1);d=d.substring(f-1);let E=0,R=0;for(;R<m&&E<d.length;)R+=Kr(d,E),E++;return C+=_+d.substring(E),x.create(C)}}class uR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=a.get(c,f);if(l.isError())return l;let d=l.getValue();if(l.isNull()&&(d=""),l.isBoolean()&&(d=d?"TRUE":"FALSE"),d+="",m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=32767,C=Math.floor(+m.getValue());if(C<0||C>_/d.length)return g.create(h.VALUE);const E=d.repeat(C);return x.create(E)});return r===1&&n===1?u.get(0,0):u}}class lR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");if(l>=r.length)return x.create(r);const c=r.substring(r.length-l);return x.create(c)}}class cR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");let c=r.length-1,f=0,m="";for(;f<l&&c>=0;)f+=Kr(r,c,"rtl"),m=r.charAt(c)+m,c--;return x.create(m)}}class fR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e).toLocaleUpperCase(),s=we(t).toLocaleUpperCase(),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):b.create(m+1)}}class mR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e).toLocaleUpperCase(),s=we(t).toLocaleUpperCase(),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Wa(s.substring(0,m))+1;return b.create(d)}}class hR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=n?O(s,a,n,g.create(h.NA)):void 0,m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C);let y=n?f.get(_,C):void 0;return d.isError()?d:E.isError()?E:R.isError()?R:y!=null&&y.isError()?y:y!=null&&y.isNull()||y!=null&&y.isBoolean()?g.create(h.VALUE):(y!=null&&y.isString()&&(y=y.convertToNumberObjectValue()),y!=null&&y.isError()?y:this._handleSingleObject(d,E,R,y))});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const s=this._getObjectString(e),a=this._getObjectString(t),u=this._getObjectString(r),l=n?Math.floor(+n.getValue()):void 0;if(n&&l<=0)return g.create(h.VALUE);if(a==="")return x.create(s);let c="",f=0;for(let m=0;m<s.length;m++){const d=s.substr(m,a.length);if(d===a||d.length===a.length&&d.trim()===a.trim()){if(f++,f===l){c=s.substr(0,m)+u+s.substr(m+a.length);break}l===void 0&&(c+=u),m+=a.length-1}else l===void 0&&(c+=s[m])}return l&&f<l&&(c=s),x.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}}class gR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(r=>this._handleSingleObject(r)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?x.create(""):e}}class dR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),u=s.map((l,c,f)=>{if(l.isError())return l;let m=a.get(c,f)||x.create(" ");if(m.isError())return m;if(m.isBoolean())return g.create(h.VALUE);if(l.isBoolean())return l;let d=l.getValue();if(l.isNull()&&(d=0),l.isString())if(S.isRealNum(d))d=Number(d);else{const E=S.getNumfmtParseValueFilter(`${d}`);E&&E.v!=null&&typeof E.v=="number"&&(d=E.v)}m.isNull()&&(m=x.create(" "));const _=`${m.getValue()}`,C=Ga(_,d);return x.create(_===" "?C.trimEnd():C)});return u.getRowCount()===1&&u.getColumnCount()===1?u.get(0,0):u}}class CR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=!1,l=r!=null?r:b.create(1);l.isNull()&&(u=!0,l=b.create(1));const c=!n,f=n!=null?n:b.create(0),m=s!=null?s:b.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),R=O(_,C,l,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),N=O(_,C,d,g.create(h.NA)),M=this._getResultArray(E,t,R,y,p,N,u,c);return _===1&&C===1?M.get(0,0):M}_getResultArray(e,t,r,n,s,a,u,l){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),R=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),N=this._getDelimiterValue(t);if(N instanceof g)return N;const M=this._getVariantsNumberFloorValue(_,C,E);if(M instanceof g)return M;const[D,L,P]=M;return D===0||L<0||L>1||P<0||P>1?g.create(h.VALUE):N.includes("")?D>0?x.create(p):x.create(""):!u&&Math.abs(D)>p.length?g.create(h.VALUE):N.every(j=>j.length>p.length)?g.create(h.NA):this._getResult(p,N,D,L,P,R,l)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,u){let l=n?e.toLocaleLowerCase():e;const c=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=c.map(R=>({index:l.lastIndexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>y.index-R.index)[0];if(!E)break;f=E.index,l=l.substr(0,E.index),d=E.length,m++}else{const E=c.map(R=>({index:l.indexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>R.index-y.index)[0];if(!E)break;f+=E.index+d,l=l.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&u)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?x.create(""):x.create(e):a;const _=e.substr(f+d);return x.create(_)}}class _R extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=!1,l=r!=null?r:b.create(1);l.isNull()&&(u=!0,l=b.create(1));const c=!n,f=n!=null?n:b.create(0),m=s!=null?s:b.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),R=O(_,C,l,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),N=O(_,C,d,g.create(h.NA)),M=this._getResultArray(E,t,R,y,p,N,u,c);return _===1&&C===1?M.get(0,0):M}_getResultArray(e,t,r,n,s,a,u,l){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),R=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),N=this._getDelimiterValue(t);if(N instanceof g)return N;const M=this._getVariantsNumberFloorValue(_,C,E);if(M instanceof g)return M;const[D,L,P]=M;return D===0||L<0||L>1||P<0||P>1?g.create(h.VALUE):N.includes("")?D>0?x.create(""):x.create(p):!u&&Math.abs(D)>p.length?g.create(h.VALUE):N.every(j=>j.length>p.length)?g.create(h.NA):this._getResult(p,N,D,L,P,R,l)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,u){let l=n?e.toLocaleLowerCase():e;const c=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=c.map(R=>({index:l.lastIndexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>y.index-R.index)[0];if(!E)break;f=E.index,l=l.substr(0,E.index),m++}else{const E=c.map(R=>({index:l.indexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>R.index-y.index)[0];if(!E)break;f+=E.index+d,l=l.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&u)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?x.create(e):x.create(""):a;const _=e.substr(0,f);return x.create(_)}}class AR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(e,t,...r){const n=this._getDelimiterValues(e),s=this._getTextValues(r);if(t.isArray()){const u=t.mapValue(l=>this._handleSingleObject(n,l,s));return u.getRowCount()===1&&u.getColumnCount()===1?u.get(0,0):u}const a=t;if(a.isString()){const u=`${a.getValue()}`.toLocaleUpperCase();if(u==="TRUE")return this._handleSingleObject(n,F.create(!0),s);if(u==="FALSE")return this._handleSingleObject(n,F.create(!1),s)}return this._handleSingleObject(n,t,s)}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;if(r instanceof g)return r;const[u]=a,l=+u.getValue();let c=r;l&&(c=r.filter(m=>m!==null&&m!==""));let f="";for(let m=0;m<c.length;m++)c[m]!==null&&(f+=c[m]),m<c.length-1&&(f+=e[m%e.length]);return x.create(f)}_getDelimiterValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;let l=`${u.getValue()}`;u.isNull()&&(l=""),u.isBoolean()&&(l=l.toLocaleUpperCase()),t.push(l)}return t}_getTextValues(e){const t=[];for(const r of e){const n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;for(let a=0;a<n;a++)for(let u=0;u<s;u++){const l=r.isArray()?r.get(a,u):r;if(l.isError())return l;if(l.isNull()){t.push(null);continue}let c=`${l.getValue()}`;l.isBoolean()&&(c=c.toLocaleUpperCase()),t.push(c)}}return t}}class ER extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=r!=null?r:x.create("\\s");const l=n!=null?n:b.create(0),c=s!=null?s:b.create(0),f=a!=null?a:x.create(h.NA),{_variant:m,values:d}=this._getStringValues(t),{_variant:_,values:C}=this._getStringValues(u,!1);u=_;const E=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),R=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),y=O(E,R,e,g.create(h.NA)),p=O(E,R,l,g.create(h.NA)),N=O(E,R,c,g.create(h.NA)),M=this._getResultArray(y,m,u,p,N,f,d,C);return E===1&&R===1?M.get(0,0):M.map(D=>D.get(0,0))}_getStringValues(e,t=!0){let r=e;const n=[];if(r.isArray())r.iterator(s=>{if(s!=null&&s.isError())return r=s,!1;if(s!=null&&s.isNull()&&t)return r=g.create(h.VALUE),!1;const a=this._getRegExpStringValue(s);if(a==="")return r=g.create(h.VALUE),!1;n.push(a)});else{r.isNull()&&t&&(r=g.create(h.VALUE));const s=this._getRegExpStringValue(r);s===""&&(r=g.create(h.VALUE)),n.push(s)}return{_variant:r,values:n}}_getResultArray(e,t,r,n,s,a,u,l){return e.map((f,m,d)=>{let _=n.get(m,d),C=s.get(m,d);const E=this._checkVariantsError(f,t,r,_,C);if(E.isError())return E;if(f.isNull())return g.create(h.VALUE);let R=a;if(R.isArray()){const D=R.getRowCount(),L=R.getColumnCount();if(D>1||L>1)return g.create(h.VALUE);R=R.get(0,0)}let y=`${f.getValue()}`;if(f.isBoolean()&&(y=y.toLocaleUpperCase()),_.isString()&&(_=_.convertToNumberObjectValue(),_.isError()))return _;const p=Math.floor(+_.getValue());if(C.isString()&&(C=C.convertToNumberObjectValue(),C.isError()))return C;const N=Math.floor(+C.getValue());if(N<0||N>1)return g.create(h.VALUE);let M=`${R.getValue()}`;return R.isBoolean()&&(M=M.toLocaleUpperCase()),this._getResult(y,u,l,p,N,M)})}_getResult(e,t,r,n,s,a){const u=new RegExp(r.join("|"),`g${s?"i":""}`),l=new RegExp(t.join("|"),`g${s?"i":""}`),c=e.split(u);let f=1,m=c.map(d=>{let _=d.split(l);return n&&(_=_.filter(C=>C!=="")),f=Math.max(f,_.length),_});return m=m.map(d=>{let _=d;return _.length<f&&(_=_.concat(new Array(f-_.length).fill(a))),_}),Z.createByArray(m)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getRegExpStringValue(e){let t=e.getValue();return e.isNull()&&(t="\\s"),e.isBoolean()&&(t=t?"TRUE":"FALSE"),t+="",this._escapeRegExp(t)}_escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}class RR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g," "),x.create(t)}}const yR=Object.values(S.DataStreamTreeTokenType).filter(i=>[S.DataStreamTreeTokenType.TABLE_START,S.DataStreamTreeTokenType.TABLE_ROW_START,S.DataStreamTreeTokenType.TABLE_CELL_START,S.DataStreamTreeTokenType.TABLE_CELL_END,S.DataStreamTreeTokenType.TABLE_ROW_END,S.DataStreamTreeTokenType.TABLE_END,S.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class bR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<1||a>1114111)return g.create(h.VALUE);if(a===1114111||a===1114110)return g.create(h.NA);let u=String.fromCharCode(a);return yR.some(l=>l===u)&&(u=""),x.create(u)}}class pR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());const r=t.charCodeAt(0);return b.create(r)}}class NR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");const t=`${e.getValue()}`.toLocaleUpperCase();return x.create(t)}}class VR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const r=+t.getValue();return b.create(r)}}class OR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=Math.floor(+a.getValue());if(u<0||u>1)return g.create(h.VALUE);if(e.isNull())return x.create("");if(e.isBoolean())return e;if(e.isNumber())return b.create(e.getValue());const l=u?`"${e.getValue()}"`:`${e.getValue()}`;return x.create(l)}}const Sl=[[yE,J.ASC],[RE,J.ARRAYTOTEXT],[bE,J.BAHTTEXT],[NE,J.CHAR],[VE,J.CLEAN],[OE,J.CODE],[SE,J.CONCAT],[ME,J.CONCATENATE],[DE,J.DBCS],[wE,J.DOLLAR],[LE,J.EXACT],[PE,J.FIND],[TE,J.FINDB],[UE,J.FIXED],[xE,J.LEFT],[vE,J.LEFTB],[IE,J.LEN],[FE,J.LENB],[BE,J.LOWER],[kE,J.MID],[$E,J.MIDB],[WE,J.NUMBERSTRING],[QE,J.NUMBERVALUE],[nR,J.REGEXEXTRACT],[sR,J.REGEXMATCH],[aR,J.REGEXREPLACE],[qE,J.PROPER],[iR,J.REPLACE],[oR,J.REPLACEB],[uR,J.REPT],[lR,J.RIGHT],[cR,J.RIGHTB],[fR,J.SEARCH],[mR,J.SEARCHB],[hR,J.SUBSTITUTE],[gR,J.T],[dR,J.TEXT],[CR,J.TEXTAFTER],[_R,J.TEXTBEFORE],[AR,J.TEXTJOIN],[ER,J.TEXTSPLIT],[RR,J.TRIM],[bR,J.UNICHAR],[pR,J.UNICODE],[NR,J.UPPER],[VR,J.VALUE],[OR,J.VALUETOTEXT]],Ml=[];var Dl=(i=>i)(Dl||{});function wl(i){return i.map(o=>o.map(e=>typeof e=="number"?wn(e):e))}function SR(i,o=!1){if(i.isReferenceObject()){const e=i.toArrayValueObject().toValue();return o?wl(e):e}else if(i.isArray()){const e=i.toValue();return o?wl(e):e}else if(i.isNumber()){const e=i.getValue();return o?wn(e):e}return i.getValue()}class MR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=we(e),r=encodeURIComponent(t).replace(/[!~'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return x.create(r)}}const Ll=[[MR,is.ENCODEURL]];class qa extends S.Disposable{constructor(){super(...arguments);A(this,"_allSubjects",[]);A(this,"_computingStatus$",new Oe.BehaviorSubject(!0));A(this,"computingStatus$",this._computingStatus$.pipe(Oe.distinctUntilChanged()));A(this,"_computingSubscription")}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),(e=this._computingSubscription)==null||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(t=>{t.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{const t=this._allSubjects.indexOf(e);t!==-1&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;if((e=this._computingSubscription)==null||e.unsubscribe(),this._allSubjects.length===0){this._computingStatus$.next(!0);return}this._computingSubscription=Oe.combineLatest(this._allSubjects).pipe(Oe.map(t=>t.every(r=>r))).subscribe(t=>this._computingStatus$.next(t))}}var DR=Object.getOwnPropertyDescriptor,wR=(i,o,e,t)=>{for(var r=t>1?void 0:t?DR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Pl=(i,o)=>(e,t)=>o(e,t,i);let Xa=class extends S.Disposable{constructor(o,e){super();A(this,"_computingCompleted$",new Oe.Observable(o=>{this._commandService.onCommandExecuted(e=>{if(e.id!==Pr.id)return;const t=e.params;if(t.stageInfo)return o.next(t.stageInfo.stage===qe.IDLE||t.stageInfo.stage===qe.CALCULATION_COMPLETED)})}).pipe(Oe.distinctUntilChanged(),Oe.shareReplay()));this._commandService=o,this._globalComputingSrv=e;const t=new S.DisposableCollection,r=new Oe.BehaviorSubject(!0);t.add(this._globalComputingSrv.pushComputingStatusSubject(r)),t.add(this._computingCompleted$.subscribe(n=>r.next(n))),t.add(()=>r.complete()),this.disposeWithMe(t)}};Xa=wR([Pl(0,S.ICommandService),Pl(1,S.Inject(qa))],Xa);var LR=Object.getOwnPropertyDescriptor,PR=(i,o,e,t)=>{for(var r=t>1?void 0:t?LR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},us=(i,o)=>(e,t)=>o(e,t,i);let ls=class extends S.Disposable{constructor(i,o,e,t){super(),this._commandService=i,this._functionService=o,this._configService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Ls,sn,Ps,Rs,Ui,ys,bs,Ss,Ms,ps,Pr,hn,Ds,ws,Ns,gn,Vs,Os,Es,Ti,fn,mn,jr,Tr,vi,Ii,Fi,Oi].forEach(i=>{var o;this._commandService.registerCommand(i),(o=this._dataSyncPrimaryController)==null||o.registerSyncingMutations(i)})}_registerFunctions(){var e;const i=this._configService.getConfig(dn),o=[...Io,...ku,...$u,...Gu,...Xu,...Ku,...nl,...sl,...al,...il,...ll,...cl,...hl,...Sl,...Ml,...Ll].concat((e=i==null?void 0:i.function)!=null?e:[]).map(t=>{const r=t[0],n=t[1];return new r(n)});this._functionService.registerExecutors(...o)}};ls=PR([us(0,S.ICommandService),us(1,Ot),us(2,S.IConfigService),us(3,S.Optional(vl.DataSyncPrimaryController))],ls);var jR=Object.getOwnPropertyDescriptor,TR=(i,o,e,t)=>{for(var r=t>1?void 0:t?jR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},cs=(i,o)=>(e,t)=>o(e,t,i);let fs=class extends S.Disposable{constructor(i,o,e){super(),this._commandService=i,this._dependencyManagerService=o,this._featureCalculationManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(i=>{const{unitId:o,subUnitId:e,featureIds:t}=i;this._dependencyManagerService.removeFeatureFormulaDependency(o,e,t)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===mn.id){const o=i.params;if(o==null)return;const{featureIds:e,unitId:t,subUnitId:r}=o;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,e)}else if(i.id===fn.id){const o=i.params;if(o==null)return;const{featureId:e,calculationParam:t}=o,{unitId:r,subUnitId:n}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,n,[e])}else if(i.id===Tr.id){const o=i.params;if(o==null)return;this._dependencyManagerService.removeOtherFormulaDependency(o.unitId,o.subUnitId,o.formulaIdList)}else if(i.id===jr.id){const o=i.params;if(o==null)return;const e=o.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(o.unitId,o.subUnitId,t)}else if(i.id===Ls.id){const o=i.params.formulaData;Object.keys(o).forEach(e=>{const t=o[e];if(t!==void 0){if(t===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(t).forEach(r=>{const n=t[r];if(n!==void 0){if(n===null)return this._dependencyManagerService.clearFormulaDependency(e,r),!0;new S.ObjectMatrix(n).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,r,s,a)})}})}})}else i.id===Es.id&&this._handleSetDefinedName(i)}))}_handleSetDefinedName(i){const o=i.params;if(o==null)return;const{unitId:e,name:t}=o;this._dependencyManagerService.removeFormulaDependencyByDefinedName(e,t)}};fs=TR([cs(0,S.ICommandService),cs(1,Ar),cs(1,$r),cs(2,Ar)],fs);var UR=Object.getOwnPropertyDescriptor,xR=(i,o,e,t)=>{for(var r=t>1?void 0:t?UR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},jl=(i,o)=>(e,t)=>o(e,t,i);let ms=class extends S.Disposable{constructor(i,o){super(),this._commandService=i,this._featureCalculationManagerService=o,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===fn.id){const o=i.params;if(o==null)return;const{featureId:e,calculationParam:t}=o,{unitId:r,subUnitId:n}=t;this._featureCalculationManagerService.register(r,n,e,t)}else if(i.id===mn.id){const o=i.params;if(o==null)return;const{featureIds:e,unitId:t,subUnitId:r}=o;this._featureCalculationManagerService.remove(t,r,e)}}))}};ms=xR([jl(0,S.ICommandService),jl(1,Ar)],ms);var vR=Object.getOwnPropertyDescriptor,IR=(i,o,e,t)=>{for(var r=t>1?void 0:t?vR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ka=(i,o)=>(e,t)=>o(e,t,i);let hs=class extends S.Disposable{constructor(i,o,e){super(),this._commandService=i,this._otherFormulaManagerService=o,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===jr.id){const o=i.params;if(o==null)return;const e={[o.unitId]:{[o.subUnitId]:o.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(i.id===Tr.id){const o=i.params;if(o==null)return;const e={};o.formulaIdList.forEach(r=>e[r]=!0);const t={[o.unitId]:{[o.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};hs=IR([Ka(0,S.ICommandService),Ka(1,vn),Ka(2,$r)],hs);class Tl extends S.Disposable{constructor(){super(...arguments);A(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 Za=S.createIdentifier("univer.formula.active-dirty-manager.service");var sr=(i=>(i[i.NOT_REGISTER=1]="NOT_REGISTER",i[i.SUCCESS=2]="SUCCESS",i[i.WAIT=3]="WAIT",i[i.ERROR=4]="ERROR",i))(sr||{}),FR=Object.getOwnPropertyDescriptor,BR=(i,o,e,t)=>{for(var r=t>1?void 0:t?FR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},za=(i,o)=>(e,t)=>o(e,t,i),Ul=(i=>(i.DEFAULT="default",i.DATA_VALIDATION="dv",i.DATA_VALIDATION_CUSTOM="dv-custom",i.CONDITIONAL_FORMATTING="cf",i.DOC="doc",i.SLIDE="slide",i))(Ul||{});w.RegisterOtherFormulaService=class extends S.Disposable{constructor(e,t,r){super();A(this,"_formulaCacheMap",new Map);A(this,"_formulaChangeWithRange$",new Oe.Subject);A(this,"formulaChangeWithRange$",this._formulaChangeWithRange$.asObservable());A(this,"_formulaResult$",new Oe.Subject);A(this,"formulaResult$",this._formulaResult$.asObservable());A(this,"calculateStarted$",new Oe.BehaviorSubject(!1));this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=r,this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let r=this._formulaCacheMap.get(e);r||(r=new Map,this._formulaCacheMap.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_createFormulaId(e,t,r,n){return`formula.${e}_${t}_${r}_${n}_${S.generateRandomId(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Dr.id,{commandId:Dr.id,getDirtyData(t){return{dirtyUnitOtherFormulaMap:t.params}}});const e=t=>{const{unitId:r,subUnitId:n,formulaText:s,formulaId:a,ranges:u}=t;if(!this._ensureCacheMap(r,n).has(a))return;const c={unitId:r,subUnitId:n,formulaMap:{[a]:{f:s,ranges:u}}};this._commandService.executeCommand(jr.id,c).then(()=>{this._commandService.executeCommand(Dr.id,{[r]:{[n]:{[a]:!0}}})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe.bufferWhen(()=>this.calculateStarted$.pipe(Oe.filter(t=>t)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe.filter(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===hn.id){const t=e.params,{unitOtherData:r}=t,n={};for(const s in r){const a=r[s],u={};n[s]=u;for(const l in a){const c=this._ensureCacheMap(s,l),f=a[l],m=[];u[l]=m;for(const d in f){const _=f[d];if(c.has(d)){const C=c.get(d);if(!C)continue;C.result||(C.result={});const E=new S.ObjectMatrix(_),R=new S.ObjectMatrix(C.result);E.forValue((y,p,N)=>{R.setValue(y,p,N)}),C.status=sr.SUCCESS,C.callbacks.forEach(y=>{y(_)}),C.callbacks.clear(),m.push(C)}}}}this._formulaResult$.next(n)}}))}registerFormulaWithRange(e,t,r,n=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],s,a="default",u=""){const l=this._createFormulaId(e,t,a,u);return this._ensureCacheMap(e,t).set(l,{result:void 0,status:sr.WAIT,formulaId:l,callbacks:new Set,extra:s}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:r,formulaId:l,ranges:n}),l}deleteFormula(e,t,r){const n={unitId:e,subUnitId:t,formulaIdList:r};this._commandService.executeCommand(Tr.id,n);const s=this._ensureCacheMap(e,t);r.forEach(a=>s.delete(a))}getFormulaValue(e,t,r){const n=this._ensureCacheMap(e,t),s=n.get(r);return s?s.status===sr.SUCCESS||s.status===sr.ERROR?Promise.resolve(s):new Promise(a=>{s.callbacks.add(()=>{a(n.get(r))})}):Promise.resolve(null)}getFormulaValueSync(e,t,r){return this._ensureCacheMap(e,t).get(r)}markFormulaDirty(e,t,r){const n=this.getFormulaValueSync(e,t,r);n&&(n.status=sr.WAIT,this._commandService.executeCommand(Dr.id,{[e]:{[t]:{[r]:!0}}}))}},w.RegisterOtherFormulaService=BR([za(0,S.ICommandService),za(1,Za),za(2,S.Inject(S.LifecycleService))],w.RegisterOtherFormulaService);var kR=Object.getOwnPropertyDescriptor,$R=(i,o,e,t)=>{for(var r=t>1?void 0:t?kR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},xl=(i,o)=>(e,t)=>o(e,t,i);const YR="UNIVER_ENGINE_FORMULA_PLUGIN";w.UniverFormulaEnginePlugin=(Ja=class extends S.Plugin{constructor(o=Yi,e,t){super(),this._config=o,this._injector=e,this._configService=t;const{...r}=S.merge({},Yi,this._config);this._configService.setConfig(dn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var o;S.touchDependencies(this._injector,[[ls]]),(o=this._config)!=null&&o.notExecuteFormula||S.touchDependencies(this._injector,[[hs],[ms],[fs],[w.CalculateController]])}onRendered(){var o;(o=this._config)!=null&&o.notExecuteFormula||S.touchDependencies(this._injector,[[Bn],[Fn]])}_initialize(){const o=!this._config.notExecuteFormula,e=[[Ot,{useClass:Eo}],[kt,{useClass:w.DefinedNamesService}],[Za,{useClass:Tl}],[w.RegisterOtherFormulaService],[ua,{useClass:w.HyperlinkEngineFormulaService}],[Bs,{useClass:Hi}],[cr,{useClass:xi}],[qa],[w.FormulaDataModel],[ls],[Xa]];o&&e.push([vn,{useClass:Po}],[it,{useClass:w.FormulaRuntimeService}],[pt,{useClass:w.FormulaCurrentConfigService}],[Ar,{useClass:Lo}],[w.CalculateController],[hs],[fs],[ms],[w.Interpreter],[w.AstTreeBuilder],[w.Lexer],[ca],[w.FunctionNodeFactory],[w.LambdaNodeFactory],[ga],[w.OperatorNodeFactory],[w.PrefixNodeFactory],[w.ReferenceNodeFactory],[w.SuffixNodeFactory],[w.UnionNodeFactory],[Ca]),e.forEach(t=>this._injector.add(t))}_initializeWithOverride(){var o;this._injector.add([fr,{useClass:fr}]),(o=this._config)!=null&&o.notExecuteFormula||[[Bn,{useClass:w.CalculateFormulaService}],[$r,{useClass:wo}],[Fn,{useClass:w.FormulaDependencyGenerator}]].forEach(t=>this._injector.add(t))}},A(Ja,"pluginName",YR),Ja),w.UniverFormulaEnginePlugin=$R([xl(1,S.Inject(S.Injector)),xl(2,S.IConfigService)],w.UniverFormulaEnginePlugin),w.ActiveDirtyManagerService=Tl,w.ArrayValueObject=Z,w.AstRootNodeFactory=ca,w.AsyncArrayObject=go,w.AsyncCustomFunction=Yh,w.AsyncObject=ho,w.BaseFunction=V,w.BaseReferenceObject=Gt,w.BaseValueObject=Nt,w.BooleanValue=Mt,w.BooleanValueObject=F,w.CustomFunction=Hu,w.DEFAULT_INTERVAL_COUNT=To,w.DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME=ur,w.DEFAULT_TOKEN_LET_FUNCTION_NAME=Vi,w.DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER=Bt,w.DEFAULT_TOKEN_TYPE_PARAMETER=nt,w.DEFAULT_TOKEN_TYPE_ROOT=Rt,w.DependencyManagerBaseService=Do,w.DependencyManagerService=wo,w.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=Pc,w.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=dn,w.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE=jc,w.ERROR_TYPE_SET=wt,w.ErrorType=h,w.ErrorValueObject=g,w.FUNCTION_NAMES_ARRAY=$n,w.FUNCTION_NAMES_COMPATIBILITY=he,w.FUNCTION_NAMES_CUBE=Yu,w.FUNCTION_NAMES_DATABASE=He,w.FUNCTION_NAMES_DATE=Ae,w.FUNCTION_NAMES_ENGINEERING=X,w.FUNCTION_NAMES_FINANCIAL=ee,w.FUNCTION_NAMES_INFORMATION=be,w.FUNCTION_NAMES_LOGICAL=Ee,w.FUNCTION_NAMES_LOOKUP=ne,w.FUNCTION_NAMES_MATH=$,w.FUNCTION_NAMES_STATISTICAL=T,w.FUNCTION_NAMES_TEXT=J,w.FUNCTION_NAMES_UNIVER=Dl,w.FUNCTION_NAMES_WEB=is,w.FeatureCalculationManagerService=Lo,w.FormulaDependencyTree=In,w.FormulaDependencyTreeModel=Aa,w.FormulaDependencyTreeType=Wt,w.FormulaDependencyTreeVirtual=_a,w.FormulaExecuteStageType=qe,w.FormulaExecutedStateType=Cr,w.FormulaResultStatus=sr,w.FunctionService=Eo,w.FunctionType=ni,w.GlobalComputingStatusService=qa,w.IActiveDirtyManagerService=Za,w.ICalculateFormulaService=Bn,w.IDefinedNamesService=kt,w.IDependencyManagerService=$r,w.IFeatureCalculationManagerService=Ar,w.IFormulaCurrentConfigService=pt,w.IFormulaDependencyGenerator=Fn,w.IFormulaRuntimeService=it,w.IFunctionService=Ot,w.IHyperlinkEngineFormulaService=ua,w.IOtherFormulaManagerService=vn,w.ISheetRowFilteredService=Bs,w.ISuperTableService=cr,w.LambdaParameterNodeFactory=ga,w.LambdaValueObjectObject=Un,w.LexerNode=oe,w.LexerTreeBuilder=fr,w.NEW_EXCEL_FUNCTIONS=Z_,w.NullValueObject=ce,w.NumberValueObject=b,w.OPERATOR_TOKEN_SET=ct,w.OtherFormulaBizType=Ul,w.OtherFormulaManagerService=Po,w.OtherFormulaMarkDirty=Dr,w.RangeReferenceObject=vr,w.RegisterFunctionMutation=Oi,w.RemoveDefinedNameMutation=Ti,w.RemoveFeatureCalculationMutation=mn,w.RemoveOtherFormulaMutation=Tr,w.RemoveSuperTableMutation=Ii,w.SUFFIX_TOKEN_SET=Jr,w.SetArrayFormulaDataMutation=sn,w.SetCellFormulaDependencyCalculationMutation=Vs,w.SetCellFormulaDependencyCalculationResultMutation=Os,w.SetDefinedNameMutation=Es,w.SetDefinedNameMutationFactory=Nc,w.SetFeatureCalculationMutation=fn,w.SetFormulaCalculationNotificationMutation=Pr,w.SetFormulaCalculationResultMutation=hn,w.SetFormulaCalculationStartMutation=Rs,w.SetFormulaCalculationStopMutation=ps,w.SetFormulaDataMutation=Ls,w.SetFormulaDependencyCalculationMutation=Ns,w.SetFormulaDependencyCalculationResultMutation=gn,w.SetFormulaStringBatchCalculationMutation=ys,w.SetFormulaStringBatchCalculationResultMutation=bs,w.SetImageFormulaDataMutation=Ps,w.SetOtherFormulaMutation=jr,w.SetQueryFormulaDependencyAllMutation=Ds,w.SetQueryFormulaDependencyAllResultMutation=ws,w.SetQueryFormulaDependencyMutation=Ss,w.SetQueryFormulaDependencyResultMutation=Ms,w.SetSuperTableMutation=vi,w.SetSuperTableOptionMutation=Fi,w.SetTriggerFormulaCalculationStartMutation=Ui,w.SheetRowFilteredService=Hi,w.StringValueObject=x,w.SuperTableService=xi,w.ValueNodeFactory=Ca,w.ValueObjectFactory=ht,w.compareToken=H,w.convertUnitDataToRuntime=_s,w.deserializeRangeForR1C1=vo,w.deserializeRangeWithSheet=lr,w.deserializeRangeWithSheetWithCache=$t,w.extractFormulaError=Fc,w.functionArray=Io,w.functionCompatibility=ku,w.functionCube=$u,w.functionDatabase=Gu,w.functionDate=Xu,w.functionEngineering=Ku,w.functionFinancial=nl,w.functionInformation=sl,w.functionLogical=al,w.functionLookup=il,w.functionMath=ll,w.functionMeta=cl,w.functionStatistical=hl,w.functionText=Sl,w.functionUniver=Ml,w.functionWeb=Ll,w.generateAstNode=fa,w.generateExecuteAstNodeData=ha,w.generateRandomDependencyTreeId=Qt,w.generateStringWithSequence=Ts,w.getAbsoluteRefTypeWitString=dc,w.getAbsoluteRefTypeWithSingleString=wr,w.getObjectValue=SR,w.getRangeWithRefsString=_c,w.handleNumfmtInCell=Hc,w.handleRefStringInfo=un,w.includeFormulaLexerToken=ai,w.initSheetFormulaData=vs,w.isFormulaLexerToken=Vr,w.isInDirtyRange=ti,w.isReferenceString=Cs,w.isReferenceStringWithEffectiveColumn=Lr,w.isReferenceStrings=Li,w.matchRefDrawToken=kl,w.matchToken=K,w.needsQuoting=ln,w.normalizeSheetName=Bl,w.operatorToken=z,w.prefixToken=De,w.quoteSheetName=cn,w.sequenceNodeType=xe,w.serializeRange=yt,w.serializeRangeToRefString=an,w.serializeRangeWithSheet=Mi,w.serializeRangeWithSpreadsheet=Di,w.singleReferenceToGrid=on,w.splitTableStructuredRef=ji,w.strip=ta,w.stripErrorMargin=wn,w.unquoteSheetName=As,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(w,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("@univerjs/core"),require("rxjs"),require("@univerjs/rpc")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","@univerjs/rpc"],S):(w=typeof globalThis<"u"?globalThis:w||self,S(w.UniverEngineFormula={},w.UniverCore,w.rxjs,w.UniverRpc))})(this,(function(w,S,Oe,vl){"use strict";var WR=Object.defineProperty;var QR=(w,S,Oe)=>S in w?WR(w,S,{enumerable:!0,configurable:!0,writable:!0,value:Oe}):w[S]=Oe;var A=(w,S,Oe)=>QR(w,typeof S!="symbol"?S+"":S,Oe);var Ja;var Mt=(i=>(i.FALSE="FALSE",i.TRUE="TRUE",i))(Mt||{}),Dt=(i=>(i[i.SUCCESS=0]="SUCCESS",i[i.ERROR=1]="ERROR",i))(Dt||{}),Me=(i=>(i.ALL="#All",i.DATA="#Data",i.HEADERS="#Headers",i.TOTALS="#Totals",i.THIS_ROW="#This Row",i))(Me||{}),rt=(i=>(i[i.FRONT=0]="FRONT",i[i.BACK=1]="BACK",i))(rt||{});class Rt{constructor(o){A(this,"_cache");this._cache=new S.LRUMap(o)}set(o,e){const t=this._hash(o);this._cache.set(t,e)}get(o){const e=this._hash(o);return this._cache.get(e)}clear(){this._cache.clear()}delete(o){this._cache.delete(this._hash(o))}forEach(o,e){this._cache.forEach(o,e)}_hash(o){return o.length<=64?o:S.hashAlgorithm(o).toString()}}var h=(i=>(i.DIV_BY_ZERO="#DIV/0!",i.NAME="#NAME?",i.VALUE="#VALUE!",i.NUM="#NUM!",i.NA="#N/A",i.CYCLE="#CYCLE!",i.REF="#REF!",i.SPILL="#SPILL!",i.CALC="#CALC!",i.ERROR="#ERROR!",i.CONNECT="#GETTING_DATA",i.NULL="#NULL!",i))(h||{});const wt=new Set(Object.values(h)),ti=[...new Set(Object.values(h).map(i=>i.length))];class zr{constructor(){A(this,"pattern","")}dispose(){}getPattern(){return this.pattern}setPattern(o){this.pattern=o}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(o){return!1}}var z=(i=>(i.PLUS="+",i.MINUS="-",i.MULTIPLY="*",i.DIVIDED="/",i.CONCATENATE="&",i.POWER="^",i.EQUALS="=",i.NOT_EQUAL="<>",i.GREATER_THAN=">",i.GREATER_THAN_OR_EQUAL=">=",i.LESS_THAN="<",i.LESS_THAN_OR_EQUAL="<=",i))(z||{}),H=(i=>(i.EQUALS="=",i.NOT_EQUAL="<>",i.GREATER_THAN=">",i.GREATER_THAN_OR_EQUAL=">=",i.LESS_THAN="<",i.LESS_THAN_OR_EQUAL="<=",i))(H||{});const Jr=new Map([["<>",4],["<",4],[">=",4],["=",4],[">",4],["<=",4],["&",3],["+",2],["-",2],["/",1],["*",1],["^",0]]),ct=new Set(Jr.keys()),Il=new Set(["=","<>",">",">=","<","<="]);var K=(i=>(i.OPEN_BRACKET="(",i.CLOSE_BRACKET=")",i.COMMA=",",i.SINGLE_QUOTATION="'",i.DOUBLE_QUOTATION='"',i.OPEN_BRACES="{",i.CLOSE_BRACES="}",i.COLON=":",i.OPEN_SQUARE_BRACKET="[",i.CLOSE_SQUARE_BRACKET="]",i))(K||{}),Ke=(i=>(i.PERCENTAGE="%",i.POUND="#",i))(Ke||{});const en=new Set(["%","#"]);var De=(i=>(i.AT="@",i.MINUS="-",i.PLUS="+",i))(De||{});const Fl=" ";class yt extends zr{constructor(e){super();A(this,"_customData");this._rawValue=e}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(e){}setArrayValue(e){}withCustomData(e){return this._customData=e,this}getCustomData(){return this._customData}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isDateFormat(){return!1}isError(){return!1}isNull(){return!1}isHyperlink(){return!1}isImage(){return!1}sum(){return g.create(h.VALUE)}max(){return g.create(h.VALUE)}min(){return g.create(h.VALUE)}count(){return g.create(h.VALUE)}countA(){return g.create(h.VALUE)}countBlank(){return g.create(h.VALUE)}getNegative(){return g.create(h.VALUE)}getReciprocal(){return g.create(h.VALUE)}plus(e){return g.create(h.VALUE)}minus(e){return g.create(h.VALUE)}multiply(e){return g.create(h.VALUE)}divided(e){return g.create(h.VALUE)}mod(e){return g.create(h.VALUE)}map(e){return g.create(h.NAME)}mapValue(e){return g.create(h.NAME)}compare(e,t,r=!1){return g.create(h.NAME)}isEqual(e){return this.compare(e,H.EQUALS)}isNotEqual(e){return this.compare(e,H.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,H.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,H.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,H.LESS_THAN)}isGreaterThan(e){return this.compare(e,H.GREATER_THAN)}concatenateFront(e){return g.create(h.NAME)}concatenateBack(e){return g.create(h.NAME)}plusBy(e){return g.create(h.VALUE)}minusBy(e){return g.create(h.VALUE)}multiplyBy(e){return g.create(h.VALUE)}dividedBy(e){return g.create(h.VALUE)}modInverse(e){return g.create(h.VALUE)}compareBy(e,t,r=!1){return g.create(h.NAME)}concatenate(e,t=rt.FRONT){let r=this.getValue().toString();if(typeof e=="string")t===rt.FRONT?r=e+r:r+=e;else if(typeof e=="number")t===rt.FRONT?r=e.toString()+r:r+=e.toString();else if(typeof e=="boolean"){const n=e?"TRUE":"FALSE";t===rt.FRONT?r=n+r:r+=n}return r}pow(e){return g.create(h.VALUE)}powInverse(e){return g.create(h.VALUE)}sqrt(){return g.create(h.VALUE)}cbrt(){return g.create(h.VALUE)}cos(){return g.create(h.VALUE)}cosh(){return g.create(h.VALUE)}acos(){return g.create(h.VALUE)}acosh(){return g.create(h.VALUE)}sin(){return g.create(h.VALUE)}sinh(){return g.create(h.VALUE)}asin(){return g.create(h.VALUE)}asinh(){return g.create(h.VALUE)}tan(){return g.create(h.VALUE)}tanh(){return g.create(h.VALUE)}atan(){return g.create(h.VALUE)}atan2(e){return g.create(h.VALUE)}atan2Inverse(e){return g.create(h.VALUE)}atanh(){return g.create(h.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return g.create(h.VALUE)}log10(){return g.create(h.VALUE)}exp(){return g.create(h.VALUE)}abs(){return g.create(h.VALUE)}round(e){return g.create(h.VALUE)}roundInverse(e){return g.create(h.VALUE)}floor(e){return g.create(h.VALUE)}floorInverse(e){return g.create(h.VALUE)}ceil(e){return g.create(h.VALUE)}ceilInverse(e){return g.create(h.VALUE)}convertToNumberObjectValue(){return g.create(h.VALUE)}convertToBooleanObjectValue(){return g.create(h.VALUE)}}const Bl=1e3,ds=new Rt(Bl);class g extends yt{constructor(o,e=""){super(o),this._errorType=o,this._errorContent=e}static create(o,e=""){const t=`${o}-${e}`,r=ds.get(t);if(r)return r;const n=new g(o,e);return ds.set(t,n),n}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(o){return o.getErrorType()===this.getErrorType()}isError(){return!0}}const Cs="yyyy/mm/dd;@",kl="yyyy/mm/dd hh:mm",$l="h:mm A/P";function Re(i){const o=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate());let r=(t-o.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function Vr(i){const o=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(i.getTime()-o.getTime())/(1e3*3600*24);return i>e&&(r+=1),r+1}function ae(i){const o=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(i)-1;return t>(e.getTime()-o.getTime())/(1e3*3600*24)&&(t-=1),new Date(o.getTime()+t*(1e3*3600*24))}function _s(i){const o=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=i-1;return t>(e.getTime()-o.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=i),new Date(o.getTime()+t*(1e3*3600*24))}function As(i){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(i))return!1;const e=i.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getDate().toString().padStart(2,"0"),a=`${r}-${n}-${s}`;return i.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===a}function tn(i){return S.numfmt.parseDate(i)}function rn(i){return S.numfmt.parseTime(i)}function Es(i){return S.numfmt.getFormatInfo(i).isDate}const ri={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function Or(i){return!!(typeof i=="string"&&/^[0|1]{7}/.test(i)||ri[Number(i)])}function ni(i){if(!Or(i))return[];if(typeof i=="string"&&/^[0|1]{7}/.test(i)){const o=[];for(let e=1;e<=i.length;e++)`${i[e-1]}`=="1"&&(e===i.length?o.push(0):o.push(e));return o}return ri[Number(i)]||[]}function nn(i,o,e=1,t){const r=ni(e),n=Math.floor(i),s=Math.floor(o),a=s>n?n:s;let u=0;const l=Math.abs(Math.floor(o)-Math.floor(i))+1;for(let c=0;c<l;c++){const f=a+c;if(t&&t.length>0&&t.some(d=>Math.floor(d)===f))continue;const m=Bt(f);r.includes(m)||u++}return s>=n?u:-u}function sn(i,o,e=1,t){const r=ni(e),n=Math.floor(i);let s=n,a=Math.abs(o);for(let u=1;u<=a;u++){const l=o<0?n-u:n+u;if(l<0)return g.create(h.NUM);if(t&&t.length>0&&t.some(f=>Math.floor(f)===l)){a++;continue}const c=Bt(l);if(r.includes(c)){a++;continue}s=l}return s}function G(i){if(i.isError())return i;const o=i.getValue();if(i.isString()){let e;if(tn(`${o}`))e=tn(`${o}`).v;else if(rn(`${o}`))e=rn(`${o}`).v;else if(S.isRealNum(o))e=+o;else return g.create(h.VALUE);return e instanceof Date&&(e=Vr(e)),+e<0||+e>2958465?g.create(h.NUM):+e}else{const e=+i.getValue();return e<0||e>2958465?g.create(h.NUM):e}}function Bt(i){const o=Math.floor(i)===60;let e=ae(i);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!o&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}function _e(i,o,e){switch(e){case 0:return Yl(i,o);case 1:return Hl(i,o);case 2:return{days:Math.abs(o-i),yearDays:360};case 3:return{days:Math.abs(o-i),yearDays:365};case 4:return Gl(i,o);default:return{days:Math.abs(o-i),yearDays:365}}}function Yl(i,o){const e=ae(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0,s=ae(o),a=o>0?s.getUTCFullYear():1900,u=o>0?s.getUTCMonth()+1:1,l=o>0?s.getUTCDate():0;r===2?ae(i+1).getUTCMonth()+1===3&&(n=30):n===31&&(n=30),l===31&&(n<30?(s=ae(o+1),a=s.getUTCFullYear(),u=s.getUTCMonth()+1,l=s.getUTCDate()):l=30);const c=(a-t)*360,f=o>=i?30-n:-n,m=o>=i?l:l-30,d=(o>=i?u-r-1:u-r+1)*30;return{days:Math.abs(c+f+m+d),yearDays:360}}function Hl(i,o){const e=ae(i),t=i>0?e.getUTCFullYear():1900,r=ae(o),n=o>0?r.getUTCFullYear():1900,s=Math.abs(o-i),a=Math.abs(n-t)+1;let u,l;if(n<t){const c=new Date(Date.UTC(n,0,1)),f=new Date(Date.UTC(t,11,31));u=Re(c),l=Re(f),n===1900&&(u+=1)}else{const c=new Date(Date.UTC(t,0,1)),f=new Date(Date.UTC(n,11,31));u=Re(c),l=Re(f),t===1900&&(u+=1)}return{days:s,yearDays:(l-u+1)/a}}function Gl(i,o){const e=ae(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0;const s=ae(o),a=o>0?s.getUTCFullYear():1900,u=o>0?s.getUTCMonth()+1:1;let l=o>0?s.getUTCDate():0;n===31&&(n=30),l===31&&(l=30);const c=(a-t)*360,f=o>=i?30-n:-n,m=o>=i?l:l-30,d=(o>=i?u-r-1:u-r+1)*30;return{days:Math.abs(c+f+m+d),yearDays:360}}function Wl(i){return i%4===0&&i%100!==0||i%400===0}function Ql(i){return i%4===0&&i%100!==0||i%400===0||i===1900}const ql=[31,29,31,30,31,30,31,31,30,31,30,31],Xl=[31,28,31,30,31,30,31,31,30,31,30,31];function Sr(i,o){return Wl(i)?ql[o]:Xl[o]}function an(i){return Ql(i)?366:365}function si(i,o){switch(o){case 0:case 2:case 4:return 360;case 1:return an(ae(i).getUTCFullYear());case 3:return 365;default:return-1}}function ir(i,o,e){return Sr(i,o)===e}function or(i,o){let e=i.getUTCFullYear(),t=i.getUTCMonth();const r=i.getUTCDate();return ir(e,t,r)?(i.setUTCDate(1),i.setUTCMonth(i.getUTCMonth()+o),e=i.getUTCFullYear(),t=i.getUTCMonth(),i.setUTCDate(Sr(e,t))):i.setUTCMonth(i.getUTCMonth()+o),i}function ai(i,o,e,t,r){for(let n=0,s=i.length;n<s;n++){const a=i[n];if(o!==a.unitId||e!==a.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=a.range;if(t>=u&&t<=c&&r>=l&&r<=f)return!0}return!1}var ii=(i=>(i[i.Financial=0]="Financial",i[i.Date=1]="Date",i[i.Math=2]="Math",i[i.Statistical=3]="Statistical",i[i.Lookup=4]="Lookup",i[i.Database=5]="Database",i[i.Text=6]="Text",i[i.Logical=7]="Logical",i[i.Information=8]="Information",i[i.Engineering=9]="Engineering",i[i.Cube=10]="Cube",i[i.Compatibility=11]="Compatibility",i[i.Web=12]="Web",i[i.Array=13]="Array",i[i.Univer=14]="Univer",i[i.User=15]="User",i[i.DefinedName=16]="DefinedName",i[i.Table=17]="Table",i))(ii||{});const oi=[...Object.values(H),...Object.values(z),...Object.values(K),...Object.values(Ke),...Object.values(De)];function Mr(i){return oi.includes(i)}function ui(i){for(const o of oi)if(i.indexOf(o)>-1)return!0;return!1}function Kl(i){return i[0]==="'"&&i[i.length-1]==="'"?i.substring(1,i.length-1):i}function Zl(i){return Mr(i)&&i!==K.CLOSE_BRACES&&i!==K.CLOSE_BRACKET&&i!==K.SINGLE_QUOTATION&&i!==K.DOUBLE_QUOTATION||i===" "}const zl=new Set([z.PLUS,z.MINUS,z.MULTIPLY,z.DIVIDED,z.CONCATENATE,z.POWER,z.EQUALS,z.NOT_EQUAL,z.GREATER_THAN,z.GREATER_THAN_OR_EQUAL,z.LESS_THAN,z.LESS_THAN_OR_EQUAL,K.OPEN_BRACKET,K.COMMA,K.COLON,K.OPEN_BRACES,K.OPEN_SQUARE_BRACKET]);function Jl(i){return zl.has(i)}const ec=new Set([z.PLUS,z.MINUS,z.MULTIPLY,z.DIVIDED,z.CONCATENATE,z.POWER,z.EQUALS,z.NOT_EQUAL,z.GREATER_THAN,z.GREATER_THAN_OR_EQUAL,z.LESS_THAN,z.LESS_THAN_OR_EQUAL,K.OPEN_BRACKET,K.COMMA,K.COLON,K.OPEN_BRACES,K.OPEN_SQUARE_BRACKET,Ke.PERCENTAGE,Ke.POUND]);function tc(i){return ec.has(i)}const ur='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',li=new RegExp(ur),rc="((?![\\[\\]\\/?*\\\\]).)*!",Lt="$",on="\\s*?:\\s*?",un="[A-Za-z]+",ln="[1-9][0-9]*",lr=`'?(${ur})?(${rc})?'?`,Rs=`\\${Lt}?${un}\\${Lt}?${ln}`,nc=`^(${De.AT})?${lr}${Rs}${on}${Rs}$`,ci=new RegExp(nc),sc=`^${lr}\\s*?${Rs}(${Ke.POUND})?$`,fi=new RegExp(sc),ac=`^${lr}\\${Lt}?${ln}${on}\\${Lt}?${ln}$`,mi=new RegExp(ac),ic=`^${lr}\\${Lt}?${un}${on}\\${Lt}?${un}$`,hi=new RegExp(ic),oc=`^${lr}\\s*?\\${Lt}?${ln}$`,gi=new RegExp(oc),uc=`^${lr}\\s*?\\${Lt}?${un}$`,di=new RegExp(uc),Dr="((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+",Ci="\\[#.+\\]\\s*?,\\s*?",cn="\\[((?<!#).)*\\]",_i=`${cn}${on}${cn}`,lc=`^(${ur})?${Dr}$`,cc=`^(${ur})?${Dr}(${cn}|\\[${Ci}${cn}\\])+$`,fc=`^(${ur})?${Dr}(\\[${_i}\\])?$|^${Dr}(\\[${Ci}${_i}\\])?$`,mc=`^(${ur})?${Dr}\\[\\s*#([^\\]]+)\\s*\\]$`,Ai=new RegExp(lc),Ei=new RegExp(cc),Ri=new RegExp(fc),yi=new RegExp(mc),hc="{.*?}",bi=new RegExp(hc,"g");function wr(i){return fi.lastIndex=0,fi.test(i)}function gc(i){return ci.lastIndex=0,ci.test(i)}function pi(i){return mi.lastIndex=0,mi.test(i)}function Ni(i){return hi.lastIndex=0,hi.test(i)}function Vi(i){return gi.lastIndex=0,gi.test(i)}function Oi(i){return di.lastIndex=0,di.test(i)}function dc(i){return Ai.lastIndex=0,Ai.test(i)}function Cc(i){return Ei.lastIndex=0,Ei.test(i)}function _c(i){return Ri.lastIndex=0,Ri.test(i)}function Ac(i){return yi.lastIndex=0,yi.test(i)}function Ec(i){return bi.lastIndex=0,bi.test(i)}function ys(i){return wr(i)||gc(i)||pi(i)||Ni(i)}function bs(i){const o={};return Object.keys(i).forEach(e=>{const t=i[e];if(t==null)return!0;o[e]==null&&(o[e]={}),Object.keys(t).forEach(r=>{const n=t[r];o[e][r]=new S.ObjectMatrix(n)})}),o}function Rc(i){const o={};for(const e in i){const t=i[e];if(t!=null){o[e]==null&&(o[e]={});for(const r in t){const n=t[r],s={};n.forValue((a,u,l)=>{s[a]===void 0&&(s[a]={}),s[a][u]=l}),o[e][r]=s}}}return o}const nt="P_1",bt="R_1",kt="L_1",Lr="LR_1",Si="LO_1",Mi="LET",cr="LAMBDA",yc="CUBE",bc=new Set(["RAND","RANDBETWEEN","NOW","TODAY"]),Pr={type:S.CommandType.MUTATION,id:"sheet.mutation.data-validation-formula-mark-dirty",handler(){return!0}},Di={id:"formula.mutation.register-function",type:S.CommandType.MUTATION,handler:()=>!0},fn={id:"formula.mutation.set-array-formula-data",type:S.CommandType.MUTATION,handler:(i,o)=>!0},pc=/[^0-9]/g,Nc=/[^A-Za-z]/g;function jr(i){let o=i[0]==="$";const e=i.substring(1);let t=e.indexOf("$")>-1;return S.Tools.isStringNumber(e)&&o&&!t&&(o=!1,t=!0),o&&t?S.AbsoluteRefType.ALL:o?S.AbsoluteRefType.COLUMN:t?S.AbsoluteRefType.ROW:S.AbsoluteRefType.NONE}function Vc(i){const o=i.split("!");o.length>1&&(i=o[o.length-1]);const e=i.split(":");return e.length>1?{startAbsoluteRefType:jr(e[0]),endAbsoluteRefType:jr(e[1])}:{startAbsoluteRefType:jr(e[0])}}function wi(i=S.AbsoluteRefType.NONE){let o="",e="";return i===S.AbsoluteRefType.ROW?o="$":i===S.AbsoluteRefType.COLUMN?e="$":i===S.AbsoluteRefType.ALL&&(o="$",e="$"),{rowAbsoluteString:o,columnAbsoluteString:e}}function pt(i){const{startColumn:o,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:n,endAbsoluteRefType:s,rangeType:a=S.RANGE_TYPE.NORMAL}=i,u=wi(n),l=wi(s);if(a===S.RANGE_TYPE.ROW||a===S.RANGE_TYPE.ALL){const m=`${u.rowAbsoluteString}${e+1}`,d=`${l.rowAbsoluteString}${r+1}`;return`${m}:${d}`}if(a===S.RANGE_TYPE.COLUMN){const m=`${u.columnAbsoluteString}${S.Tools.chatAtABC(o)}`,d=`${l.columnAbsoluteString}${S.Tools.chatAtABC(t)}`;return`${m}:${d}`}const c=`${u.columnAbsoluteString}${S.Tools.chatAtABC(o)}${u.rowAbsoluteString}${e+1}`,f=`${l.columnAbsoluteString}${S.Tools.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`;return c===f?c:`${c}:${f}`}function Li(i,o){return`${Ui(i)}!${pt(o)}`}function Pi(i,o,e){return dn(i)||dn(o)?`'[${Cn(i)}]${Cn(o)}'!${pt(e)}`:`[${i}]${o}!${pt(e)}`}function mn(i){const{unitId:o,sheetName:e,range:t}=i;return o!=null&&o.length>0&&e!=null&&e.length>0?Pi(o,e,t):e!=null&&e.length>0?Li(e,t):pt(t)}function hn(i){const o=Number.parseInt(i.replace(pc,""))-1,e=S.Tools.ABCatNum(i.replace(Nc,"")),t=jr(i);return{row:o,column:e,absoluteRefType:t}}function gn(i){const o=li.exec(i);let e="";o!=null&&(e=o[0].trim(),e=ps(e.slice(1,e.length-1)),i=i.replace(li,""));const t=i.indexOf("!");let r="",n="";return t>-1?(r=i.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),r=ps(r),n=i.substring(t+1)):n=i,{refBody:n,sheetName:r,unitId:e}}function fr(i){const{refBody:o,sheetName:e,unitId:t}=gn(i),r=o.indexOf(":");if(r===-1){const _=hn(o),C=_.row,E=_.column,R=_.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:C,startColumn:E,endRow:C,endColumn:E,startAbsoluteRefType:R,endAbsoluteRefType:R}}}const n=o.substring(0,r),s=o.substring(r+1),a=hn(n),u=hn(s),l=a.row>u.row?u.row:a.row,c=a.column>u.column?u.column:a.column,f=a.row>u.row?a.row:u.row,m=a.column>u.column?a.column:u.column;let d=S.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(f)?d=S.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(m)&&(d=S.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:f,endColumn:m,startAbsoluteRefType:a.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:d}}}const Oc=["LOG10"];function Tr(i){const o=ji(i);if(!ys(o)||Oc.includes(o.toUpperCase().trim()))return!1;const{range:e}=fr(o);return!(e.endColumn>=16384)}function ji(i){const o=[];let e=!1;for(let t=0,r=i.length;t<r;t++){const n=i[t];if(n===Fl&&!e)o.push(n);else{if(!e&&(n===De.AT||n===De.MINUS||n===De.PLUS))continue;o.push(n),e=!0}}return o.join("")}function Sc(i,o){const e=(i==null?void 0:i.split(","))||[];return i===""||e.length===0?[]:Ti(i)?e.map(n=>{const s=fr(n);return{unitId:s.unitId,sheetId:o(s.sheetName),range:s.range,sheetName:s.sheetName}}):[]}function Ti(i){return((i==null?void 0:i.split(","))||[]).every(e=>Tr(e.trim()))}function dn(i){return i.length===0?!1:!!(ui(i)||Mc(i)||Dc(i)||wc(i)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(i))}function Ui(i){return dn(i)?`'${Cn(i)}'`:i}function Cn(i){return i.replace(/'/g,"''")}function ps(i){return i.replace(/''/g,"'")}function Mc(i){const o=i.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(i)&&o!==null}function Dc(i){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(i)}function wc(i){return!new RegExp("^\\p{Letter}","u").test(i.charAt(0))}function xi(i){const o=i.indexOf("[");return o===-1?{tableName:i,struct:""}:{tableName:i.slice(0,o),columnStruct:i.slice(o)}}var Lc=Object.getOwnPropertyDescriptor,Pc=(i,o,e,t)=>{for(var r=t>1?void 0:t?Lc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},jc=(i,o)=>(e,t)=>o(e,t,i);w.DefinedNamesService=class extends S.Disposable{constructor(e){super();A(this,"_definedNameMap",{});A(this,"_nameCacheMap",{});A(this,"_update$",new Oe.Subject);A(this,"update$",this._update$.asObservable());A(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});A(this,"_currentRange$",new Oe.Subject);A(this,"currentRange$",this._currentRange$.asObservable());A(this,"_focusRange$",new Oe.Subject);A(this,"focusRange$",this._focusRange$.asObservable());this._univerInstanceService=e}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var n;const{sheetName:r}=gn(t);return(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetName(r)}focusRange(e,t){const r=this.getValueById(e,t);r!==void 0&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return pt(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._updateCache(e),this._update()}registerDefinedName(e,t){this._definedNameMap[e]===void 0&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._updateCache(e),this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._updateCache(e),this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._updateCache(e),this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){const r=this._nameCacheMap[e];if(r)return r[t.toLowerCase()]||null;const n=this._definedNameMap[e];if(n===void 0)return null;let s=null;for(const a of Object.values(n))if(a.name===t){s=a;break}return s&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=s),s}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]===void 0?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}getAllDefinedNames(){return this._definedNameMap}getDefinedNameByRefString(e,t){if(this._definedNameMap[e]){for(const[r,n]of Object.entries(this._definedNameMap[e]))if(n.formulaOrRefString===t)return n}}_update(){this._update$.next(null)}_updateCache(e){const t=this._definedNameMap[e];if(t===void 0){delete this._nameCacheMap[e];return}this._nameCacheMap[e]={};for(const r of Object.values(t))this._nameCacheMap[e][r.name.toLowerCase()]=r}},w.DefinedNamesService=Pc([jc(0,S.IUniverInstanceService)],w.DefinedNamesService);const $t=S.createIdentifier("univer.formula.defined-names.service"),Tc=(i,o)=>{const{unitId:e,id:t}=o;return{...i.get($t).getValueById(e,t),unitId:e}},Ns={id:"formula.mutation.set-defined-name",type:S.CommandType.MUTATION,handler:(i,o)=>{if(o==null)return!1;const e=i.get($t),{id:t,unitId:r,name:n,formulaOrRefString:s,comment:a,hidden:u,localSheetId:l,formulaOrRefStringWithPrefix:c}=o;return e.registerDefinedName(r,{id:t,name:n.trim(),formulaOrRefString:s.trim(),comment:a==null?void 0:a.trim(),hidden:u,localSheetId:l,formulaOrRefStringWithPrefix:c}),!0}},vi={id:"formula.mutation.remove-defined-name",type:S.CommandType.MUTATION,handler:(i,o)=>{if(o==null)return!1;const e=i.get($t),{unitId:t,id:r}=o;return e.removeDefinedName(t,r),!0}},_n={id:"formula.mutation.set-feature-calculation",type:S.CommandType.MUTATION,handler:()=>!0},An={id:"formula.mutation.remove-feature-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Vs={id:"formula.mutation.set-formula-calculation-start",type:S.CommandType.MUTATION,handler:()=>!0},Ii={id:"formula.mutation.set-trigger-formula-calculation-start",type:S.CommandType.MUTATION,handler:()=>!0},Os={id:"formula.mutation.set-formula-string-batch-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Ss={id:"formula.mutation.set-formula-string-batch-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ms={id:"formula.mutation.set-formula-calculation-stop",type:S.CommandType.MUTATION,handler:()=>!0},Ur={id:"formula.mutation.set-formula-calculation-notification",type:S.CommandType.MUTATION,handler:()=>!0},En={id:"formula.mutation.set-formula-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ds={id:"formula.mutation.set-formula-dependency-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Rn={id:"formula.mutation.set-formula-dependency-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},ws={id:"formula.mutation.set-cell-formula-dependency-calculation",type:S.CommandType.MUTATION,handler:()=>!0},Ls={id:"formula.mutation.set-cell-formula-dependency-calculation-result",type:S.CommandType.MUTATION,handler:()=>!0},Ps={id:"formula.mutation.set-query-formula-dependency",type:S.CommandType.MUTATION,handler:()=>!0},js={id:"formula.mutation.set-query-formula-dependency-result",type:S.CommandType.MUTATION,handler:()=>!0},Ts={id:"formula.mutation.set-query-formula-dependency-all",type:S.CommandType.MUTATION,handler:()=>!0},Us={id:"formula.mutation.set-query-formula-dependency-all-result",type:S.CommandType.MUTATION,handler:()=>!0},xs={id:"formula.mutation.set-formula-data",type:S.CommandType.MUTATION,handler:(i,o)=>!0},vs={id:"formula.mutation.set-image-formula-data",type:S.CommandType.MUTATION,handler:(i,o)=>!0},xr={id:"formula.mutation.set-other-formula",type:S.CommandType.MUTATION,handler:()=>!0},vr={id:"formula.mutation.remove-other-formula",type:S.CommandType.MUTATION,handler:()=>!0};class Fi extends S.Disposable{constructor(){super();A(this,"_tableMap",new Map);A(this,"_tableOptionMap",new Map);A(this,"_update$",new Oe.Subject);A(this,"update$",this._update$.asObservable());this.registerTableOptionMap(Me.ALL,Me.ALL),this.registerTableOptionMap(Me.DATA,Me.DATA),this.registerTableOptionMap(Me.HEADERS,Me.HEADERS),this.registerTableOptionMap(Me.TOTALS,Me.TOTALS),this.registerTableOptionMap(Me.THIS_ROW,Me.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var n;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(n=this._tableMap.get(e))==null||n.set(t,r),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var r;return(r=this._tableMap.get(e))==null?void 0:r.get(t)}hasTable(e,t){const r=this._tableMap.get(e);return r?r.keys().some(n=>n.toLowerCase()===t.toLowerCase()):!1}_update(){this._update$.next(null)}}const mr=S.createIdentifier("univer.formula.super-table.service"),Bi={id:"formula.mutation.set-super-table",type:S.CommandType.MUTATION,handler:(i,o)=>{const{unitId:e,tableName:t,reference:r}=o;return i.get(mr).registerTable(e,t,r),!0}},ki={id:"formula.mutation.remove-super-table",type:S.CommandType.MUTATION,handler:(i,o)=>{const{unitId:e,tableName:t}=o;return i.get(mr).remove(e,t),!0}},$i={id:"formula.mutation.set-super-table-option",type:S.CommandType.MUTATION,handler:(i,o)=>{const{tableOption:e,tableOptionType:t}=o;return i.get(mr).registerTableOptionMap(e,t),!0}},Is=new Rt(1e5);function Yt(i){const o=Is.get(i);if(o)return o;const e=fr(i);return Is.set(i,e),fr(i)}function Uc(){Is.clear()}var xe=(i=>(i[i.NORMAL=0]="NORMAL",i[i.NUMBER=1]="NUMBER",i[i.STRING=2]="STRING",i[i.FUNCTION=3]="FUNCTION",i[i.REFERENCE=4]="REFERENCE",i[i.ARRAY=5]="ARRAY",i[i.DEFINED_NAME=6]="DEFINED_NAME",i[i.TABLE=7]="TABLE",i))(xe||{});function Fs(i){let o="";for(const e of i)typeof e=="string"?o+=e:o+=e.token;return o}class oe{constructor(){A(this,"_parent");A(this,"_token",bt);A(this,"_children",[]);A(this,"_lambdaId");A(this,"_functionDefinitionPrivacyVar");A(this,"_lambdaParameter","");A(this,"_startIndex",-1);A(this,"_endIndex",-1);A(this,"_definedNames",[])}dispose(){var o;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(o=this._functionDefinitionPrivacyVar)==null||o.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(o){this._lambdaId=o}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(o){this._functionDefinitionPrivacyVar=o}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(o){this._lambdaParameter=o}getParent(){return this._parent}setParent(o){this._parent=o}getChildren(){return this._children}setChildren(o){this._children=o}addChildren(o){this._children.push(o)}addChildrenFirst(o){this._children.unshift(o)}getToken(){return this._token}setToken(o){this._token=o}setIndex(o,e){this._startIndex=o,this._endIndex=e}setDefinedNames(o){this._definedNames=o}hasDefinedNames(){return this._definedNames.length>0}replaceChild(o,e){const t=this._getIndexInParent(o);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(o){const e=this.getParent();e&&e.removeChild(this),this.setParent(o),o.getChildren().push(this)}removeChild(o){const e=this._getIndexInParent(o);e!=null&&this.getChildren().splice(e,1)}serialize(){const o=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let n=0;n<r;n++){const s=e[n];s instanceof oe?t.push(s.serialize()):t.push(s)}return{token:o,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(o){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===o)return r}}const Yi=2e3,Bs=new Rt(Yi),ks=new Rt(Yi);class hr extends S.Disposable{constructor(){super(...arguments);A(this,"_currentLexerNode",new oe);A(this,"_upLevel",0);A(this,"_segment","");A(this,"_bracketState",[]);A(this,"_squareBracketState",0);A(this,"_bracesState",0);A(this,"_singleQuotationState",0);A(this,"_doubleQuotationState",0);A(this,"_lambdaState",!1);A(this,"_colonState",!1);A(this,"_formulaErrorCount",0);A(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Bs.clear(),ks.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 r=this._getCurrentParamIndex(e,t);if(r==null||r===h.VALUE)return;const n=r[0];if(typeof n=="string")return;let s=n.getParent(),a=n;for(;s;){const u=s.getToken();if(u!==nt&&!Mr(u)&&s.getStartIndex()!==-1){const l=s.getChildren().indexOf(a);return{functionName:u,paramIndex:l}}a=s,s=s.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,n=e[r];for(;(n===K.CLOSE_BRACKET||n===" ")&&r>=0;)n===K.CLOSE_BRACKET&&t++,n=e[--r];const s=this._getCurrentParamIndex(e,e.length-2);if(s==null||s===h.VALUE)return 0;const a=s[0];if(typeof a=="string")return 0;let u=a.getParent(),l=0;for(s[1]===K.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==nt&&c!==K.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==cr&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=ks.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const n=this.getSequenceNode(r);return ks.set(e,[...n]),n}convertRefersToAbsolute(e,t,r,n=""){const s=this.sequenceNodesBuilder(e);if(s==null)return e;let a="";e.substring(0,1)===z.EQUALS&&(a=z.EQUALS);for(let u=0,l=s.length;u<l;u++){const c=s[u];if(typeof c!="string"&&c.nodeType===xe.REFERENCE){const{token:f,endIndex:m}=c,d=Yt(f);if(d==null)continue;const{range:_,sheetName:C,unitId:E}=d,R={..._,startAbsoluteRefType:t,endAbsoluteRefType:r},y=mn({range:R,unitId:E,sheetName:C||n}),p=y.length-f.length;s[u]={...c,token:y,endIndex:m+p};for(let N=u+1;N<l;N++){const M=s[N];typeof M!="string"&&(M.startIndex+=p,M.endIndex+=p)}}}return`${a}${Fs(s)}`}moveFormulaRefOffset(e,t,r,n=!1){const s=this.sequenceNodesBuilder(e);if(s==null)return e;const a=[];for(let u=0,l=s.length;u<l;u++){const c=s[u];if(typeof c=="string"||c.nodeType!==xe.REFERENCE){a.push(c);continue}const{token:f}=c,m=Yt(f),{sheetName:d,unitId:_}=m;let C=m.range;if(!n&&C.startAbsoluteRefType===S.AbsoluteRefType.ALL&&C.endAbsoluteRefType===S.AbsoluteRefType.ALL){a.push(c);continue}else C=S.moveRangeByOffset(C,t,r,n);let E="";S.isValidRange(C)?E=mn({range:C,unitId:_,sheetName:d}):E=h.REF,a.push({...c,token:E})}return`=${Fs(a)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;const e=this._currentLexerNode.getChildren()[0];return e instanceof oe?!0:!!(this._passArrayOperator(e)||ct.has(e)||en.has(e)||e===De.AT||e===K.COMMA||e===K.COLON||e===K.OPEN_BRACKET)}_passArrayOperator(e){if(e.length===0||!(e[0]==="{"&&e[e.length-1]==="}"))return!1;const t=this._currentLexerNode.getChildren(),r=t[t.length-1];return r instanceof oe?!1:!!ct.has(r)}getSequenceNode(e){const t=[];let r=!1;for(let n=0,s=e.length;n<s;n++){const a=e[n],u=e[n-1],{segment:l,currentString:c}=a;if(c===K.DOUBLE_QUOTATION&&(r=!0),(l!==""||n===0)&&n!==s-1){t.push(c);continue}let f=(u==null?void 0:u.segment)||"";const m=n-f.length;let d=n-1;const _=n-1;if(n===s-1&&this._isLastMergeString(c)&&(f+=c,d+=1),f===""||Jr.has(f)){t.push(c);continue}const C=f.trim(),E=ji(C);r===!0&&C[C.length-1]===K.DOUBLE_QUOTATION&&C[0]!==K.OPEN_BRACES?(r=!1,this._processPushSequenceNode(t,xe.STRING,f,m,d,_)):wr(E)&&Tr(E)?this._processPushSequenceNode(t,xe.REFERENCE,f,m,d,_):S.Tools.isStringNumber(C)?this._processPushSequenceNode(t,xe.NUMBER,f,m,d,_):C.length>0&&this._processPushSequenceNode(t,xe.FUNCTION,f,m,d,_),(n!==s-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,n,s,a){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:n,endIndex:s},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===K.DOUBLE_QUOTATION||S.Tools.isStringNumber(e)||!Mr(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let n=0;for(;n<r;){const s=e[n];if(typeof s=="string"){const a=e[n-1];if(s.trim()===K.CLOSE_BRACES&&a!=null&&typeof a!="string"&&a.nodeType===xe.FUNCTION&&a.token.trim().substring(0,1)===K.OPEN_BRACES){a.nodeType=xe.ARRAY,a.token+=s,a.endIndex+=s.length,n++;continue}t.push(s)}else{const a=e[n+1],u=e[n+2];a===K.COLON&&typeof s!="string"&&u!=null&&typeof u!="string"&&Tr((s.token+a+u.token).trim())&&(s.nodeType=xe.REFERENCE,s.token+=a+u.token,s.endIndex=u.endIndex,n+=2),t.push(s)}n++}return this._minusSplitSequenceNode(t)}_minusSplitSequenceNode(e){const t=[];for(const r of e){if(typeof r!="string"){const s=r.token.match(/^(\s*([-@+]\s*)+)(.*)$/);if(s){const a=s[1],u=s[3];if(Tr(u.trim())){const l=a.length,c=r.startIndex,f=r.startIndex+l-1,m={nodeType:xe.NORMAL,token:a,startIndex:c,endIndex:f},d={nodeType:xe.REFERENCE,token:u,startIndex:f+1,endIndex:r.endIndex};t.push(m),t.push(d);continue}}}t.push(r)}return t}_pushSequenceNode(e,t,r){const n=r-t.startIndex+1;e.splice(e.length-n,n,t)}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r){var f;if(t===!0){const m=Bs.get(e),d=r&&((f=this._simpleCheckDefinedName)==null?void 0:f.call(this,e,r));if(m&&!d)return m}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(bt);const n=[];let s=this._nodeMaker(e,n);if(s===h.VALUE||n.length===0)return s;let a=!1,u="",l=[];if(r){const{hasDefinedName:m,sequenceString:d,definedNames:_}=this._handleDefinedName(n,r);a=m,u=d,l=_}if(a&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(bt),s=this._nodeMaker(`=${u}`),s===h.VALUE))return s;const c=this._getTopNode(this._currentLexerNode);if(c&&(this._currentLexerNode=c),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return h.VALUE;Bs.set(e,this._currentLexerNode)}return a&&this._currentLexerNode.setDefinedNames(l),this._currentLexerNode}_handleDefinedName(e,t){const{unitId:r,getValueByName:n,getSheetName:s}=t;if(r==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const a=this.getSequenceNode(e);let u="",l=!1;const c=[];for(let f=0,m=a.length;f<m;f++){const d=a[f];if(typeof d=="string"){u+=d;continue}const{nodeType:_,token:C}=d;let E=C;if(_===xe.REFERENCE||_===xe.FUNCTION){_===xe.FUNCTION&&(E=this._getHasSheetNameDefinedName(C,r,t));const R=n(r,E);if(R){const y=R.formulaOrRefString,p=this._handleNestedDefinedName(y,t);if(p==null||typeof p!="object")u+=p||h.NAME,l=!0,c.push(E);else if(typeof p=="object"){const{sequenceString:N,definedNames:M}=p;u+=N,M.forEach(D=>{c.push(D)}),l=!0}}else this._checkDefinedNameDirty(E,t)?(u+=h.NAME,l=!0,c.push(E)):u+=E}else u+=E}return{sequenceString:u,hasDefinedName:l,definedNames:c}}_getHasSheetNameDefinedName(e,t,r){if(!e.includes("!"))return e;const n=e.split("!");if(n.length!==2)return e;const s=n[0],a=n[1].trim(),u=r.getValueByName(t,a);if(!u)return e;const l=u.localSheetId;if(l!==void 0){if(l==="AllDefaultWorkbook")return a;const c=r.getSheetName(t,l);if(s===c)return a}else return a;return e}_handleNestedDefinedName(e,t){const r=[],n=this._nodeMaker(e,r);return n===h.VALUE||r.length===0?n:this._handleDefinedName(r,t)}_simpleCheckDefinedName(e,t){const{getDirtyDefinedNameMap:r,unitId:n}=t,s=r(),a=n;if(a!=null&&s[a]!=null){const u=Object.keys(s[a]);for(let l=0,c=u.length;l<c;l++){const f=u[l];if(e.indexOf(f)>-1)return!0}}return!1}_checkDefinedNameDirty(e,t){const{getDirtyDefinedNameMap:r,unitId:n}=t,s=r(),a=n;if(a!=null&&s[a]!=null){const u=Object.keys(s[a]);for(let l=0,c=u.length;l<c;l++)if(u[l]===e)return!0}return!1}_suffixExpressionHandler(e){var u;const t=e.getChildren();if(!t)return!1;const r=t.length,n=[],s=[];let a=!0;for(let l=0;l<r;l++){const c=t[l];if(c instanceof oe)a=this._suffixExpressionHandler(c),n.push(c);else{const f=c.trim();if(f==="")continue;if(ct.has(f)){if(f===z.PLUS&&this._deletePlusForPreNode(t[l-1]))continue;if(f!==z.PLUS&&f!==z.MINUS&&this._deletePlusForPreNode(t[l-1]))return!1;for(;s.length>0;){const m=(u=s[s.length-1])==null?void 0:u.trim();if(!m||m===K.OPEN_BRACKET)break;const d=Jr.get(m),_=Jr.get(f);if(d===void 0||_===void 0)break;if(_>=d)n.push(s.pop());else break}s.push(c)}else if(f===K.OPEN_BRACKET)s.push(c);else if(f===K.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(n,s,t,l);else{if(this._checkCloseBracket(t[l-1]))return!1;n.push(c)}}}return a?this._processSuffixExpressionRemain(n,s,e):!1}_processSuffixExpressionRemain(e,t,r){const n=e.length,s=e[n-1];for(;t.length>0;){const a=t.pop();if(!(s instanceof oe)&&(a===K.OPEN_BRACKET||a===K.CLOSE_BRACKET))return!1;e.push(a)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,n){var s;if(this._checkOpenBracket(r[n-1])||this._checkOperator(r[n-1]))return!1;for(;t.length>0;){const a=(s=t[t.length-1])==null?void 0:s.trim();if(!a)break;if(a===K.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===K.CLOSE_BRACKET||e instanceof oe}_checkOpenBracket(e){return e===K.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof oe?!1:ct.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof oe)){const t=e.trim();if(ct.has(t)||t===K.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new oe}_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}_formalErrorOccurred(){this._formulaErrorCount+=1}_hasFormalError(){return this._formulaErrorCount>0}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof oe)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 r,n,s,a,u,l;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===kt){if((n=e==null?void 0:e.getParent())!=null&&n.getParent()){const c=(a=(s=this._currentLexerNode.getParent())==null?void 0:s.getParent())==null?void 0:a.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){let r=e;if(r!==""){const n=this._currentLexerNode.getChildren();if(!(r instanceof oe)&&this.isColonOpen()){const s=new oe;s.setToken(r),s.setParent(this._currentLexerNode),r=s}t?n.unshift(r):n.push(r)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,r=!1){const n=new oe;n.setToken(e),n.setIndex(t-e.length,t-1),this._setCurrentLexerNode(n,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_formulaErrorLastTokenCheck(e,t){const r=this._findPreviousToken(e,t)||"",n=e.length-1===t;if(!n&&this._isOperatorToken(r)||n&&Jl(r))return!0;if(en.has(r)){const s=this._findSecondLastNonSpaceToken(e,t);if(s==null||tc(s))return!0}return!1}_findPreviousToken(e,t){let r=t;for(;r>=0;){const n=e[r];if(n!==" ")return n;r--}}_findSecondLastNonSpaceToken(e,t){let r=t,n=0;for(;r>=0;){const s=e[r];if(s!==" "&&(n++,n===2))return s;r--}return null}_findNextToken(e,t){let r=t;for(;r>=0;){const n=e[r];if(n!==" ")return n;r++}}_unexpectedEndingTokenExcludeOperator(e){return e===K.OPEN_BRACKET||e===K.COMMA||e===z.EQUALS||e===""}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!ct.has(e)}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new oe,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1,this._formulaErrorCount=0}_checkErrorState(){return!!(this._bracketState.length>0||this._bracesState>0||this._singleQuotationState>0||this._doubleQuotationState>0||this._hasFormalError())}_checkSimilarErrorToken(e,t,r){let n=t;if(e!==Ke.POUND)return!0;let s=r[++n];for(;s===" ";)s=r[++n];return!!Mr(s)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let r=0;r<ti.length;r++){const n=ti[r],s=t.slice(e,e+n).join("").toUpperCase();if(wt.has(s))return s}}_nodeMaker(e,t,r){let n=e.replace(/\r\n$|\r|\n/g," ");n.substring(0,1)===z.EQUALS&&(n=n.substring(1));const s=n.split(""),a=s.length;this._resetTemp(),this._formulaErrorLastTokenCheck(s,a-1)&&this._formalErrorOccurred();let u=0;for(;u<a;){const l=s[u];if(r===u)return[this._currentLexerNode,l];if(l===Ke.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(u,s)){const c=this._findErrorObject(u,s);if(c==null)return h.VALUE;this._pushNodeToChildren(c);for(let f=0;f<c.length;f++){const m=s[u];this._pushSegment(m),this._addSequenceArray(t,m,u),u++}this._resetSegment();continue}else if(l===K.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=s[u+1];if(c&&c===K.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==a-1)return h.VALUE;this._addSequenceArray(t,l,u),u++,this._addSequenceArray(t,c,u),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(nt,u)}else this._pushNodeToChildren(l),this._openBracket(0),this._resetSegment();else if(l===K.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(s,u-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const f=s[u+1];if(f&&f===K.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==a-1)return h.VALUE;this._newAndPushCurrentLexerNode(kt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==a-1)return h.VALUE}else return h.VALUE;this._closeBracket()}else if(l===K.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(l),this._openBraces(),!this._formulaSpellCheck())return h.VALUE}else if(l===K.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===K.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===K.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===K.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=s[u+1];c&&c===K.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===K.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{const c=s[u+1];if(c&&c===K.SINGLE_QUOTATION){this._pushSegment(l),this._addSequenceArray(t,l,u),u++,this._pushSegment(c),this._addSequenceArray(t,c,u),u++;continue}else this._closeSingleQuotation()}this._pushSegment(l)}else if(l===K.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(s,u-1)&&this._formalErrorOccurred();const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==a-1&&c!=null)return h.VALUE;this._newAndPushCurrentLexerNode(nt,u)}else{const f=new oe;f.setToken(yc);const m=new oe;m.setToken(nt),m.changeToParent(f);const d=this._currentLexerNode.getParent();if(d&&d.getToken()===K.COLON){const _=d.getParent();if(!_)return h.VALUE;d.changeToParent(m),_.setChildren([]),f.changeToParent(_)}else return h.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=f,this._newAndPushCurrentLexerNode(nt,u)}}else if(l===K.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new oe;c.setToken(l);const f=new oe;f.setToken(nt),f.setParent(c);const m=new oe;m.setToken(nt),m.setParent(c),c.getChildren().push(f,m);let d=c,_=0;if(this._segmentCount()>0){let C,E,R=0;const y=this._segment.trim(),p=y[0],N=y[1];if(p===De.MINUS&&(C=new oe,C.setToken(De.MINUS),C.setIndex(u-this._segment.length,u-this._segment.length),R++),p===De.AT||N===De.AT){E=new oe,E.setToken(De.AT);const D=u-this._segment.length+R;E.setIndex(D,D),C&&(C.addChildren(E),E.setParent(C)),R++}if(R>0&&(this._segment=y.slice(R)),_=R,E)if(E.addChildren(c),c.setParent(E),E.getParent()){const D=E.getParent();D&&(d=D)}else d=E;else C&&(d=C,C.addChildren(c),c.setParent(C));const M=new oe;M.setToken(this._segment),M.setParent(f),M.setIndex(u-this._segment.length,u-1),f.getChildren().push(M),this._resetSegment()}else{const C=this._getLastChildCurrentLexerNode();C&&C.changeToParent(f)}this._setCurrentLexerNode(d),this._currentLexerNode=m,this._openColon(_)}else if(en.has(l)&&this._checkSimilarErrorToken(l,u,s)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);const c=new oe;c.setToken(l),c.setIndex(u-1,u-1);const f=this._getLastChildCurrent();f instanceof oe?f.changeToParent(c):f!==!1&&(c.getChildren().push(f),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(ct.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let c=this._segment.trim();if(l===z.MINUS&&c===""){const f=this._findPreviousToken(s,u-1)||"",m=this._findNextToken(s,u+1)||"";if(this._unexpectedEndingTokenExcludeOperator(f)&&this._isOperatorToken(m)){this._pushNodeToChildren("0"),this._pushNodeToChildren(z.MINUS),this._addSequenceArray(t,l,u),this._resetSegment(),u++;continue}else if(this._unexpectedEndingToken(f))if(m===z.PLUS){this._pushSegment(z.MINUS),this._addSequenceArray(t,l,u),this._addSequenceArray(t,z.PLUS,u+1),u+=2;continue}else{this._pushSegment(z.MINUS),this._addSequenceArray(t,l,u),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(s,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===z.LESS_THAN||l===z.GREATER_THAN){const f=s[u+1];if(f&&ct.has(l+f)){this._pushNodeToChildren(c+l+f),this._resetSegment(),this._addSequenceArray(t,l,u),u++,this._addSequenceArray(t,f,u),u++;continue}else this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else(this._segment!==""||l!==" ")&&this._pushSegment(l);this._addSequenceArray(t,l,u),u++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return h.VALUE}_isScientificNotation(e,t,r){const n=e[t-2];if(n&&Number.isNaN(Number(n))||!(r===z.MINUS||r===z.PLUS))return!1;const s=e[t+1];if(s&&Number.isNaN(Number(s)))return!1;const a=e[t-1];return a&&a.toUpperCase()==="E"}_addSequenceArray(e,t,r){e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,r,n,s){return null}}function xc(i,o,e,t,r,n,s){const a=(s==null?void 0:s.f)||"",u=(s==null?void 0:s.si)||"",l=S.isFormulaString(a),c=S.isFormulaId(u),f=i.getValue(r,n),m=(f==null?void 0:f.f)||"",d=(f==null?void 0:f.si)||"";function _(){var C;if(S.isFormulaString(m)&&S.isFormulaId(d)){const E=(C=e==null?void 0:e[d])==null?void 0:C.f;E?t.set(d,E):t.set(d,m)}}l&&c?(d!==u&&_(),i.setValue(r,n,{f:a,si:u}),e[u]={f:a,r,c:n},o.setValue(r,n,{f:a,si:u})):l&&!c?(m!==a&&_(),i.setValue(r,n,{f:a}),o.setValue(r,n,{f:a})):!l&&c?(d!==u&&_(),i.setValue(r,n,{f:"",si:u})):!l&&!c&&i.getValue(r,n)&&(_(),i.realDeleteValue(r,n),o.setValue(r,n,null))}function vc(i,o,e,t){const r=i==null?void 0:i.getValue(e,t);if(r==null)return!0;const n=[];i.forValue((c,f,m)=>{c===e&&f===t||S.Rectangle.intersects(m,r)&&n.push(m)});const{startRow:s,startColumn:a,endRow:u,endColumn:l}=r;for(let c=s;c<=u;c++)for(let f=a;f<=l;f++){let m=!1;const d=S.cellToRange(c,f);n.some(_=>S.Rectangle.contains(_,d)?(m=!0,!0):!1),m||o.realDeleteValue(c,f)}}var Ic=Object.getOwnPropertyDescriptor,Fc=(i,o,e,t)=>{for(var r=t>1?void 0:t?Ic(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Hi=(i,o)=>(e,t)=>o(e,t,i);w.FormulaDataModel=class extends S.Disposable{constructor(e,t){super();A(this,"_arrayFormulaRange",{});A(this,"_arrayFormulaCellData",{});A(this,"_unitImageFormulaData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{var c,f,m,d;const s=r[n],a=(f=(c=this._arrayFormulaRange)==null?void 0:c[t])==null?void 0:f[n];if(a==null)return!0;const u=new S.ObjectMatrix(a);let l=new S.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[n])!=null&&(l=new S.ObjectMatrix((d=this._arrayFormulaCellData[t])==null?void 0:d[n])),s.forValue((_,C)=>{const E=u.getValue(_,C);if(E==null)return!0;const{startRow:R,startColumn:y,endRow:p,endColumn:N}=E;for(let M=R;M<=p;M++)for(let D=y;D<=N;D++)l.setValue(M,D,null);u.realDeleteValue(_,C)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][n]=l.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(n=>{var l,c;const s=r[n],a=new S.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[n]),u=new S.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[n]);s.forValue((f,m)=>{const d=a==null?void 0:a.getValue(f,m);if(d==null)return!0;const{startRow:_,startColumn:C,endRow:E,endColumn:R}=d;for(let y=_;y<=E;y++)for(let p=C;p<=R;p++)u.setValue(y,p,null)}),s.forValue((f,m,d)=>{u.setValue(f,m,d)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][n]=u.getData())})})}getFormulaData(){const e={},t=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET);return t.length===0||t.forEach(r=>{const n=r.getUnitId();e[n]={},r.getSheets().forEach(a=>{const u=a.getCellMatrix(),l=a.getSheetId();$s(e,n,l,u)})}),e}getSheetFormulaData(e,t){const r={},n=this._univerInstanceService.getUnit(e);if(n==null)return{};r[e]={};const s=n.getSheetBySheetId(t);if(s==null)return{};const a=s.getCellMatrix();return $s(r,e,t,a),r[e][t]}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getUnitImageFormulaData(){return this._unitImageFormulaData}setUnitImageFormulaData(e){this._unitImageFormulaData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(n=>{var u;const s=new S.ObjectMatrix(r[n]),a=new S.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[n]);s.forValue((l,c,f)=>{a.setValue(l,c,f)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][n]=a.getData())})})}mergeUnitImageFormulaData(e){const t=Object.keys(e);for(let r=0;r<t.length;r++){const n=t[r],s=e[n];if(!s)continue;this._unitImageFormulaData[n]||(this._unitImageFormulaData[n]={});const a=Object.keys(s);for(let u=0;u<a.length;u++){const l=a[u],c=s[l];c&&(this._unitImageFormulaData[n][l]||(this._unitImageFormulaData[n][l]=new S.ObjectMatrix),c.forValue((f,m,d)=>{this._unitImageFormulaData[n][l].setValue(f,m,d)}))}}}deleteArrayFormulaRange(e,t,r,n){var u;const s=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(s==null)return;const a=new S.ObjectMatrix(s);a.getValue(r,n)&&(a.realDeleteValue(r,n),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=a.getData()))}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET),t={},r={},n={};for(const s of e){const a=s.getUnitId(),u=s.getSheets(),l={},c={};for(const f of u){const m=f.getSheetId(),d=f.getConfig();l[m]={cellData:new S.ObjectMatrix(d.cellData),rowCount:d.rowCount,columnCount:d.columnCount,rowData:d.rowData,columnData:d.columnData,defaultRowHeight:d.defaultRowHeight,defaultColumnWidth:d.defaultColumnWidth},c[f.getName()]=f.getSheetId()}t[a]=l,r[a]=s.getStyles(),n[a]=c}return{allUnitData:t,unitStylesData:r,unitSheetNameMap:n}}getHiddenRowsFiltered(){const e=this._univerInstanceService.getAllUnitsForType(S.UniverInstanceType.UNIVER_SHEET),t={};for(const r of e){const n=r.getUnitId(),s=r.getSheets();t[n]={};for(const a of s){const u=a.getSheetId();t[n][u]={};const l=0,c=a.getRowCount()-1,f={};for(let m=l;m<=c;m++)a.getRowVisible(m)||(f[m]={hd:S.BooleanNumber.TRUE});t[n][u]=f}}return t}updateFormulaData(e,t,r){const n=new S.ObjectMatrix(r),s=this._getSheetFormulaIdMap(e,t),a=new Map,u=this.getFormulaData();u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new S.ObjectMatrix(l[t]||{}),f=new S.ObjectMatrix;return n.forValue((m,d,_)=>{xc(c,f,s,a,m,d,_)}),c.forValue((m,d,_)=>{const C=(_==null?void 0:_.f)||"",E=(_==null?void 0:_.si)||"";if(S.isFormulaId(E)){const R=s==null?void 0:s[E],y=a.get(E);if(R&&!S.isFormulaString(C)){const p=R.f,N=d-R.c,M=m-R.r;c.setValue(m,d,{f:p,si:E,x:N,y:M}),f.setValue(m,d,{f:p,si:E,x:N,y:M})}else if(typeof y=="string"){const p=(_==null?void 0:_.x)||0,N=(_==null?void 0:_.y)||0,M=this._lexerTreeBuilder.moveFormulaRefOffset(y,p,N);a.set(E,{r:m,c:d,f:M}),c.setValue(m,d,{f:M,si:E}),f.setValue(m,d,{f:M,si:E})}else if(typeof y=="object"){const p=d-y.c,N=m-y.r;c.setValue(m,d,{f:y.f,si:E,x:p,y:N}),f.setValue(m,d,{f:y.f,si:E,x:p,y:N})}}}),f.getMatrix()}updateArrayFormulaRange(e,t,r){var u;const n=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!n)return;const s=new S.ObjectMatrix(n);new S.ObjectMatrix(r).forValue((l,c,f)=>{s.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,r){var c,f;const n=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!n)return;const s=new S.ObjectMatrix(n),a=(f=this._arrayFormulaCellData[e])==null?void 0:f[t];if(!a)return;const u=new S.ObjectMatrix(a);new S.ObjectMatrix(r).forValue((m,d,_)=>{vc(s,u,m,d)})}updateImageFormulaData(e,t,r){var a;const n=(a=this._unitImageFormulaData[e])==null?void 0:a[t];if(!n)return;new S.ObjectMatrix(r).forValue((u,l)=>{n.realDeleteValue(u,l)})}getFormulaStringByCell(e,t,r,n){const s=this._univerInstanceService.getUnit(n);if(s==null)return null;const a=s.getSheetBySheetId(r);if(a==null)return null;const u=a.getCellMatrix(),l=u.getValue(e,t);if(l==null)return null;const{f:c,si:f}=l;if(S.isFormulaString(c))return c;if(S.isFormulaId(f)){let m=null;return u.forValue((d,_,C)=>{if(C==null)return!0;const{f:E,si:R}=C;if(S.isFormulaString(E)&&f===R)return m=this._lexerTreeBuilder.moveFormulaRefOffset(E,t-_,e-d),!1}),m}return null}getFormulaDirtyRanges(){const e=this.getFormulaData(),t=[];for(const r in e){const n=e[r];if(!n)continue;const s=this._univerInstanceService.getUnit(r);if(s)for(const a in n){const u=n[a];if(!u)continue;const l=s.getSheetBySheetId(a);if(!l)continue;const c={};for(const f of Object.keys(u)){const m=Number(f);for(const d in u[m]){const _=Number(d),C=l.getCellRaw(m,_),E=S.isFormulaString(C==null?void 0:C.f)||S.isFormulaId(C==null?void 0:C.si),R=(C==null?void 0:C.v)===void 0;if(!(E&&R))continue;c[_]||(c[_]=[]);const y=c[_].slice(-1)[0];y&&y.endRow===m-1?y.endRow=m:c[_].push({startRow:m,endRow:m})}}for(const f in c){const m=c[f];for(let d=0;d<m.length;d++){const _=m[d];t.push({unitId:r,sheetId:a,range:{rangeType:S.RANGE_TYPE.NORMAL,startRow:_.startRow,endRow:_.endRow,startColumn:Number(f),endColumn:Number(f)}})}}}}return t}_getSheetFormulaIdMap(e,t){const r={},n=this._univerInstanceService.getUnit(e);if(n==null)return r;const s=n.getSheetBySheetId(t);return s==null||s.getCellMatrix().forValue((u,l,c)=>{if(c==null)return!0;const{f,si:m}=c;S.isFormulaString(f)&&S.isFormulaId(m)&&(r[m]={f,r:u,c:l})}),r}},w.FormulaDataModel=Fc([Hi(0,S.IUniverInstanceService),Hi(1,S.Inject(hr))],w.FormulaDataModel);function $s(i,o,e,t){i[o]||(i[o]={}),i[o][e]||(i[o][e]={});const r=new Map,n=new S.ObjectMatrix(i[o][e]);t.forValue((a,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"",m=S.isFormulaString(c),d=S.isFormulaId(f);m&&d?(n.setValue(a,u,{f:c,si:f}),r.set(f,{f:c,r:a,c:u})):m&&!d?n.setValue(a,u,{f:c}):!m&&d&&n.setValue(a,u,{f:"",si:f})}),n.forValue((a,u,l)=>{const c=(l==null?void 0:l.f)||"",f=(l==null?void 0:l.si)||"";if(S.isFormulaId(f)&&!S.isFormulaString(c)){const m=r.get(f);if(m){const d=m.f,_=u-m.c,C=a-m.r;n.setValue(a,u,{f:d,si:f,x:_,y:C})}else n.realDeleteValue(a,u)}});const s=n.getMatrix();return{[o]:{[e]:s}}}const Bc=class ei{constructor(o,e){this.low=o,this.high=e}clone(){return new ei(this.low,this.high)}get max(){return this.clone()}less_than(o){return this.low<o.low||this.low===o.low&&this.high<o.high}equal_to(o){return this.low===o.low&&this.high===o.high}intersect(o){return!this.not_intersect(o)}not_intersect(o){return this.high<o.low||o.high<this.low}merge(o){return new ei(this.low===void 0?o.low:this.low<o.low?this.low:o.low,this.high===void 0?o.high:this.high>o.high?this.high:o.high)}output(){return[this.low,this.high]}static comparable_max(o,e){return o.merge(e)}static comparable_less_than(o,e){return o<e}},Te=0,ye=1;class Ht{constructor(o=void 0,e=void 0,t=null,r=null,n=null,s=ye){if(this.left=t,this.right=r,this.parent=n,this.color=s,this.item={key:o,value:e},o&&o instanceof Array&&o.length===2&&!Number.isNaN(o[0])&&!Number.isNaN(o[1])){let[a,u]=o;a>u&&([a,u]=[u,a]),this.item.key=new Bc(a,u)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===ye}_value_less_than(o){return this.item.value&&o.item.value&&this.item.value.less_than?this.item.value.less_than(o.item.value):this.item.value<o.item.value}less_than(o){return this.item.value===this.item.key&&o.item.value===o.item.key?this.item.key.less_than(o.item.key):this.item.key.less_than(o.item.key)||this.item.key.equal_to(o.item.key)&&this._value_less_than(o)}_value_equal(o){return this.item.value&&o.item.value&&this.item.value.equal_to?this.item.value.equal_to(o.item.value):this.item.value===o.item.value}equal_to(o){return this.item.value===this.item.key&&o.item.value===o.item.key?this.item.key.equal_to(o.item.key):this.item.key.equal_to(o.item.key)&&this._value_equal(o)}intersect(o){return this.item.key.intersect(o.item.key)}copy_data(o){this.item.key=o.item.key,this.item.value=o.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){const o=this.item.key.constructor.comparable_max;this.max=o(this.max,this.right.max)}if(this.left&&this.left.max){const o=this.item.key.constructor.comparable_max;this.max=o(this.max,this.left.max)}}not_intersect_left_subtree(o){const e=this.item.key.constructor.comparable_less_than;let t=this.left.max.high!==void 0?this.left.max.high:this.left.max;return e(t,o.item.key.low)}not_intersect_right_subtree(o){const e=this.item.key.constructor.comparable_less_than;let t=this.right.max.low!==void 0?this.right.max.low:this.right.item.key.low;return e(o.item.key.high,t)}}class Ys{constructor(){this.root=null,this.nil_node=new Ht}get size(){let o=0;return this.tree_walk(this.root,()=>o++),o}get keys(){let o=[];return this.tree_walk(this.root,e=>o.push(e.item.key.output?e.item.key.output():e.item.key)),o}get values(){let o=[];return this.tree_walk(this.root,e=>o.push(e.item.value)),o}get items(){let o=[];return this.tree_walk(this.root,e=>o.push({key:e.item.key.output?e.item.key.output():e.item.key,value:e.item.value})),o}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(o,e=o){if(o===void 0)return;let t=new Ht(o,e,this.nil_node,this.nil_node,null,Te);return this.tree_insert(t),this.recalc_max(t),t}exist(o,e=o){let t=new Ht(o,e);return!!this.tree_search(this.root,t)}remove(o,e=o){let t=new Ht(o,e),r=this.tree_search(this.root,t);return r&&this.tree_delete(r),r}search(o,e=(t,r)=>t===r?r.output():t){let t=new Ht(o),r=[];return this.tree_search_interval(this.root,t,r),r.map(n=>e(n.item.value,n.item.key))}intersect_any(o){let e=new Ht(o);return this.tree_find_any_interval(this.root,e)}forEach(o){this.tree_walk(this.root,e=>o(e.item.key,e.item.value))}map(o){const e=new Ys;return this.tree_walk(this.root,t=>e.insert(t.item.key,o(t.item.value,t.item.key))),e}*iterate(o,e=(t,r)=>t===r?r.output():t){let t;for(o?t=this.tree_search_nearest_forward(this.root,new Ht(o)):this.root&&(t=this.local_minimum(this.root));t;)yield e(t.item.value,t.item.key),t=this.tree_successor(t)}recalc_max(o){let e=o;for(;e.parent!=null;)e.parent.update_max(),e=e.parent}tree_insert(o){let e=this.root,t=null;if(this.root==null||this.root===this.nil_node)this.root=o;else{for(;e!==this.nil_node;)t=e,o.less_than(e)?e=e.left:e=e.right;o.parent=t,o.less_than(t)?t.left=o:t.right=o}this.insert_fixup(o)}insert_fixup(o){let e,t;for(e=o;e!==this.root&&e.parent.color===Te;)e.parent===e.parent.parent.left?(t=e.parent.parent.right,t.color===Te?(e.parent.color=ye,t.color=ye,e.parent.parent.color=Te,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,this.rotate_left(e)),e.parent.color=ye,e.parent.parent.color=Te,this.rotate_right(e.parent.parent))):(t=e.parent.parent.left,t.color===Te?(e.parent.color=ye,t.color=ye,e.parent.parent.color=Te,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,this.rotate_right(e)),e.parent.color=ye,e.parent.parent.color=Te,this.rotate_left(e.parent.parent)));this.root.color=ye}tree_delete(o){let e,t;o.left===this.nil_node||o.right===this.nil_node?e=o:e=this.tree_successor(o),e.left!==this.nil_node?t=e.left:t=e.right,t.parent=e.parent,e===this.root?this.root=t:(e===e.parent.left?e.parent.left=t:e.parent.right=t,e.parent.update_max()),this.recalc_max(t),e!==o&&(o.copy_data(e),o.update_max(),this.recalc_max(o)),e.color===ye&&this.delete_fixup(t)}delete_fixup(o){let e=o,t;for(;e!==this.root&&e.parent!=null&&e.color===ye;)e===e.parent.left?(t=e.parent.right,t.color===Te&&(t.color=ye,e.parent.color=Te,this.rotate_left(e.parent),t=e.parent.right),t.left.color===ye&&t.right.color===ye?(t.color=Te,e=e.parent):(t.right.color===ye&&(t.color=Te,t.left.color=ye,this.rotate_right(t),t=e.parent.right),t.color=e.parent.color,e.parent.color=ye,t.right.color=ye,this.rotate_left(e.parent),e=this.root)):(t=e.parent.left,t.color===Te&&(t.color=ye,e.parent.color=Te,this.rotate_right(e.parent),t=e.parent.left),t.left.color===ye&&t.right.color===ye?(t.color=Te,e=e.parent):(t.left.color===ye&&(t.color=Te,t.right.color=ye,this.rotate_left(t),t=e.parent.left),t.color=e.parent.color,e.parent.color=ye,t.left.color=ye,this.rotate_right(e.parent),e=this.root));e.color=ye}tree_search(o,e){if(!(o==null||o===this.nil_node))return e.equal_to(o)?o:e.less_than(o)?this.tree_search(o.left,e):this.tree_search(o.right,e)}tree_search_nearest_forward(o,e){let t,r=o;for(;r&&r!==this.nil_node;)r.less_than(e)?r.intersect(e)?(t=r,r=r.left):r=r.right:((!t||r.less_than(t))&&(t=r),r=r.left);return t||null}tree_search_interval(o,e,t){o!=null&&o!==this.nil_node&&(o.left!==this.nil_node&&!o.not_intersect_left_subtree(e)&&this.tree_search_interval(o.left,e,t),o.intersect(e)&&t.push(o),o.right!==this.nil_node&&!o.not_intersect_right_subtree(e)&&this.tree_search_interval(o.right,e,t))}tree_find_any_interval(o,e){let t=!1;return o!=null&&o!==this.nil_node&&(o.left!==this.nil_node&&!o.not_intersect_left_subtree(e)&&(t=this.tree_find_any_interval(o.left,e)),t||(t=o.intersect(e)),!t&&o.right!==this.nil_node&&!o.not_intersect_right_subtree(e)&&(t=this.tree_find_any_interval(o.right,e))),t}local_minimum(o){let e=o;for(;e.left!=null&&e.left!==this.nil_node;)e=e.left;return e}local_maximum(o){let e=o;for(;e.right!=null&&e.right!==this.nil_node;)e=e.right;return e}tree_successor(o){let e,t,r;if(o.right!==this.nil_node)e=this.local_minimum(o.right);else{for(t=o,r=o.parent;r!=null&&r.right===t;)t=r,r=r.parent;e=r}return e}rotate_left(o){let e=o.right;o.right=e.left,e.left!==this.nil_node&&(e.left.parent=o),e.parent=o.parent,o===this.root?this.root=e:o===o.parent.left?o.parent.left=e:o.parent.right=e,e.left=o,o.parent=e,o!=null&&o!==this.nil_node&&o.update_max(),e=o.parent,e!=null&&e!==this.nil_node&&e.update_max()}rotate_right(o){let e=o.left;o.left=e.right,e.right!==this.nil_node&&(e.right.parent=o),e.parent=o.parent,o===this.root?this.root=e:o===o.parent.left?o.parent.left=e:o.parent.right=e,e.right=o,o.parent=e,o!==null&&o!==this.nil_node&&o.update_max(),e=o.parent,e!=null&&e!==this.nil_node&&e.update_max()}tree_walk(o,e){o!=null&&o!==this.nil_node&&(this.tree_walk(o.left,e),e(o),this.tree_walk(o.right,e))}testRedBlackProperty(){let o=!0;return this.tree_walk(this.root,function(e){e.color===Te&&(e.left.color===ye&&e.right.color===ye||(o=!1))}),o}testBlackHeightProperty(o){let e=0,t=0,r=0;if(o.color===ye&&e++,o.left!==this.nil_node?t=this.testBlackHeightProperty(o.left):t=1,o.right!==this.nil_node?r=this.testBlackHeightProperty(o.right):r=1,t!==r)throw new Error("Red-black height property violated");return e+=t,e}}const Hs=Symbol("EMPTY_CELL");class kc{constructor(){A(this,"_cache",new Map);A(this,"_continueBuildingCache",new Map)}set(o,e,t,r,n,s=!1){if(!this.shouldContinueBuildingCache(o,e,t,n)&&!s)return;let a=this._cache.get(o);a==null&&(a=new Map,this._cache.set(o,a));let u=a.get(e);u==null&&(u=new Map,a.set(e,u));let l=u.get(t);if(l==null&&(l=new Map,u.set(t,l)),s){for(const[m,d]of l)if(d.has(n)){d.delete(n);break}}let c=typeof r=="string"?r.toLowerCase():r;(c===""||c===null)&&(c=Hs);let f=l.get(c);f==null&&(f=new Set,l.set(c,f)),f.add(n)}getCellValuePositions(o,e,t){var r,n;return(n=(r=this._cache.get(o))==null?void 0:r.get(e))==null?void 0:n.get(t)}getCellPositions(o,e,t,r,n){var u,l,c;let s=typeof r=="string"?r.toLowerCase():r;(s===""||s===null)&&(s=Hs);const a=(c=(l=(u=this._cache.get(o))==null?void 0:u.get(e))==null?void 0:l.get(t))==null?void 0:c.get(s);return a&&[...a].filter(f=>n.some(([m,d])=>f>=m&&f<=d))}setContinueBuildingCache(o,e,t,r,n){if(t===-1||r===-1||n===-1)return;let s=this._continueBuildingCache.get(o);s==null&&(s=new Map,this._continueBuildingCache.set(o,s));let a=s.get(e);a==null&&(a=new Map,s.set(e,a));let u=a.get(t);if(u==null){u=new Ys,u.insert([r,n]),a.set(t,u);return}this._handleNewInterval(u,r,n)}shouldContinueBuildingCache(o,e,t,r){var a,u;if(t===-1||r===-1)return!1;const n=(u=(a=this._continueBuildingCache.get(o))==null?void 0:a.get(e))==null?void 0:u.get(t);return n?n.search([r,r]).length===0:!0}canUseCache(o,e,t,r,n){var f,m;const s=(m=(f=this._continueBuildingCache.get(o))==null?void 0:f.get(e))==null?void 0:m.get(t);if(t===-1||r===-1||n===-1||!s)return{rowsInCache:[],rowsNotInCache:[]};const a=s.search([r,n]);if(a.length===0)return{rowsInCache:[],rowsNotInCache:[]};a.sort((d,_)=>d[0]-_[0]);const u=[],l=[];let c=r;for(let d=0;d<a.length;d++){const[_,C]=a[d];if(c>=_){if(n<=C){u.push([c,n]);break}u.push([c,C]),c=C+1,d===a.length-1&&c<=n&&l.push([c,n])}else{if(n>C){u.push([_,C]),l.push([c,_-1]),c=C+1,d===a.length-1&&c<=n&&l.push([c,n]);continue}u.push([_,n]),l.push([c,_-1])}}return{rowsInCache:u,rowsNotInCache:l}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(o,e,t){let r=o.search([e,t]);if(r.length===0){const a=[e-1<0?0:e-1,t+1];if(r=o.search(a),r.length===0){o.insert([e,t]);return}}let n=e,s=t;for(const a of r)n=Math.min(n,a[0]),s=Math.max(s,a[1]),o.remove(a);o.insert([n,s])}}const Ge=new kc,yn="engine-formula.config",Gi=1,$c="CYCLE_REFERENCE_COUNT",Yc="RETURN_DEPENDENCY_TREE",Wi={};class Qi extends S.Disposable{constructor(){super(...arguments);A(this,"_getRowFilteredCallback")}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,r){var n;return this._getRowFilteredCallback&&(n=this._getRowFilteredCallback(e,t,r))!=null?n:!1}}const Gs=S.createIdentifier("univer.formula.sheet-row-filtered.service");var Hc=Object.getOwnPropertyDescriptor,Gc=(i,o,e,t)=>{for(var r=t>1?void 0:t?Hc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},bn=(i,o)=>(e,t)=>o(e,t,i);w.FormulaCurrentConfigService=class extends S.Disposable{constructor(e,t,r,n){super();A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_arrayFormulaCellData",{});A(this,"_arrayFormulaRange",{});A(this,"_formulaData",{});A(this,"_sheetNameMap",{});A(this,"_forceCalculate",!1);A(this,"_clearDependencyTreeCache",{});A(this,"_dirtyRanges",[]);A(this,"_dirtyNameMap",{});A(this,"_dirtyDefinedNameMap",{});A(this,"_dirtyUnitFeatureMap",{});A(this,"_dirtyUnitOtherFormulaMap",{});A(this,"_excludedCell");A(this,"_sheetIdToNameMap",{});A(this,"_executeUnitId","");A(this,"_executeSubUnitId","");this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=r,this._sheetRowFilteredService=n}dispose(){super.dispose(),this._unitData={},this._unitStylesData={},this._arrayFormulaCellData={},this._arrayFormulaRange={},this._formulaData={},this._sheetNameMap={},this._clearDependencyTreeCache={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._dirtyUnitOtherFormulaMap={},this._excludedCell={},this._sheetIdToNameMap={}}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}getArrayFormulaRange(){return this._arrayFormulaRange}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]||""}setSheetNameMap(e){this._sheetIdToNameMap=e}getClearDependencyTreeCache(){return this._clearDependencyTreeCache}getLocale(){return this._localeService.getCurrentLocale()}getSheetsInfo(){const e=this._univerInstanceService.getCurrentUnitForType(S.UniverInstanceType.UNIVER_SHEET),{id:t,sheetOrder:r}=e.getSnapshot();return{sheetOrder:r,sheetNameMap:this._sheetIdToNameMap[t]}}getSheetRowColumnCount(e,t){const r=this._univerInstanceService.getUnit(e),n=r==null?void 0:r.getSheetBySheetId(t),s=n==null?void 0:n.getSnapshot();if(!s)return{rowCount:0,columnCount:0};const{rowCount:a,columnCount:u}=s;return{rowCount:a,columnCount:u}}getFilteredOutRows(e,t,r,n){const s=[];for(let a=r;a<=n;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&s.push(a);return s}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:r,unitStylesData:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=bs(e.arrayFormulaCellData),this._arrayFormulaRange=e.arrayFormulaRange,this._forceCalculate=e.forceCalculate,this._clearDependencyTreeCache=e.clearDependencyTreeCache||{},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)}loadDataLite(e){const{allUnitData:t,unitSheetNameMap:r,unitStylesData:n}=this._loadSheetData();this._unitData=t,this._unitStylesData=n,this._sheetNameMap=r,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=bs(this._formulaDataModel.getArrayFormulaCellData()),this._arrayFormulaRange=this._formulaDataModel.getArrayFormulaRange(),e&&this._applyUnitRowData(e)}getDirtyData(){return{forceCalculation:this._forceCalculate,dirtyRanges:this._dirtyRanges,dirtyNameMap:this._dirtyNameMap,dirtyDefinedNameMap:this._dirtyDefinedNameMap,dirtyUnitFeatureMap:this._dirtyUnitFeatureMap,dirtyUnitOtherFormulaMap:this._dirtyUnitOtherFormulaMap,clearDependencyTreeCache:this._clearDependencyTreeCache}}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(r=>{t[r]&&Object.keys(t[r]).forEach(n=>{e[r]==null&&(e[r]={}),e[r][t[r][n]]=n})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(n=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][n]]=n})})}_loadSheetData(){const e=this._univerInstanceService.getCurrentUnitForType(S.UniverInstanceType.UNIVER_SHEET),t=e==null?void 0:e.getActiveSheet();return this._executeUnitId=e==null?void 0:e.getUnitId(),this._executeSubUnitId=t==null?void 0:t.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(const t in e)if(e[t]!=null)for(const r in e[t])e[t][r]!=null&&(this._unitData[t]==null&&(this._unitData[t]={}),this._unitData[t][r]==null&&(this._unitData[t][r]={cellData:new S.ObjectMatrix({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][r].rowData=e[t][r])}},w.FormulaCurrentConfigService=Gc([bn(0,S.IUniverInstanceService),bn(1,S.Inject(S.LocaleService)),bn(2,S.Inject(w.FormulaDataModel)),bn(3,S.Inject(Gs))],w.FormulaCurrentConfigService);const Nt=S.createIdentifier("univer.formula.current-data.service");var Wc=Object.getOwnPropertyDescriptor,Qc=(i,o,e,t)=>{for(var r=t>1?void 0:t?Wc(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ws=(i,o)=>(e,t)=>o(e,t,i);w.Lexer=class extends S.Disposable{constructor(o,e,t){super(),this._definedNamesService=o,this._lexerTreeBuilder=e,this._formulaCurrentConfigService=t}treeBuilder(o,e=!0){const t=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(t)?this._lexerTreeBuilder.treeBuilder(o,e):this._lexerTreeBuilder.treeBuilder(o,e,{unitId:this._formulaCurrentConfigService.getExecuteUnitId(),getValueByName:this._definedNamesService.getValueByName.bind(this._definedNamesService),getDirtyDefinedNameMap:this._formulaCurrentConfigService.getDirtyDefinedNameMap.bind(this._formulaCurrentConfigService),getSheetName:this._formulaCurrentConfigService.getSheetName.bind(this._formulaCurrentConfigService)})}_isDeepDefinedNameMapEmpty(o){for(const e in o)if(Object.keys(o[e]).length>0)return!1;return!0}},w.Lexer=Qc([Ws(0,$t),Ws(1,S.Inject(hr)),Ws(2,Nt)],w.Lexer);function pn(i){if(i==null)return!0;const{v:o,f:e,si:t,p:r}=i;return!(!(o==null||typeof o=="string"&&o.length===0)||e!=null&&e.length>0||t!=null&&t.length>0||r!=null)}function qc(i){var o;if(i===null)return 0;if(i!=null&&i.p){const e=i==null?void 0:i.p.body;if(e==null)return 0;const t=e.dataStream;return S.BuildTextUtils.transform.getPlainText(t)}return(o=i==null?void 0:i.v)!=null?o:0}function Xc(i,o=!1){return!o&&!(S.isFormulaString(i==null?void 0:i.f)||S.isFormulaId(i==null?void 0:i.si))?null:typeof(i==null?void 0:i.v)=="string"&&wt.has(i.v)?i.v:null}function qi(i,o,e,t,r){var s;const n=Object.keys(r);for(const a of n){const u=r[a],l=(s=u==null?void 0:u[t])==null?void 0:s[e];if(l==null)continue;const c=l.getValue(i,o);if(c!=null)return c}}var Gt=(i=>(i[i.MIN=0]="MIN",i[i.MAX=1]="MAX",i))(Gt||{}),Le=(i=>(i[i.NORMAL=0]="NORMAL",i[i.MIN=1]="MIN",i[i.MAX=2]="MAX",i))(Le||{});function Nn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(i,o)=>i.localeCompare(o)}function Xi(i){return i.indexOf("*")>-1||i.indexOf("?")>-1}function Qs(i,o){const e=Zc(o).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(i)}function Ki(i){return i.replace(/~?[*?]/g,o=>o.startsWith("~")?o.substring(1):" ")}function Kc(i,o,e){let t=!1;switch(e){case H.EQUALS:t=Qs(i,o);break;case H.NOT_EQUAL:t=!Qs(i,o);break;case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:t=Qs(i,o)||i>Ki(o);break;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:t=i<Ki(o);break}return t}function Zc(i){return i.replace(/[.+^${}()|[\]\\]/g,"\\$&")}function qs(i){switch(i){case 1:return 2;case 0:return 0;case-1:return 1;default:return 0}}function Xs(i){return i===-2?1:0}const zc=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Jc={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 ef(i,o,e){var u,l;if(i==null||o==null)return o;const t=(e==null?void 0:e.getStyleByCell(i))||i.s,r=(e==null?void 0:e.getStyleByCell(o))||o.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return o;const n=(u=t==null?void 0:t.n)==null?void 0:u.pattern,s=(l=r==null?void 0:r.n)==null?void 0:l.pattern;if(n==null||s==null)return o;const a=n||s;return r.n.pattern=a,o}const Ks=new Rt(1e5);function Zi(i){const o=Ks.get(i);if(o!==void 0)return o;const e=rf(i);return Ks.set(i,e),e}function tf(){Ks.clear()}function rf(i){if(nf(i))return 3;const o=S.numfmt.getFormatInfo(i).type||"unknown";return Jc[o]}function nf(i){return!!zc.find(o=>i.includes(o))&&i.startsWith("_(")}function Vn(i,o,e){if(i==="")return o;if(o==="")return i;const t=Zi(i),r=Zi(o);return e===z.PLUS||e===z.MINUS?t===4&&r===4||t===11&&r===11?"":o:e===z.MULTIPLY||e===z.DIVIDED?t===6&&r===6||t===7&&r===7||t===8&&r===8||t===9&&r===9?o:"":i||o}const sf=new Map([[S.LocaleType.EN_US,"$"],[S.LocaleType.RU_RU,"₽"],[S.LocaleType.VI_VN,"₫"],[S.LocaleType.ZH_CN,"¥"],[S.LocaleType.ZH_TW,"NT$"],[S.LocaleType.FR_FR,"€"],[S.LocaleType.FA_IR,"﷼"],[S.LocaleType.KO_KR,"₩"],[S.LocaleType.ES_ES,"€"],[S.LocaleType.CA_ES,"€"]]);function zi(i){return sf.get(i)||"$"}function We(i,o=2){let e=o;o>127&&(e=127);let t="";return e>0&&(t=`.${"0".repeat(e)}`),`"${zi(i)}"#,##0${t}_);[Red]("${zi(i)}"#,##0${t})`}function af(i,o,e=2){return S.numfmt.format(We(i,e),o)}const Zs=new Rt(1e5);function of(i){let o=i;o.startsWith('"')&&o.endsWith('"')&&(o=o.slice(1,-1));const e=Zs.get(o);if(e)return{isNumberPattern:!0,value:e.value,pattern:e.pattern};const t=S.numfmt.parseNumber(o);if(t&&t.z)return zs(o,t.v,t.z);const r=S.numfmt.parseDate(o);if(r&&r.z)return zs(o,r.v,r.z);const n=S.numfmt.parseTime(o);return n&&n.z?zs(o,n.v,n.z):{isNumberPattern:!1}}function zs(i,o,e){return Zs.set(i,{value:o,pattern:e}),{isNumberPattern:!0,value:o,pattern:e}}function uf(){Zs.clear()}function Js(i){let o;switch(i){case H.EQUALS:o=H.EQUALS;break;case H.GREATER_THAN:o=H.LESS_THAN;break;case H.GREATER_THAN_OR_EQUAL:o=H.LESS_THAN_OR_EQUAL;break;case H.LESS_THAN:o=H.GREATER_THAN;break;case H.LESS_THAN_OR_EQUAL:o=H.GREATER_THAN_OR_EQUAL;break;case H.NOT_EQUAL:o=H.NOT_EQUAL;break}return o}var gr=9e15,Pt=1e9,ea="0123456789abcdef",On="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Sn="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",ta={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-gr,maxE:gr,crypto:!1},Ji,Vt,le=!0,Mn="[DecimalError] ",jt=Mn+"Invalid argument: ",eo=Mn+"Precision limit exceeded",to=Mn+"crypto unavailable",ro="[object Decimal]",ve=Math.floor,Pe=Math.pow,lf=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,cf=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,ff=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,no=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,st=1e7,ie=7,mf=9007199254740991,hf=On.length-1,ra=Sn.length-1,k={toStringTag:ro};k.absoluteValue=k.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),re(i)},k.ceil=function(){return re(new this.constructor(this),this.e+1,2)},k.clampedTo=k.clamp=function(i,o){var e,t=this,r=t.constructor;if(i=new r(i),o=new r(o),!i.s||!o.s)return new r(NaN);if(i.gt(o))throw Error(jt+o);return e=t.cmp(i),e<0?i:t.cmp(o)>0?o:new r(t)},k.comparedTo=k.cmp=function(i){var o,e,t,r,n=this,s=n.d,a=(i=new n.constructor(i)).d,u=n.s,l=i.s;if(!s||!a)return!u||!l?NaN:u!==l?u:s===a?0:!s^u<0?1:-1;if(!s[0]||!a[0])return s[0]?u:a[0]?-l:0;if(u!==l)return u;if(n.e!==i.e)return n.e>i.e^u<0?1:-1;for(t=s.length,r=a.length,o=0,e=t<r?t:r;o<e;++o)if(s[o]!==a[o])return s[o]>a[o]^u<0?1:-1;return t===r?0:t>r^u<0?1:-1},k.cosine=k.cos=function(){var i,o,e=this,t=e.constructor;return e.d?e.d[0]?(i=t.precision,o=t.rounding,t.precision=i+Math.max(e.e,e.sd())+ie,t.rounding=1,e=gf(t,lo(t,e)),t.precision=i,t.rounding=o,re(Vt==2||Vt==3?e.neg():e,i,o,!0)):new t(1):new t(NaN)},k.cubeRoot=k.cbrt=function(){var i,o,e,t,r,n,s,a,u,l,c=this,f=c.constructor;if(!c.isFinite()||c.isZero())return new f(c);for(le=!1,n=c.s*Pe(c.s*c,1/3),!n||Math.abs(n)==1/0?(e=Ue(c.d),i=c.e,(n=(i-e.length+1)%3)&&(e+=n==1||n==-2?"0":"00"),n=Pe(e,1/3),i=ve((i+1)/3)-(i%3==(i<0?-1:2)),n==1/0?e="5e"+i:(e=n.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),t=new f(e),t.s=c.s):t=new f(n.toString()),s=(i=f.precision)+3;;)if(a=t,u=a.times(a).times(a),l=u.plus(c),t=Ne(l.plus(c).times(a),l.plus(u),s+2,1),Ue(a.d).slice(0,s)===(e=Ue(t.d)).slice(0,s))if(e=e.slice(s-3,s+1),e=="9999"||!r&&e=="4999"){if(!r&&(re(a,i+1,0),a.times(a).times(a).eq(c))){t=a;break}s+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(re(t,i+1,1),o=!t.times(t).times(t).eq(c));break}return le=!0,re(t,i,f.rounding,o)},k.decimalPlaces=k.dp=function(){var i,o=this.d,e=NaN;if(o){if(i=o.length-1,e=(i-ve(this.e/ie))*ie,i=o[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e},k.dividedBy=k.div=function(i){return Ne(this,new this.constructor(i))},k.dividedToIntegerBy=k.divToInt=function(i){var o=this,e=o.constructor;return re(Ne(o,new e(i),0,1,1),e.precision,e.rounding)},k.equals=k.eq=function(i){return this.cmp(i)===0},k.floor=function(){return re(new this.constructor(this),this.e+1,3)},k.greaterThan=k.gt=function(i){return this.cmp(i)>0},k.greaterThanOrEqualTo=k.gte=function(i){var o=this.cmp(i);return o==1||o===0},k.hyperbolicCosine=k.cosh=function(){var i,o,e,t,r,n=this,s=n.constructor,a=new s(1);if(!n.isFinite())return new s(n.s?1/0:NaN);if(n.isZero())return a;e=s.precision,t=s.rounding,s.precision=e+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<32?(i=Math.ceil(r/3),o=(1/jn(4,i)).toString()):(i=16,o="2.3283064365386962890625e-10"),n=dr(s,1,n.times(o),new s(1),!0);for(var u,l=i,c=new s(8);l--;)u=n.times(n),n=a.minus(u.times(c.minus(u.times(c))));return re(n,s.precision=e,s.rounding=t,!0)},k.hyperbolicSine=k.sinh=function(){var i,o,e,t,r=this,n=r.constructor;if(!r.isFinite()||r.isZero())return new n(r);if(o=n.precision,e=n.rounding,n.precision=o+Math.max(r.e,r.sd())+4,n.rounding=1,t=r.d.length,t<3)r=dr(n,2,r,r,!0);else{i=1.4*Math.sqrt(t),i=i>16?16:i|0,r=r.times(1/jn(5,i)),r=dr(n,2,r,r,!0);for(var s,a=new n(5),u=new n(16),l=new n(20);i--;)s=r.times(r),r=r.times(a.plus(s.times(u.times(s).plus(l))))}return n.precision=o,n.rounding=e,re(r,o,e,!0)},k.hyperbolicTangent=k.tanh=function(){var i,o,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+7,t.rounding=1,Ne(e.sinh(),e.cosh(),t.precision=i,t.rounding=o)):new t(e.s)},k.inverseCosine=k.acos=function(){var i=this,o=i.constructor,e=i.abs().cmp(1),t=o.precision,r=o.rounding;return e!==-1?e===0?i.isNeg()?mt(o,t,r):new o(0):new o(NaN):i.isZero()?mt(o,t+4,r).times(.5):(o.precision=t+6,o.rounding=1,i=new o(1).minus(i).div(i.plus(1)).sqrt().atan(),o.precision=t,o.rounding=r,i.times(2))},k.inverseHyperbolicCosine=k.acosh=function(){var i,o,e=this,t=e.constructor;return e.lte(1)?new t(e.eq(1)?0:NaN):e.isFinite()?(i=t.precision,o=t.rounding,t.precision=i+Math.max(Math.abs(e.e),e.sd())+4,t.rounding=1,le=!1,e=e.times(e).minus(1).sqrt().plus(e),le=!0,t.precision=i,t.rounding=o,e.ln()):new t(e)},k.inverseHyperbolicSine=k.asinh=function(){var i,o,e=this,t=e.constructor;return!e.isFinite()||e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,t.rounding=1,le=!1,e=e.times(e).plus(1).sqrt().plus(e),le=!0,t.precision=i,t.rounding=o,e.ln())},k.inverseHyperbolicTangent=k.atanh=function(){var i,o,e,t,r=this,n=r.constructor;return r.isFinite()?r.e>=0?new n(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(i=n.precision,o=n.rounding,t=r.sd(),Math.max(t,i)<2*-r.e-1?re(new n(r),i,o,!0):(n.precision=e=t-r.e,r=Ne(r.plus(1),new n(1).minus(r),e+i,1),n.precision=i+4,n.rounding=1,r=r.ln(),n.precision=i,n.rounding=o,r.times(.5))):new n(NaN)},k.inverseSine=k.asin=function(){var i,o,e,t,r=this,n=r.constructor;return r.isZero()?new n(r):(o=r.abs().cmp(1),e=n.precision,t=n.rounding,o!==-1?o===0?(i=mt(n,e+4,t).times(.5),i.s=r.s,i):new n(NaN):(n.precision=e+6,n.rounding=1,r=r.div(new n(1).minus(r.times(r)).sqrt().plus(1)).atan(),n.precision=e,n.rounding=t,r.times(2)))},k.inverseTangent=k.atan=function(){var i,o,e,t,r,n,s,a,u,l=this,c=l.constructor,f=c.precision,m=c.rounding;if(l.isFinite()){if(l.isZero())return new c(l);if(l.abs().eq(1)&&f+4<=ra)return s=mt(c,f+4,m).times(.25),s.s=l.s,s}else{if(!l.s)return new c(NaN);if(f+4<=ra)return s=mt(c,f+4,m).times(.5),s.s=l.s,s}for(c.precision=a=f+10,c.rounding=1,e=Math.min(28,a/ie+2|0),i=e;i;--i)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(le=!1,o=Math.ceil(a/ie),t=1,u=l.times(l),s=new c(l),r=l;i!==-1;)if(r=r.times(u),n=s.minus(r.div(t+=2)),r=r.times(u),s=n.plus(r.div(t+=2)),s.d[o]!==void 0)for(i=o;s.d[i]===n.d[i]&&i--;);return e&&(s=s.times(2<<e-1)),le=!0,re(s,c.precision=f,c.rounding=m,!0)},k.isFinite=function(){return!!this.d},k.isInteger=k.isInt=function(){return!!this.d&&ve(this.e/ie)>this.d.length-2},k.isNaN=function(){return!this.s},k.isNegative=k.isNeg=function(){return this.s<0},k.isPositive=k.isPos=function(){return this.s>0},k.isZero=function(){return!!this.d&&this.d[0]===0},k.lessThan=k.lt=function(i){return this.cmp(i)<0},k.lessThanOrEqualTo=k.lte=function(i){return this.cmp(i)<1},k.logarithm=k.log=function(i){var o,e,t,r,n,s,a,u,l=this,c=l.constructor,f=c.precision,m=c.rounding,d=5;if(i==null)i=new c(10),o=!0;else{if(i=new c(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new c(NaN);o=i.eq(10)}if(e=l.d,l.s<0||!e||!e[0]||l.eq(1))return new c(e&&!e[0]?-1/0:l.s!=1?NaN:e?0:1/0);if(o)if(e.length>1)n=!0;else{for(r=e[0];r%10===0;)r/=10;n=r!==1}if(le=!1,a=f+d,s=Ut(l,a),t=o?Ln(c,a+10):Ut(i,a),u=Ne(s,t,a,1),Ir(u.d,r=f,m))do if(a+=10,s=Ut(l,a),t=o?Ln(c,a+10):Ut(i,a),u=Ne(s,t,a,1),!n){+Ue(u.d).slice(r+1,r+15)+1==1e14&&(u=re(u,f+1,0));break}while(Ir(u.d,r+=10,m));return le=!0,re(u,f,m)},k.minus=k.sub=function(i){var o,e,t,r,n,s,a,u,l,c,f,m,d=this,_=d.constructor;if(i=new _(i),!d.d||!i.d)return!d.s||!i.s?i=new _(NaN):d.d?i.s=-i.s:i=new _(i.d||d.s!==i.s?d:NaN),i;if(d.s!=i.s)return i.s=-i.s,d.plus(i);if(l=d.d,m=i.d,a=_.precision,u=_.rounding,!l[0]||!m[0]){if(m[0])i.s=-i.s;else if(l[0])i=new _(d);else return new _(u===3?-0:0);return le?re(i,a,u):i}if(e=ve(i.e/ie),c=ve(d.e/ie),l=l.slice(),n=c-e,n){for(f=n<0,f?(o=l,n=-n,s=m.length):(o=m,e=c,s=l.length),t=Math.max(Math.ceil(a/ie),s)+2,n>t&&(n=t,o.length=1),o.reverse(),t=n;t--;)o.push(0);o.reverse()}else{for(t=l.length,s=m.length,f=t<s,f&&(s=t),t=0;t<s;t++)if(l[t]!=m[t]){f=l[t]<m[t];break}n=0}for(f&&(o=l,l=m,m=o,i.s=-i.s),s=l.length,t=m.length-s;t>0;--t)l[s++]=0;for(t=m.length;t>n;){if(l[--t]<m[t]){for(r=t;r&&l[--r]===0;)l[r]=st-1;--l[r],l[t]+=st}l[t]-=m[t]}for(;l[--s]===0;)l.pop();for(;l[0]===0;l.shift())--e;return l[0]?(i.d=l,i.e=wn(l,e),le?re(i,a,u):i):new _(u===3?-0:0)},k.modulo=k.mod=function(i){var o,e=this,t=e.constructor;return i=new t(i),!e.d||!i.s||i.d&&!i.d[0]?new t(NaN):!i.d||e.d&&!e.d[0]?re(new t(e),t.precision,t.rounding):(le=!1,t.modulo==9?(o=Ne(e,i.abs(),0,3,1),o.s*=i.s):o=Ne(e,i,0,t.modulo,1),o=o.times(i),le=!0,e.minus(o))},k.naturalExponential=k.exp=function(){return na(this)},k.naturalLogarithm=k.ln=function(){return Ut(this)},k.negated=k.neg=function(){var i=new this.constructor(this);return i.s=-i.s,re(i)},k.plus=k.add=function(i){var o,e,t,r,n,s,a,u,l,c,f=this,m=f.constructor;if(i=new m(i),!f.d||!i.d)return!f.s||!i.s?i=new m(NaN):f.d||(i=new m(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(l=f.d,c=i.d,a=m.precision,u=m.rounding,!l[0]||!c[0])return c[0]||(i=new m(f)),le?re(i,a,u):i;if(n=ve(f.e/ie),t=ve(i.e/ie),l=l.slice(),r=n-t,r){for(r<0?(e=l,r=-r,s=c.length):(e=c,t=n,s=l.length),n=Math.ceil(a/ie),s=n>s?n+1:s+1,r>s&&(r=s,e.length=1),e.reverse();r--;)e.push(0);e.reverse()}for(s=l.length,r=c.length,s-r<0&&(r=s,e=c,c=l,l=e),o=0;r;)o=(l[--r]=l[r]+c[r]+o)/st|0,l[r]%=st;for(o&&(l.unshift(o),++t),s=l.length;l[--s]==0;)l.pop();return i.d=l,i.e=wn(l,t),le?re(i,a,u):i},k.precision=k.sd=function(i){var o,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(jt+i);return e.d?(o=so(e.d),i&&e.e+1>o&&(o=e.e+1)):o=NaN,o},k.round=function(){var i=this,o=i.constructor;return re(new o(i),i.e+1,o.rounding)},k.sine=k.sin=function(){var i,o,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+Math.max(e.e,e.sd())+ie,t.rounding=1,e=Cf(t,lo(t,e)),t.precision=i,t.rounding=o,re(Vt>2?e.neg():e,i,o,!0)):new t(NaN)},k.squareRoot=k.sqrt=function(){var i,o,e,t,r,n,s=this,a=s.d,u=s.e,l=s.s,c=s.constructor;if(l!==1||!a||!a[0])return new c(!l||l<0&&(!a||a[0])?NaN:a?s:1/0);for(le=!1,l=Math.sqrt(+s),l==0||l==1/0?(o=Ue(a),(o.length+u)%2==0&&(o+="0"),l=Math.sqrt(o),u=ve((u+1)/2)-(u<0||u%2),l==1/0?o="5e"+u:(o=l.toExponential(),o=o.slice(0,o.indexOf("e")+1)+u),t=new c(o)):t=new c(l.toString()),e=(u=c.precision)+3;;)if(n=t,t=n.plus(Ne(s,n,e+2,1)).times(.5),Ue(n.d).slice(0,e)===(o=Ue(t.d)).slice(0,e))if(o=o.slice(e-3,e+1),o=="9999"||!r&&o=="4999"){if(!r&&(re(n,u+1,0),n.times(n).eq(s))){t=n;break}e+=4,r=1}else{(!+o||!+o.slice(1)&&o.charAt(0)=="5")&&(re(t,u+1,1),i=!t.times(t).eq(s));break}return le=!0,re(t,u,c.rounding,i)},k.tangent=k.tan=function(){var i,o,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,o=t.rounding,t.precision=i+10,t.rounding=1,e=e.sin(),e.s=1,e=Ne(e,new t(1).minus(e.times(e)).sqrt(),i+10,0),t.precision=i,t.rounding=o,re(Vt==2||Vt==4?e.neg():e,i,o,!0)):new t(NaN)},k.times=k.mul=function(i){var o,e,t,r,n,s,a,u,l,c=this,f=c.constructor,m=c.d,d=(i=new f(i)).d;if(i.s*=c.s,!m||!m[0]||!d||!d[0])return new f(!i.s||m&&!m[0]&&!d||d&&!d[0]&&!m?NaN:!m||!d?i.s/0:i.s*0);for(e=ve(c.e/ie)+ve(i.e/ie),u=m.length,l=d.length,u<l&&(n=m,m=d,d=n,s=u,u=l,l=s),n=[],s=u+l,t=s;t--;)n.push(0);for(t=l;--t>=0;){for(o=0,r=u+t;r>t;)a=n[r]+d[t]*m[r-t-1]+o,n[r--]=a%st|0,o=a/st|0;n[r]=(n[r]+o)%st|0}for(;!n[--s];)n.pop();return o?++e:n.shift(),i.d=n,i.e=wn(n,e),le?re(i,f.precision,f.rounding):i},k.toBinary=function(i,o){return sa(this,2,i,o)},k.toDecimalPlaces=k.toDP=function(i,o){var e=this,t=e.constructor;return e=new t(e),i===void 0?e:(ke(i,0,Pt),o===void 0?o=t.rounding:ke(o,0,8),re(e,i+e.e+1,o))},k.toExponential=function(i,o){var e,t=this,r=t.constructor;return i===void 0?e=ft(t,!0):(ke(i,0,Pt),o===void 0?o=r.rounding:ke(o,0,8),t=re(new r(t),i+1,o),e=ft(t,!0,i+1)),t.isNeg()&&!t.isZero()?"-"+e:e},k.toFixed=function(i,o){var e,t,r=this,n=r.constructor;return i===void 0?e=ft(r):(ke(i,0,Pt),o===void 0?o=n.rounding:ke(o,0,8),t=re(new n(r),i+r.e+1,o),e=ft(t,!1,i+t.e+1)),r.isNeg()&&!r.isZero()?"-"+e:e},k.toFraction=function(i){var o,e,t,r,n,s,a,u,l,c,f,m,d=this,_=d.d,C=d.constructor;if(!_)return new C(d);if(l=e=new C(1),t=u=new C(0),o=new C(t),n=o.e=so(_)-d.e-1,s=n%ie,o.d[0]=Pe(10,s<0?ie+s:s),i==null)i=n>0?o:l;else{if(a=new C(i),!a.isInt()||a.lt(l))throw Error(jt+a);i=a.gt(o)?n>0?o:l:a}for(le=!1,a=new C(Ue(_)),c=C.precision,C.precision=n=_.length*ie*2;f=Ne(a,o,0,1,1),r=e.plus(f.times(t)),r.cmp(i)!=1;)e=t,t=r,r=l,l=u.plus(f.times(r)),u=r,r=o,o=a.minus(f.times(r)),a=r;return r=Ne(i.minus(e),t,0,1,1),u=u.plus(r.times(l)),e=e.plus(r.times(t)),u.s=l.s=d.s,m=Ne(l,t,n,1).minus(d).abs().cmp(Ne(u,e,n,1).minus(d).abs())<1?[l,t]:[u,e],C.precision=c,le=!0,m},k.toHexadecimal=k.toHex=function(i,o){return sa(this,16,i,o)},k.toNearest=function(i,o){var e=this,t=e.constructor;if(e=new t(e),i==null){if(!e.d)return e;i=new t(1),o=t.rounding}else{if(i=new t(i),o===void 0?o=t.rounding:ke(o,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(le=!1,e=Ne(e,i,0,o,1).times(i),le=!0,re(e)):(i.s=e.s,e=i),e},k.toNumber=function(){return+this},k.toOctal=function(i,o){return sa(this,8,i,o)},k.toPower=k.pow=function(i){var o,e,t,r,n,s,a=this,u=a.constructor,l=+(i=new u(i));if(!a.d||!i.d||!a.d[0]||!i.d[0])return new u(Pe(+a,l));if(a=new u(a),a.eq(1))return a;if(t=u.precision,n=u.rounding,i.eq(1))return re(a,t,n);if(o=ve(i.e/ie),o>=i.d.length-1&&(e=l<0?-l:l)<=mf)return r=ao(u,a,e,t),i.s<0?new u(1).div(r):re(r,t,n);if(s=a.s,s<0){if(o<i.d.length-1)return new u(NaN);if((i.d[o]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return e=Pe(+a,l),o=e==0||!isFinite(e)?ve(l*(Math.log("0."+Ue(a.d))/Math.LN10+a.e+1)):new u(e+"").e,o>u.maxE+1||o<u.minE-1?new u(o>0?s/0:0):(le=!1,u.rounding=a.s=1,e=Math.min(12,(o+"").length),r=na(i.times(Ut(a,t+e)),t),r.d&&(r=re(r,t+5,1),Ir(r.d,t,n)&&(o=t+10,r=re(na(i.times(Ut(a,o+e)),o),o+5,1),+Ue(r.d).slice(t+1,t+15)+1==1e14&&(r=re(r,t+1,0)))),r.s=s,le=!0,u.rounding=n,re(r,t,n))},k.toPrecision=function(i,o){var e,t=this,r=t.constructor;return i===void 0?e=ft(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(ke(i,1,Pt),o===void 0?o=r.rounding:ke(o,0,8),t=re(new r(t),i,o),e=ft(t,i<=t.e||t.e<=r.toExpNeg,i)),t.isNeg()&&!t.isZero()?"-"+e:e},k.toSignificantDigits=k.toSD=function(i,o){var e=this,t=e.constructor;return i===void 0?(i=t.precision,o=t.rounding):(ke(i,1,Pt),o===void 0?o=t.rounding:ke(o,0,8)),re(new t(e),i,o)},k.toString=function(){var i=this,o=i.constructor,e=ft(i,i.e<=o.toExpNeg||i.e>=o.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e},k.truncated=k.trunc=function(){return re(new this.constructor(this),this.e+1,1)},k.valueOf=k.toJSON=function(){var i=this,o=i.constructor,e=ft(i,i.e<=o.toExpNeg||i.e>=o.toExpPos);return i.isNeg()?"-"+e:e};function Ue(i){var o,e,t,r=i.length-1,n="",s=i[0];if(r>0){for(n+=s,o=1;o<r;o++)t=i[o]+"",e=ie-t.length,e&&(n+=Tt(e)),n+=t;s=i[o],t=s+"",e=ie-t.length,e&&(n+=Tt(e))}else if(s===0)return"0";for(;s%10===0;)s/=10;return n+s}function ke(i,o,e){if(i!==~~i||i<o||i>e)throw Error(jt+i)}function Ir(i,o,e,t){var r,n,s,a;for(n=i[0];n>=10;n/=10)--o;return--o<0?(o+=ie,r=0):(r=Math.ceil((o+1)/ie),o%=ie),n=Pe(10,ie-o),a=i[r]%n|0,t==null?o<3?(o==0?a=a/100|0:o==1&&(a=a/10|0),s=e<4&&a==99999||e>3&&a==49999||a==5e4||a==0):s=(e<4&&a+1==n||e>3&&a+1==n/2)&&(i[r+1]/n/100|0)==Pe(10,o-2)-1||(a==n/2||a==0)&&(i[r+1]/n/100|0)==0:o<4?(o==0?a=a/1e3|0:o==1?a=a/100|0:o==2&&(a=a/10|0),s=(t||e<4)&&a==9999||!t&&e>3&&a==4999):s=((t||e<4)&&a+1==n||!t&&e>3&&a+1==n/2)&&(i[r+1]/n/1e3|0)==Pe(10,o-3)-1,s}function Dn(i,o,e){for(var t,r=[0],n,s=0,a=i.length;s<a;){for(n=r.length;n--;)r[n]*=o;for(r[0]+=ea.indexOf(i.charAt(s++)),t=0;t<r.length;t++)r[t]>e-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/e|0,r[t]%=e)}return r.reverse()}function gf(i,o){var e,t,r;if(o.isZero())return o;t=o.d.length,t<32?(e=Math.ceil(t/3),r=(1/jn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),i.precision+=e,o=dr(i,1,o.times(r),new i(1));for(var n=e;n--;){var s=o.times(o);o=s.times(s).minus(s).times(8).plus(1)}return i.precision-=e,o}var Ne=(function(){function i(t,r,n){var s,a=0,u=t.length;for(t=t.slice();u--;)s=t[u]*r+a,t[u]=s%n|0,a=s/n|0;return a&&t.unshift(a),t}function o(t,r,n,s){var a,u;if(n!=s)u=n>s?1:-1;else for(a=u=0;a<n;a++)if(t[a]!=r[a]){u=t[a]>r[a]?1:-1;break}return u}function e(t,r,n,s){for(var a=0;n--;)t[n]-=a,a=t[n]<r[n]?1:0,t[n]=a*s+t[n]-r[n];for(;!t[0]&&t.length>1;)t.shift()}return function(t,r,n,s,a,u){var l,c,f,m,d,_,C,E,R,y,p,N,M,D,L,P,j,I,v,Y,Q=t.constructor,se=t.s==r.s?1:-1,te=t.d,W=r.d;if(!te||!te[0]||!W||!W[0])return new Q(!t.s||!r.s||(te?W&&te[0]==W[0]:!W)?NaN:te&&te[0]==0||!W?se*0:se/0);for(u?(d=1,c=t.e-r.e):(u=st,d=ie,c=ve(t.e/d)-ve(r.e/d)),v=W.length,j=te.length,R=new Q(se),y=R.d=[],f=0;W[f]==(te[f]||0);f++);if(W[f]>(te[f]||0)&&c--,n==null?(D=n=Q.precision,s=Q.rounding):a?D=n+(t.e-r.e)+1:D=n,D<0)y.push(1),_=!0;else{if(D=D/d+2|0,f=0,v==1){for(m=0,W=W[0],D++;(f<j||m)&&D--;f++)L=m*u+(te[f]||0),y[f]=L/W|0,m=L%W|0;_=m||f<j}else{for(m=u/(W[0]+1)|0,m>1&&(W=i(W,m,u),te=i(te,m,u),v=W.length,j=te.length),P=v,p=te.slice(0,v),N=p.length;N<v;)p[N++]=0;Y=W.slice(),Y.unshift(0),I=W[0],W[1]>=u/2&&++I;do m=0,l=o(W,p,v,N),l<0?(M=p[0],v!=N&&(M=M*u+(p[1]||0)),m=M/I|0,m>1?(m>=u&&(m=u-1),C=i(W,m,u),E=C.length,N=p.length,l=o(C,p,E,N),l==1&&(m--,e(C,v<E?Y:W,E,u))):(m==0&&(l=m=1),C=W.slice()),E=C.length,E<N&&C.unshift(0),e(p,C,N,u),l==-1&&(N=p.length,l=o(W,p,v,N),l<1&&(m++,e(p,v<N?Y:W,N,u))),N=p.length):l===0&&(m++,p=[0]),y[f++]=m,l&&p[0]?p[N++]=te[P]||0:(p=[te[P]],N=1);while((P++<j||p[0]!==void 0)&&D--);_=p[0]!==void 0}y[0]||y.shift()}if(d==1)R.e=c,Ji=_;else{for(f=1,m=y[0];m>=10;m/=10)f++;R.e=f+c*d-1,re(R,a?n+R.e+1:n,s,_)}return R}})();function re(i,o,e,t){var r,n,s,a,u,l,c,f,m,d=i.constructor;e:if(o!=null){if(f=i.d,!f)return i;for(r=1,a=f[0];a>=10;a/=10)r++;if(n=o-r,n<0)n+=ie,s=o,c=f[m=0],u=c/Pe(10,r-s-1)%10|0;else if(m=Math.ceil((n+1)/ie),a=f.length,m>=a)if(t){for(;a++<=m;)f.push(0);c=u=0,r=1,n%=ie,s=n-ie+1}else break e;else{for(c=a=f[m],r=1;a>=10;a/=10)r++;n%=ie,s=n-ie+r,u=s<0?0:c/Pe(10,r-s-1)%10|0}if(t=t||o<0||f[m+1]!==void 0||(s<0?c:c%Pe(10,r-s-1)),l=e<4?(u||t)&&(e==0||e==(i.s<0?3:2)):u>5||u==5&&(e==4||t||e==6&&(n>0?s>0?c/Pe(10,r-s):0:f[m-1])%10&1||e==(i.s<0?8:7)),o<1||!f[0])return f.length=0,l?(o-=i.e+1,f[0]=Pe(10,(ie-o%ie)%ie),i.e=-o||0):f[0]=i.e=0,i;if(n==0?(f.length=m,a=1,m--):(f.length=m+1,a=Pe(10,ie-n),f[m]=s>0?(c/Pe(10,r-s)%Pe(10,s)|0)*a:0),l)for(;;)if(m==0){for(n=1,s=f[0];s>=10;s/=10)n++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;n!=a&&(i.e++,f[0]==st&&(f[0]=1));break}else{if(f[m]+=a,f[m]!=st)break;f[m--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop()}return le&&(i.e>d.maxE?(i.d=null,i.e=NaN):i.e<d.minE&&(i.e=0,i.d=[0])),i}function ft(i,o,e){if(!i.isFinite())return uo(i);var t,r=i.e,n=Ue(i.d),s=n.length;return o?(e&&(t=e-s)>0?n=n.charAt(0)+"."+n.slice(1)+Tt(t):s>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(i.e<0?"e":"e+")+i.e):r<0?(n="0."+Tt(-r-1)+n,e&&(t=e-s)>0&&(n+=Tt(t))):r>=s?(n+=Tt(r+1-s),e&&(t=e-r-1)>0&&(n=n+"."+Tt(t))):((t=r+1)<s&&(n=n.slice(0,t)+"."+n.slice(t)),e&&(t=e-s)>0&&(r+1===s&&(n+="."),n+=Tt(t))),n}function wn(i,o){var e=i[0];for(o*=ie;e>=10;e/=10)o++;return o}function Ln(i,o,e){if(o>hf)throw le=!0,e&&(i.precision=e),Error(eo);return re(new i(On),o,1,!0)}function mt(i,o,e){if(o>ra)throw Error(eo);return re(new i(Sn),o,e,!0)}function so(i){var o=i.length-1,e=o*ie+1;if(o=i[o],o){for(;o%10==0;o/=10)e--;for(o=i[0];o>=10;o/=10)e++}return e}function Tt(i){for(var o="";i--;)o+="0";return o}function ao(i,o,e,t){var r,n=new i(1),s=Math.ceil(t/ie+4);for(le=!1;;){if(e%2&&(n=n.times(o),co(n.d,s)&&(r=!0)),e=ve(e/2),e===0){e=n.d.length-1,r&&n.d[e]===0&&++n.d[e];break}o=o.times(o),co(o.d,s)}return le=!0,n}function io(i){return i.d[i.d.length-1]&1}function oo(i,o,e){for(var t,r,n=new i(o[0]),s=0;++s<o.length;){if(r=new i(o[s]),!r.s){n=r;break}t=n.cmp(r),(t===e||t===0&&n.s===e)&&(n=r)}return n}function na(i,o){var e,t,r,n,s,a,u,l=0,c=0,f=0,m=i.constructor,d=m.rounding,_=m.precision;if(!i.d||!i.d[0]||i.e>17)return new m(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(o==null?(le=!1,u=_):u=o,a=new m(.03125);i.e>-2;)i=i.times(a),f+=5;for(t=Math.log(Pe(2,f))/Math.LN10*2+5|0,u+=t,e=n=s=new m(1),m.precision=u;;){if(n=re(n.times(i),u,1),e=e.times(++c),a=s.plus(Ne(n,e,u,1)),Ue(a.d).slice(0,u)===Ue(s.d).slice(0,u)){for(r=f;r--;)s=re(s.times(s),u,1);if(o==null)if(l<3&&Ir(s.d,u-t,d,l))m.precision=u+=10,e=n=a=new m(1),c=0,l++;else return re(s,m.precision=_,d,le=!0);else return m.precision=_,s}s=a}}function Ut(i,o){var e,t,r,n,s,a,u,l,c,f,m,d=1,_=10,C=i,E=C.d,R=C.constructor,y=R.rounding,p=R.precision;if(C.s<0||!E||!E[0]||!C.e&&E[0]==1&&E.length==1)return new R(E&&!E[0]?-1/0:C.s!=1?NaN:E?0:C);if(o==null?(le=!1,c=p):c=o,R.precision=c+=_,e=Ue(E),t=e.charAt(0),Math.abs(n=C.e)<15e14){for(;t<7&&t!=1||t==1&&e.charAt(1)>3;)C=C.times(i),e=Ue(C.d),t=e.charAt(0),d++;n=C.e,t>1?(C=new R("0."+e),n++):C=new R(t+"."+e.slice(1))}else return l=Ln(R,c+2,p).times(n+""),C=Ut(new R(t+"."+e.slice(1)),c-_).plus(l),R.precision=p,o==null?re(C,p,y,le=!0):C;for(f=C,u=s=C=Ne(C.minus(1),C.plus(1),c,1),m=re(C.times(C),c,1),r=3;;){if(s=re(s.times(m),c,1),l=u.plus(Ne(s,new R(r),c,1)),Ue(l.d).slice(0,c)===Ue(u.d).slice(0,c))if(u=u.times(2),n!==0&&(u=u.plus(Ln(R,c+2,p).times(n+""))),u=Ne(u,new R(d),c,1),o==null)if(Ir(u.d,c-_,y,a))R.precision=c+=_,l=s=C=Ne(f.minus(1),f.plus(1),c,1),m=re(C.times(C),c,1),r=a=1;else return re(u,R.precision=p,y,le=!0);else return R.precision=p,u;u=l,r+=2}}function uo(i){return String(i.s*i.s/0)}function Pn(i,o){var e,t,r;for((e=o.indexOf("."))>-1&&(o=o.replace(".","")),(t=o.search(/e/i))>0?(e<0&&(e=t),e+=+o.slice(t+1),o=o.substring(0,t)):e<0&&(e=o.length),t=0;o.charCodeAt(t)===48;t++);for(r=o.length;o.charCodeAt(r-1)===48;--r);if(o=o.slice(t,r),o){if(r-=t,i.e=e=e-t-1,i.d=[],t=(e+1)%ie,e<0&&(t+=ie),t<r){for(t&&i.d.push(+o.slice(0,t)),r-=ie;t<r;)i.d.push(+o.slice(t,t+=ie));o=o.slice(t),t=ie-o.length}else t-=r;for(;t--;)o+="0";i.d.push(+o),le&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function df(i,o){var e,t,r,n,s,a,u,l,c;if(o.indexOf("_")>-1){if(o=o.replace(/(\d)_(?=\d)/g,"$1"),no.test(o))return Pn(i,o)}else if(o==="Infinity"||o==="NaN")return+o||(i.s=NaN),i.e=NaN,i.d=null,i;if(cf.test(o))e=16,o=o.toLowerCase();else if(lf.test(o))e=2;else if(ff.test(o))e=8;else throw Error(jt+o);for(n=o.search(/p/i),n>0?(u=+o.slice(n+1),o=o.substring(2,n)):o=o.slice(2),n=o.indexOf("."),s=n>=0,t=i.constructor,s&&(o=o.replace(".",""),a=o.length,n=a-n,r=ao(t,new t(e),n,n*2)),l=Dn(o,e,st),c=l.length-1,n=c;l[n]===0;--n)l.pop();return n<0?new t(i.s*0):(i.e=wn(l,c),i.d=l,le=!1,s&&(i=Ne(i,r,a*4)),u&&(i=i.times(Math.abs(u)<54?Pe(2,u):U.pow(2,u))),le=!0,i)}function Cf(i,o){var e,t=o.d.length;if(t<3)return o.isZero()?o:dr(i,2,o,o);e=1.4*Math.sqrt(t),e=e>16?16:e|0,o=o.times(1/jn(5,e)),o=dr(i,2,o,o);for(var r,n=new i(5),s=new i(16),a=new i(20);e--;)r=o.times(o),o=o.times(n.plus(r.times(s.times(r).minus(a))));return o}function dr(i,o,e,t,r){var n,s,a,u,l=i.precision,c=Math.ceil(l/ie);for(le=!1,u=e.times(e),a=new i(t);;){if(s=Ne(a.times(u),new i(o++*o++),l,1),a=r?t.plus(s):t.minus(s),t=Ne(s.times(u),new i(o++*o++),l,1),s=a.plus(t),s.d[c]!==void 0){for(n=c;s.d[n]===a.d[n]&&n--;);if(n==-1)break}n=a,a=t,t=s,s=n}return le=!0,s.d.length=c+1,s}function jn(i,o){for(var e=i;--o;)e*=i;return e}function lo(i,o){var e,t=o.s<0,r=mt(i,i.precision,1),n=r.times(.5);if(o=o.abs(),o.lte(n))return Vt=t?4:1,o;if(e=o.divToInt(r),e.isZero())Vt=t?3:2;else{if(o=o.minus(e.times(r)),o.lte(n))return Vt=io(e)?t?2:3:t?4:1,o;Vt=io(e)?t?1:4:t?3:2}return o.minus(r).abs()}function sa(i,o,e,t){var r,n,s,a,u,l,c,f,m,d=i.constructor,_=e!==void 0;if(_?(ke(e,1,Pt),t===void 0?t=d.rounding:ke(t,0,8)):(e=d.precision,t=d.rounding),!i.isFinite())c=uo(i);else{for(c=ft(i),s=c.indexOf("."),_?(r=2,o==16?e=e*4-3:o==8&&(e=e*3-2)):r=o,s>=0&&(c=c.replace(".",""),m=new d(1),m.e=c.length-s,m.d=Dn(ft(m),10,r),m.e=m.d.length),f=Dn(c,10,r),n=u=f.length;f[--u]==0;)f.pop();if(!f[0])c=_?"0p+0":"0";else{if(s<0?n--:(i=new d(i),i.d=f,i.e=n,i=Ne(i,m,e,t,0,r),f=i.d,n=i.e,l=Ji),s=f[e],a=r/2,l=l||f[e+1]!==void 0,l=t<4?(s!==void 0||l)&&(t===0||t===(i.s<0?3:2)):s>a||s===a&&(t===4||l||t===6&&f[e-1]&1||t===(i.s<0?8:7)),f.length=e,l)for(;++f[--e]>r-1;)f[e]=0,e||(++n,f.unshift(1));for(u=f.length;!f[u-1];--u);for(s=0,c="";s<u;s++)c+=ea.charAt(f[s]);if(_){if(u>1)if(o==16||o==8){for(s=o==16?4:3,--u;u%s;u++)c+="0";for(f=Dn(c,r,o),u=f.length;!f[u-1];--u);for(s=1,c="1.";s<u;s++)c+=ea.charAt(f[s])}else c=c.charAt(0)+"."+c.slice(1);c=c+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)c="0"+c;c="0."+c}else if(++n>u)for(n-=u;n--;)c+="0";else n<u&&(c=c.slice(0,n)+"."+c.slice(n))}c=(o==16?"0x":o==2?"0b":o==8?"0o":"")+c}return i.s<0?"-"+c:c}function co(i,o){if(i.length>o)return i.length=o,!0}function _f(i){return new this(i).abs()}function Af(i){return new this(i).acos()}function Ef(i){return new this(i).acosh()}function Rf(i,o){return new this(i).plus(o)}function yf(i){return new this(i).asin()}function bf(i){return new this(i).asinh()}function pf(i){return new this(i).atan()}function Nf(i){return new this(i).atanh()}function Vf(i,o){i=new this(i),o=new this(o);var e,t=this.precision,r=this.rounding,n=t+4;return!i.s||!o.s?e=new this(NaN):!i.d&&!o.d?(e=mt(this,n,1).times(o.s>0?.25:.75),e.s=i.s):!o.d||i.isZero()?(e=o.s<0?mt(this,t,r):new this(0),e.s=i.s):!i.d||o.isZero()?(e=mt(this,n,1).times(.5),e.s=i.s):o.s<0?(this.precision=n,this.rounding=1,e=this.atan(Ne(i,o,n,1)),o=mt(this,n,1),this.precision=t,this.rounding=r,e=i.s<0?e.minus(o):e.plus(o)):e=this.atan(Ne(i,o,n,1)),e}function Of(i){return new this(i).cbrt()}function Sf(i){return re(i=new this(i),i.e+1,2)}function Mf(i,o,e){return new this(i).clamp(o,e)}function Df(i){if(!i||typeof i!="object")throw Error(Mn+"Object expected");var o,e,t,r=i.defaults===!0,n=["precision",1,Pt,"rounding",0,8,"toExpNeg",-gr,0,"toExpPos",0,gr,"maxE",0,gr,"minE",-gr,0,"modulo",0,9];for(o=0;o<n.length;o+=3)if(e=n[o],r&&(this[e]=ta[e]),(t=i[e])!==void 0)if(ve(t)===t&&t>=n[o+1]&&t<=n[o+2])this[e]=t;else throw Error(jt+e+": "+t);if(e="crypto",r&&(this[e]=ta[e]),(t=i[e])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(to);else this[e]=!1;else throw Error(jt+e+": "+t);return this}function wf(i){return new this(i).cos()}function Lf(i){return new this(i).cosh()}function fo(i){var o,e,t;function r(n){var s,a,u,l=this;if(!(l instanceof r))return new r(n);if(l.constructor=r,mo(n)){l.s=n.s,le?!n.d||n.e>r.maxE?(l.e=NaN,l.d=null):n.e<r.minE?(l.e=0,l.d=[0]):(l.e=n.e,l.d=n.d.slice()):(l.e=n.e,l.d=n.d?n.d.slice():n.d);return}if(u=typeof n,u==="number"){if(n===0){l.s=1/n<0?-1:1,l.e=0,l.d=[0];return}if(n<0?(n=-n,l.s=-1):l.s=1,n===~~n&&n<1e7){for(s=0,a=n;a>=10;a/=10)s++;le?s>r.maxE?(l.e=NaN,l.d=null):s<r.minE?(l.e=0,l.d=[0]):(l.e=s,l.d=[n]):(l.e=s,l.d=[n]);return}if(n*0!==0){n||(l.s=NaN),l.e=NaN,l.d=null;return}return Pn(l,n.toString())}if(u==="string")return(a=n.charCodeAt(0))===45?(n=n.slice(1),l.s=-1):(a===43&&(n=n.slice(1)),l.s=1),no.test(n)?Pn(l,n):df(l,n);if(u==="bigint")return n<0?(n=-n,l.s=-1):l.s=1,Pn(l,n.toString());throw Error(jt+n)}if(r.prototype=k,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Df,r.clone=fo,r.isDecimal=mo,r.abs=_f,r.acos=Af,r.acosh=Ef,r.add=Rf,r.asin=yf,r.asinh=bf,r.atan=pf,r.atanh=Nf,r.atan2=Vf,r.cbrt=Of,r.ceil=Sf,r.clamp=Mf,r.cos=wf,r.cosh=Lf,r.div=Pf,r.exp=jf,r.floor=Tf,r.hypot=Uf,r.ln=xf,r.log=vf,r.log10=Ff,r.log2=If,r.max=Bf,r.min=kf,r.mod=$f,r.mul=Yf,r.pow=Hf,r.random=Gf,r.round=Wf,r.sign=Qf,r.sin=qf,r.sinh=Xf,r.sqrt=Kf,r.sub=Zf,r.sum=zf,r.tan=Jf,r.tanh=em,r.trunc=tm,i===void 0&&(i={}),i&&i.defaults!==!0)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],o=0;o<t.length;)i.hasOwnProperty(e=t[o++])||(i[e]=this[e]);return r.config(i),r}function Pf(i,o){return new this(i).div(o)}function jf(i){return new this(i).exp()}function Tf(i){return re(i=new this(i),i.e+1,3)}function Uf(){var i,o,e=new this(0);for(le=!1,i=0;i<arguments.length;)if(o=new this(arguments[i++]),o.d)e.d&&(e=e.plus(o.times(o)));else{if(o.s)return le=!0,new this(1/0);e=o}return le=!0,e.sqrt()}function mo(i){return i instanceof U||i&&i.toStringTag===ro||!1}function xf(i){return new this(i).ln()}function vf(i,o){return new this(i).log(o)}function If(i){return new this(i).log(2)}function Ff(i){return new this(i).log(10)}function Bf(){return oo(this,arguments,-1)}function kf(){return oo(this,arguments,1)}function $f(i,o){return new this(i).mod(o)}function Yf(i,o){return new this(i).mul(o)}function Hf(i,o){return new this(i).pow(o)}function Gf(i){var o,e,t,r,n=0,s=new this(1),a=[];if(i===void 0?i=this.precision:ke(i,1,Pt),t=Math.ceil(i/ie),this.crypto)if(crypto.getRandomValues)for(o=crypto.getRandomValues(new Uint32Array(t));n<t;)r=o[n],r>=429e7?o[n]=crypto.getRandomValues(new Uint32Array(1))[0]:a[n++]=r%1e7;else if(crypto.randomBytes){for(o=crypto.randomBytes(t*=4);n<t;)r=o[n]+(o[n+1]<<8)+(o[n+2]<<16)+((o[n+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(o,n):(a.push(r%1e7),n+=4);n=t/4}else throw Error(to);else for(;n<t;)a[n++]=Math.random()*1e7|0;for(t=a[--n],i%=ie,t&&i&&(r=Pe(10,ie-i),a[n]=(t/r|0)*r);a[n]===0;n--)a.pop();if(n<0)e=0,a=[0];else{for(e=-1;a[0]===0;e-=ie)a.shift();for(t=1,r=a[0];r>=10;r/=10)t++;t<ie&&(e-=ie-t)}return s.e=e,s.d=a,s}function Wf(i){return re(i=new this(i),i.e+1,this.rounding)}function Qf(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function qf(i){return new this(i).sin()}function Xf(i){return new this(i).sinh()}function Kf(i){return new this(i).sqrt()}function Zf(i,o){return new this(i).sub(o)}function zf(){var i=0,o=arguments,e=new this(o[i]);for(le=!1;e.s&&++i<o.length;)e=e.plus(o[i]);return le=!0,re(e,this.precision,this.rounding)}function Jf(i){return new this(i).tan()}function em(i){return new this(i).tanh()}function tm(i){return re(i=new this(i),i.e+1,1)}k[Symbol.for("nodejs.util.inspect.custom")]=k.toString,k[Symbol.toStringTag]="Decimal";var U=k.constructor=fo(ta);On=new U(On),Sn=new U(Sn);function rm(i,o){const e=i+o;return Number.isSafeInteger(e)?e:new U(i).add(o).toNumber()}function nm(i,o){const e=i-o;return Number.isSafeInteger(e)?e:new U(i).sub(o).toNumber()}function Cr(i,o){const e=i*o;return Number.isSafeInteger(e)?e:new U(i).mul(o).toNumber()}function sm(i,o){const e=i/o;return Number.isSafeInteger(e)?e:new U(i).div(o).toNumber()}function xt(i,o){const e=10**Math.trunc(o),t=Tn(i,e);return Math.round(Cr(i,e)+t)/e}function Qe(i,o){const e=10**Math.trunc(o),t=Tn(i,e);return Math.floor(Cr(i,e)+t)/e}function $e(i,o){const e=10**Math.trunc(o),t=Tn(i,e);return Math.ceil(Cr(i,e)-t)/e}function Tn(i,o){return Number.EPSILON*Math.max(1,Math.abs(Cr(i,o)))}function ho(i,o){return i-o*Math.floor(i/o)}function am(i,o){return i**o}function im(i){return Math.sqrt(i)}function go(i,o){return i===o}function om(i,o){return i>o}function um(i,o){return i>=o}function lm(i,o){return i<o}function cm(i,o){return i<=o}function aa(i,o=15){return Math.floor(Math.abs(i)).toString().length>=o?i:Number.parseFloat(i.toPrecision(o))}function fm(i,o,e=Number.EPSILON){return Math.abs(i-o)<e}function Un(i,o=12,e=1e-10){const t=aa(i,o);return fm(i,t,e)?t:aa(i)}function mm(i){return i-Math.trunc(i)}const gs=class gs extends yt{static create(){return this._instance=this._instance||new gs(0),this._instance}isNull(){return!0}plus(o){return b.create(0).plus(o)}minus(o){return b.create(0).minus(o)}multiply(o){return b.create(0).multiply(o)}divided(o){return b.create(0).divided(o)}mod(o){return b.create(0).mod(o)}compare(o,e){return o.isString()?x.create("").compare(o,e):o.isBoolean()?F.create(!1).compare(o,e):b.create(0).compare(o,e)}concatenateFront(o){return o.isArray()?o.concatenateBack(x.create("")):x.create(this.concatenate(o.getValue(),rt.FRONT))}concatenateBack(o){return o.isArray()?o.concatenateFront(x.create("")):x.create(this.concatenate(o.getValue(),rt.BACK))}plusBy(o){return b.create(0).plusBy(o)}minusBy(o){return b.create(0).minusBy(o)}multiplyBy(o){return b.create(0).multiplyBy(o)}dividedBy(o){return b.create(0).dividedBy(o)}compareBy(o,e){return typeof o=="string"?x.create("").compareBy(o,e):typeof o=="boolean"?F.create(!1).compareBy(o,e):b.create(0).compareBy(o,e)}pow(o){return b.create(0).pow(o)}sqrt(){return b.create(0).sqrt()}cbrt(){return b.create(0).cbrt()}cos(){return b.create(0).cos()}cosh(){return b.create(0).cosh()}acos(){return b.create(0).acos()}acosh(){return b.create(0).acosh()}sin(){return b.create(0).sin()}sinh(){return b.create(0).sinh()}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(o){return b.create(0).atan2(o)}atanh(){return b.create(0).atanh()}log(){return g.create(h.NUM)}log10(){return g.create(h.NUM)}exp(){return b.create(0).exp()}abs(){return b.create(0).abs()}round(o){return b.create(0).round(o)}floor(o){return b.create(0).floor(o)}ceil(o){return b.create(0).ceil(o)}convertToNumberObjectValue(){return b.create(0)}convertToBooleanObjectValue(){return F.create(!1)}};A(gs,"_instance");let ce=gs;const ar=class ar extends yt{constructor(e){super(e);A(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new ar(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new ar(!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):g.create(h.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,Js(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const n=b.create(e?1:0);return this._convertToNumber().compare(n,t)}return ar.create(r)}_compareString(e){switch(e){case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!0;case H.EQUALS:case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){const e=this.getValue();let t=0;return e&&(t=1),b.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return Fr(this.getValue())}convertToBooleanObjectValue(){return this}};A(ar,"_instanceTrue"),A(ar,"_instanceFalse");let F=ar;class b extends yt{constructor(e){super(e);A(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=new b(e);return t&&r.setPattern(t),r}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);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.plusBy(t.getValue());if(r.isError())return r;const n=Vn(this.getPattern(),t.getPattern(),z.PLUS);return r=b.create(Number(r.getValue()),n),r}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.minusBy(t.getValue());if(r.isError())return r;const n=Vn(this.getPattern(),t.getPattern(),z.MINUS);return r=b.create(Number(r.getValue()),n),r}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.multiplyBy(t.getValue());if(r.isError())return r;const n=Vn(this.getPattern(),t.getPattern(),z.MULTIPLY);return r=b.create(Number(r.getValue()),n),r}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.dividedBy(t.getValue());if(r.isError())return r;const n=Vn(this.getPattern(),t.getPattern(),z.DIVIDED);return r=b.create(Number(r.getValue()),n),r}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return g.create(h.DIV_BY_ZERO);if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(r===0)return g.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return g.create(h.NUM);const n=ho(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}if(typeof r=="boolean"){const n=r?1:0;return n===0?g.create(h.DIV_BY_ZERO):b.create(ho(t,n))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):x.create(this.concatenate(e.getValue(),rt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):x.create(this.concatenate(e.getValue(),rt.BACK))}isDateFormat(){const e=this.getPattern();return S.numfmt.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Js(t));let r=!1;return e.isDateFormat()&&this.isDateFormat()&&(r=!0),this.compareBy(e.getValue(),t,r)}plusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=rm(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}minusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=nm(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}multiplyBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Cr(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}dividedBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(r===0)return g.create(h.DIV_BY_ZERO);const n=sm(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}compareBy(e,t,r=!1){const n=this.getValue();let s=!1,a=n,u=e;return r&&(a=Math.round(n*1e8)/1e8,u=Math.round(e*1e8)/1e8),typeof u=="string"?s=this._compareString(t):typeof u=="number"?s=this._compareNumber(a,u,t):typeof u=="boolean"&&(s=this._compareBoolean(t)),F.create(s)}_compareString(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}_compareNumber(e,t,r){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,r):this._compareFiniteNumber(e,t,r)}_compareFiniteNumber(e,t,r){switch(r){case H.EQUALS:return go(e,t);case H.GREATER_THAN:return om(e,t);case H.GREATER_THAN_OR_EQUAL:return um(e,t);case H.LESS_THAN:return lm(e,t);case H.LESS_THAN_OR_EQUAL:return cm(e,t);case H.NOT_EQUAL:return!go(e,t)}}_compareBoolean(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);if(this.isError())return this;const t=this.getValue();let r=e;if(e.isString()&&(r=e.convertToNumberObjectValue()),r.isError())return r;const n=+r.getValue();if(Number.isNaN(n))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(n))return g.create(h.NUM);if(t===0)return n<0?g.create(h.DIV_BY_ZERO):n===0?g.create(h.NUM):b.create(0);const s=am(t,n);return Number.isFinite(s)?b.create(s):g.create(h.NUM)}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=im(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cos(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}cosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cosh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acos(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acosh(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sin(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sinh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asin(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asinh(e);return Number.isNaN(t)?g.create(h.NUM):b.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tan(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tanh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atan(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(t===0&&r===0)return g.create(h.DIV_BY_ZERO);const n=Math.atan2(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atanh(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log10(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.exp(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.abs(e);return Number.isFinite(t)?b.create(t):g.create(h.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-xt(Math.abs(t),r):xt(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(xt(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Qe(Math.abs(t),r):Qe(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create(Qe(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-$e(Math.abs(t),r):$e(t,r);return Number.isFinite(n)?b.create(n):g.create(h.NUM)}return typeof r=="boolean"?b.create($e(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return xn(!0)}_compareInfinity(e,t,r){let n=!1;switch(r){case H.EQUALS:n=e===t;break;case H.GREATER_THAN:n=e>t;break;case H.GREATER_THAN_OR_EQUAL:n=e>=t;break;case H.LESS_THAN:n=e<t;break;case H.LESS_THAN_OR_EQUAL:n=e<=t;break;case H.NOT_EQUAL:n=e!==t;break}return n}}const hm=1e5,ia=new Rt(hm);class x extends yt{constructor(e){super(e);A(this,"_value");A(this,"_isHyperlink",!1);A(this,"_hyperlinkUrl","");A(this,"_isImage",!1);A(this,"_imageInfo");this._value=e}static create(e,t){var s;const r=ia.get(e);if(r&&t&&this.checkCacheByOptions(r,t))return r;const n=new x(e);return t!=null&&t.isHyperlink&&(n._isHyperlink=t.isHyperlink,n._hyperlinkUrl=(s=t.hyperlinkUrl)!=null?s:""),t!=null&&t.isImage&&(n._isImage=t.isImage,n._imageInfo=t.imageInfo),ia.set(e,n),n}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!S.Tools.diffValue(e.getImageInfo(),t.imageInfo))}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}isImage(){return this._isImage}getImageInfo(){return this._imageInfo}concatenateFront(e){return e.isArray()?e.concatenateBack(this):x.create(this.concatenate(e.getValue(),rt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):x.create(this.concatenate(e.getValue(),rt.BACK))}plus(e){return this.convertToNumberObjectValue().plus(e)}minus(e){return this.convertToNumberObjectValue().minus(e)}multiply(e){return this.convertToNumberObjectValue().multiply(e)}divided(e){return this.convertToNumberObjectValue().divided(e)}compare(e,t,r){return e.isArray()?e.compare(this,Js(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let n=this.getValue(),s=!1;if(typeof e=="string"){let a=e;if(r||(n=n.toLocaleLowerCase(),a=a.toLocaleLowerCase()),Xi(a))return this._checkWildcard(a,t);s=this._compareString(n,a,t)}else typeof e=="number"?s=this._compareNumber(t):typeof e=="boolean"&&(s=this._compareBoolean(t));return F.create(s)}_compareString(e,t,r){switch(r){case H.EQUALS:return e===t;case H.GREATER_THAN:return e>t;case H.GREATER_THAN_OR_EQUAL:return e>=t;case H.LESS_THAN:return e<t;case H.LESS_THAN_OR_EQUAL:return e<=t;case H.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case H.NOT_EQUAL:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!0;case H.EQUALS:case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case H.EQUALS:case H.GREATER_THAN:case H.GREATER_THAN_OR_EQUAL:return!1;case H.LESS_THAN:case H.LESS_THAN_OR_EQUAL:case H.NOT_EQUAL:return!0}}convertToNumberObjectValue(){const e=this.getValue(),t=S.getNumfmtParseValueFilter(e);return t&&t.z?Fr(t.v,t.z):Fr(e)}convertToBooleanObjectValue(){return F.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),n=Kc(r,e,t);return F.create(n)}}function xn(i){if(typeof i=="boolean")return F.create(i);let o=!1;if(typeof i=="string"){const e=i.toLocaleUpperCase();e===Mt.TRUE?o=!0:e===Mt.FALSE&&(o=!1)}else i===1?o=!0:o=!1;return F.create(o)}function gm(i){let o=i.toString();return o.charAt(0)==='"'&&o.charAt(o.length-1)==='"'&&(o=o.slice(1,-1),o=o.replace(/""/g,'"')),x.create(o)}function Fr(i,o=""){if(typeof i=="boolean"){let e=0;return i&&(e=1),b.create(e,o)}else{if(typeof i=="number")return Number.isFinite(i)?b.create(i,o):g.create(h.NUM);if(S.isRealNum(i))return b.create(Number(i),o)}return g.create(h.VALUE)}function dm(i){return""}function Co(i=[],o=!1){const e=[];for(let t=0;t<i.length;t++){const r=i[t];e[t]==null&&(e[t]=[]);for(let n=0;n<r.length;n++){const s=r[n];e[t][n]=ht.create(s,o)}}return e}function Cm(i=[]){const o=[];for(let e=0;e<i.length;e++){const t=i[e];o[e]==null&&(o[e]=[]);for(let r=0;r<t.length;r++){const n=t[r];n==null?o[e][r]=null:n.isError()?o[e][r]=n.getErrorType():o[e][r]=n.getValue()}}return o}class Z extends yt{constructor(e){super(typeof e=="string"?e:dm());A(this,"_values",[]);A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"_unitId","");A(this,"_sheetId","");A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_sliceCache",new Map);A(this,"_flattenCache");A(this,"_defaultValue",null);A(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new Z(e)}static createByArray(e){const r={calculateValueList:Co(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new Z(r)}dispose(){this._values=[],this._defaultValue=null,this._flattenPosition=null,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 r;return((r=this._values[e])==null?void 0:r[t])||this._defaultValue}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const n=r[t];return n==null?null:n}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount){console.error("Exceeding array bounds.");return}this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,n=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:n-1}}iterator(e){var u;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let l=t;l<=r;l++)for(let c=n;c<=s;c++)if(e(((u=a[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let l=r;l>=t;l--)for(let c=s;c>=n;c--)if(e(((u=a[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!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(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[ce.create()]];const n=[];n[0]=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.get(s,a);if(!(u==null||u.isError())&&u.getValue()===!0){const l=this.get(s,a);n[0].push(l)}}return n}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let n=0;n<this._columnCount;n++){const s=this.get(r,n);e[0].push(s)}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=[],r=[],n=[];let s=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()){s++;continue}c.isString()?(e.push(c),r.push(s++)):(t.push(c),n.push(s++))}const a={stringArray:e,numberArray:t,stringPosition:r,numberPosition:n};return this._flattenPosition=a,a}slice(e,t){let r=0,n=this._rowCount,s=1,a=0,u=this._columnCount,l=1;if(e!=null&&(r=e[0]||0,n=e[1]||this._rowCount,s=e[2]||1),t!=null&&(a=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),r>=this._rowCount||a>=this._columnCount)return;const c=`${r}_${n}_${s}_${a}_${u}_${l}`,f=this._sliceCache.get(c);if(f!=null)return f;const m=[],d=this._values;let _=0,C=0;for(let p=r;p<n;p+=s){C=0,m[_]==null&&(m[_]=[]);for(let N=a;N<u;N+=l){if(!d[p])return;let M=d[p][N]||this._defaultValue;M==null&&(M=ce.create()),m[_][C]=M,C++}_++}if(m.length===0||m[0].length===0)return;const E=s>1?-1:r+this._currentRow,R=l>1?-1:a+this._currentColumn,y=this._createNewArray(m,m.length,m[0].length,E,R);return y.setDefaultValue(this._defaultValue),this._sliceCache.set(c,y),y}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,r=this._columnCount,n=this._createNewArray(e,r,t);return n.setDefaultValue(this._defaultValue),n}orderSearch(e,t=Le.MIN,r=!1,n=!1){let s,a,u,l;const c=(f,m,d)=>{if(f==null||f.isNull())return!0;let _;if(n===!0?_=f.compare(e,H.EQUALS):_=f.isEqual(e),(_==null?void 0:_.getValue())===!0)return s=f,u={row:m,column:d},!1;t===Le.MAX?f.isGreaterThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,l={row:m,column:d}):t===Le.MIN&&f.isLessThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,l={row:m,column:d})};if(r?this.iteratorReverse((f,m,d)=>c(f,m,d)):this.iterator((f,m,d)=>c(f,m,d)),s!=null)return u;if(a!=null)return l}binarySearch(e,t=Gt.MIN,r=Le.MIN){if(e.isError())return;const{stringArray:n,stringPosition:s,numberArray:a,numberPosition:u}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,s,t,r):this._binarySearch(e,a,u,t,r)}_binarySearch(e,t,r,n=Gt.MIN,s=Le.MIN){const a=Nn(),u=Number(e.getValue()),l=!Number.isNaN(u);let c=0,f=t.length-1,m=-1,d=-1,_=-1;for(;c<=f;){const C=Math.floor((c+f)/2),E=t[C];let R;if(E.isNull())R=n===Gt.MIN?1:-1;else{const y=E.getValue();if(l){const p=Number(y);R=Number.isNaN(p)?1:Math.sign(p-u)}else R=a(y.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(n===Gt.MAX&&(R=-R),R===0){m=C;break}R<0?(d=C,c=C+1):(_=C,f=C-1)}if(s===Le.NORMAL)return m!==-1?r[m]:void 0;if(s===Le.MIN)return m!==-1?r[m]:n===Gt.MIN?r[d]:r[_];if(s===Le.MAX)return m!==-1?r[m]:n===Gt.MIN?r[_]:r[d]}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=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return Z.create("{0}").minus(this)}getReciprocal(){return Z.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,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,n,s)=>r==null?ce.create():r.isError()?r:e(r,n,s);return this.mapValue(t)}mapValue(e){var s;const t=this._rowCount,r=this._columnCount,n=[];for(let a=0;a<t;a++){const u=[];for(let l=0;l<r;l++){const c=(s=this._values)==null?void 0:s[a];if(c==null)u[l]=g.create(h.VALUE);else{const f=c[l]||this._defaultValue;f?u[l]=e(f,a,l):u[l]=ce.create()}}n.push(u)}return this._createNewArray(n,t,r)}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())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}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())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}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(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||ce.create();if(t.sortByRow(0),r%2===0){const n=t.get(0,r/2)||ce.create(),s=t.get(0,r/2-1)||ce.create();return n.plus(s).divided(b.create(2))}return t.get(0,(r-1)/2)||ce.create()}var(e=0){const t=this.mean(),r=[[]];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()||r[0].push(f)});const{_unitId:n,_sheetId:s,_currentRow:a,_currentColumn:u}=this;return Z.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:n,sheetId:s,row:a,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 Cm(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Nn();return(r,n)=>{const s=r[e],a=n[e];return s==null?1:a==null?-1:s.isError()&&s.isError()?0:s.isError()?1:a.isError()?-1:t(s.getValue(),a.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_batchOperator(e,t,r,n){const s=[];let a=this._rowCount,u=this._columnCount;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();if(a=Math.max(f,a),u=Math.max(m,u),f===1&&m===1){const d=e.getFirstCell();for(let _=0;_<u;_++)s.push(d)}else if(f===1&&this._columnCount>1){const d=e.getArrayValue();for(let _=0;_<u;_++)d[0]&&d[0][_]?s.push(d[0][_]):s.push(ce.create())}else return this._batchOperatorArray(e,t,r,n)}else for(let f=0;f<u;f++)s.push(e);const l=[];for(let f=0;f<u;f++){const m=s[f];this._batchOperatorValue(m,f,l,t,r,n)}const c=this._createNewArray(l,a,u);return c.setDefaultValue(F.create(!1)),c}_batchOperatorValue(e,t,r,n,s,a){const u=this._rowCount,l=this.getUnitId(),c=this.getSheetId(),f=this.getCurrentRow(),m=this.getCurrentColumn();if(n===5){const{rowsInCache:d,rowsNotInCache:_}=Ge.canUseCache(l,c,t+m,f,f+u-1);if(d.length>0){if(s===H.EQUALS&&!(e.isString()&&Xi(e.getValue()))){const C=Ge.getCellPositions(l,c,t+m,e.isNull()?null:e.getValue(),d);C!=null&&C.forEach(E=>{if(E<f||E>f+u-1)return;const R=E-f;r[R]==null&&(r[R]=[]),r[R][t]=F.create(!0)})}else{const C=Ge.getCellValuePositions(l,c,t+m);C!=null&&C.forEach((E,R)=>{let y=ce.create();wt.has(R)?y=g.create(R):typeof R=="string"?y=x.create(R):typeof R=="number"?y=b.create(R):typeof R=="boolean"&&(y=F.create(R));let p;y.isError()?p=y:e.isError()?p=e:p=y.compare(e,s,a),E.forEach(N=>{N>=f&&N<=f+u-1&&(r[N-f]==null&&(r[N-f]=[]),r[N-f][t]=p)})})}if(_.length>0)for(const C of _){const[E,R]=C;for(let y=E;y<=R;y++)this.__batchOperatorRowValue(e,t,r,n,y-f,l,c,f,m,s,a);Ge.setContinueBuildingCache(l,c,t+m,E,R)}return}}for(let d=0;d<u;d++)this.__batchOperatorRowValue(e,t,r,n,d,l,c,f,m,s,a);Ge.setContinueBuildingCache(l,c,t+m,f,f+u-1)}__batchOperatorRowValue(e,t,r,n,s,a,u,l,c,f,m){const d=this.getValueOrDefault(s,t);if(r[s]==null&&(r[s]=[]),d&&e)if(d.isError())r[s][t]=d;else if(e.isError())r[s][t]=e;else switch(n){case 1:r[s][t]=d.plus(e);break;case 0:r[s][t]=d.minus(e);break;case 2:r[s][t]=d.multiply(e);break;case 3:r[s][t]=d.divided(e);break;case 4:r[s][t]=d.mod(e);break;case 5:f?r[s][t]=d.compare(e,f,m):r[s][t]=g.create(h.VALUE);break;case 6:r[s][t]=d.concatenateFront(e);break;case 7:r[s][t]=d.concatenateBack(e);break;case 8:r[s][t]=d.pow(e);break;case 9:r[s][t]=d.round(e);break;case 10:r[s][t]=d.floor(e);break;case 12:r[s][t]=d.atan2(e);break;case 11:r[s][t]=d.ceil(e);break}else r[s][t]=g.create(h.NA);!d||d!=null&&d.isNull()?Ge.set(a,u,t+c,Hs,s+l):Ge.set(a,u,t+c,d.getValue(),s+l)}_batchOperatorArray(e,t,r,n){let s=e.getRowCount(),a=e.getColumnCount();s<this._rowCount&&(s=this._rowCount),a<this._columnCount&&(a=this._columnCount);const u=[],l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let f=0;f<s;f++){const m=[];for(let d=0;d<a;d++){let _;l===3?_=this.getValueOrDefault(0,0):l===1?_=this.getValueOrDefault(0,d):l===2?_=this.getValueOrDefault(f,0):_=this.getValueOrDefault(f,d);let C;if(c===3?C=e.getValueOrDefault(0,0):c===1?C=e.getValueOrDefault(0,d):c===2?C=e.getValueOrDefault(f,0):C=e.getValueOrDefault(f,d),_&&C)if(_.isError())m[d]=_;else if(C.isError())m[d]=C;else switch(t){case 1:m[d]=_.plus(C);break;case 0:m[d]=_.minus(C);break;case 2:m[d]=_.multiply(C);break;case 3:m[d]=_.divided(C);break;case 4:m[d]=_.mod(C);break;case 5:r?m[d]=_.compare(C,r,n):m[d]=g.create(h.VALUE);break;case 6:m[d]=_.concatenateFront(C);break;case 7:m[d]=_.concatenateBack(C);break;case 8:m[d]=_.pow(C);break;case 9:m[d]=_.round(C);break;case 12:m[d]=_.atan2(C);break;case 10:m[d]=_.floor(C);break;case 11:m[d]=_.ceil(C);break}else m[d]=g.create(h.NA)}u.push(m)}return this._createNewArray(u,s,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,n=[];let s=0;for(let a=0;a<r;a++){const l=t[a].split(","),c=l.length;s<c&&(s=c);const f=[];for(let m=0;m<c;m++){const d=l[m].trim();f.push(ht.create(d))}n.push(f)}return this._rowCount=r,this._columnCount=s,n}_createNewArray(e,t,r,n=-1,s=-1){(this._currentColumn===-1||this._currentRow===-1)&&(n=-1,s=-1);const a={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:s};return Z.create(a)}}class ht{static create(o,e=!1){if(o==null)return ce.create();if(typeof o=="boolean")return F.create(o);if(typeof o=="string"){const t=o.toLocaleUpperCase().trim();if(wt.has(t))return g.create(t);if(t===Mt.TRUE||t===Mt.FALSE)return xn(o);if(S.isRealNum(o))return b.create(Number(o));if(!e){const{isNumberPattern:n,value:s,pattern:a}=of(o);if(n)return b.create(s,a)}const r=o.replace(/\n/g,"").replace(/\r/g,"");return!_m(r)&&Ec(r)?Z.create(r):gm(o)}return typeof o=="number"?Fr(o):g.create(h.VALUE)}}function _m(i){const o=i.trim();return o.startsWith('"')&&o.endsWith('"')}const Am=1e4,_r=new Rt(Am);class Wt extends zr{constructor(e){super();A(this,"_forcedSheetId","");A(this,"_forcedSheetName","");A(this,"_defaultSheetId","");A(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_filteredOutRows",[]);A(this,"_defaultUnitId","");A(this,"_forcedUnitId","");A(this,"_runtimeData",{});A(this,"_arrayFormulaCellData",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeFeatureCellData",{});A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);A(this,"_currentRow");A(this,"_currentColumn");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:r,endColumn:n}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||n>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){const{x:e,y:t}=this.getRefOffset(),r=this.getRangeData();let{startRow:n,startColumn:s,endRow:a,endColumn:u}=S.moveRangeByOffset(r,e,t);return Number.isNaN(n)&&(n=0),Number.isNaN(s)&&(s=0),Number.isNaN(a)&&(a=this.getActiveSheetRowCount()-1),Number.isNaN(u)&&(u=this.getActiveSheetColumnCount()-1),{startRow:n,endRow:a,startColumn:s,endColumn:u}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(g.create(h.VALUE),t,n);const a=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=r;l++)for(let c=n;c<=s;c++){if(l<0||c<0)return e(g.create(h.REF),l,c);const f=this.getCellData(l,c);let m=!1;if(pn(f)){m=e(null,l,c);continue}let d=this.getCellValueObject(f);if(l===t&&c===n){const _=this.getCellPattern(a,u,l,c);if(_&&d.isNumber()){const C=Number(d.getValue());d=b.create(C,_)}}if(m=e(d,l,c),m===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return g.create(h.VALUE);const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return b.create(0);let n=this.getCellValueObject(r);const s=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(s,a,e,t);if(u&&n.isNumber()){const l=Number(n.getValue());n=b.create(l,u)}return n}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}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=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(){const e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){const e=this.getRangeData();return e.endColumn-e.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}isCurrentRowForRange(){return!1}isCurrentColumnForRange(){return!1}isMultiArea(){return!1}unionBy(e){return g.create(h.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=qc(e);if(wt.has(t))return g.create(t);if(e.t===S.CellValueType.NUMBER){const r=this._getPatternByCell(e);return S.isTextFormat(r)?x.create(t.toString()):Fr(t,r)}return e.t===S.CellValueType.STRING||e.t===S.CellValueType.FORCE_STRING?x.create(t.toString()):e.t===S.CellValueType.BOOLEAN?xn(t):ht.create(t)}_getPatternByCell(e){var n;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((n=r==null?void 0:r.n)==null?void 0:n.pattern)||""}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 r=this.getCurrentActiveSheetData(),n=this.getCurrentRuntimeSheetData(),s=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData();return(n==null?void 0:n.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(s==null?void 0:s.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){return qi(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let r=e,n=t;const s=this.getRangeData();r||(r=s.startRow),n||(n=s.startColumn);const a=this.getCellData(r,n);return a?this.getCellValueObject(a):g.create(h.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,r,n){var l,c,f,m;const s=this._unitStylesData[e];if(!s)return"";const a=(f=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:f.getValue(r,n);if(!a)return"";const u=s.getStyleByCell(a);return((m=u==null?void 0:u.n)==null?void 0:m.pattern)||""}toArrayValueObject(e=!0){var _;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${n}_${s}`,u=_r.get(a);if(u&&e)return u;const l=r-t+1,c=s-n+1;if(l<0||c<0)return this._getBlankArrayValueObject();const f=new Array(l);this.iterator((C,E,R)=>{const y=E-t,p=R-n;f[y]||(f[y]=new Array(c)),C==null&&(C=ce.create()),f[y][p]=C});const m={calculateValueList:f,rowCount:f.length,columnCount:((_=f[0])==null?void 0:_.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:n},d=Z.create(m);return e&&_r.set(a,d),d}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 Z.create(e)}}class _o extends zr{constructor(o){super(),this._promise=o}isAsyncObject(){return!0}async getValue(){return this._promise}}class Ao extends zr{constructor(o){super(),this._promiseList=o}isAsyncArrayObject(){return!0}async getValue(){var t;const o=[];for(let r=0;r<this._promiseList.length;r++){const n=this._promiseList[r];o[r]==null&&(o[r]=[]);for(let s=0;s<n.length;s++){const a=n[s];a.isAsyncObject()?o[r][s]=await a.getValue():o[r][s]=a}}const e={calculateValueList:o,rowCount:o.length,columnCount:((t=o[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return Z.create(e)}}class Br extends Wt{constructor(o,e,t){super(""),this.setRangeData(o),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}class oa extends Wt{constructor(o){super(o);const e=Yt(o);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(o){if(!o.isCell())return g.create(h.REF);const e=o,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(o,e){const t=o.startRow,r=o.startColumn,n=e.startRow,s=e.startColumn,a={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>n?(a.startRow=n,a.endRow=t):(a.startRow=t,a.endRow=n),r>s?(a.startColumn=s,a.endColumn=r):(a.startColumn=r,a.endColumn=s),o.startAbsoluteRefType&&(a.startAbsoluteRefType=o.startAbsoluteRefType),e.startAbsoluteRefType&&(a.endAbsoluteRefType=e.startAbsoluteRefType),a}_createRange(o){const e=new Br(o,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:r}=this.getRefOffset();e.setRefOffset(t,r);const n=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),n!=null&&e.setForcedSheetIdDirect(n);const s=this.getForcedUnitId();return s&&e.setForcedUnitIdDirect(s),e}}class ua extends Wt{constructor(o){super(o);const e=Yt(o);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:e.range.endColumn,endRow:Number.NaN,rangeType:S.RANGE_TYPE.COLUMN};this.setRangeData(t)}isColumn(){return!0}unionBy(o){if(!o.isColumn())return g.create(h.REF);const e=o;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startColumn;if(n>=t.startColumn&&n<=t.endColumn)return this;const s=t.startColumn;return n>s?t.endColumn=n:(t.startColumn=n,t.endColumn=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=S.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class la extends Wt{constructor(o){super(o);const e=Yt(o);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:e.range.endRow,rangeType:S.RANGE_TYPE.ROW};this.setRangeData(t)}isRow(){return!0}unionBy(o){if(!o.isRow())return g.create(h.REF);const e=o;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startRow;if(n>=t.startRow&&n<=t.endRow)return this;const s=t.startRow;return n>s?t.endRow=n:(t.startRow=n,t.endRow=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=S.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}function O(i,o,e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<i;a++){const u=[];for(let l=0;l<o;l++){if(r===1&&n===1){const f=e.isArray()?e.get(0,0):e;u.push(f);continue}if(r===1&&l<n){const f=e.get(0,l);u.push(f);continue}if(n===1&&a<r){const f=e.get(a,0);u.push(f);continue}if(a>=r||l>=n){u.push(t!=null?t:ce.create());continue}const c=e.get(a,l);u.push(c)}s.push(u)}return at(s,i,o)}function at(i,o,e,t="",r=""){const n={calculateValueList:i,rowCount:o,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return Z.create(n)}function ca(i){const o=[H.EQUALS,H.NOT_EQUAL,H.GREATER_THAN_OR_EQUAL,H.GREATER_THAN,H.LESS_THAN_OR_EQUAL,H.LESS_THAN];for(const e of o)if(i.startsWith(e)){const t=i.substring(e.length);return[e,ht.create(t)]}return[H.EQUALS,ht.create(i)]}function vn(i,o,e,t){if(!e)if(o.isString()){const r=`${o.getValue()}`,[n,s]=ca(r);e=n,o=s}else e=H.EQUALS;return i.compare(o,e,t)}function Em(i,o){const e=Math.max(i.isArray()?i.getRowCount():1,o.isArray()?o.getRowCount():1),t=Math.max(i.isArray()?i.getColumnCount():1,o.isArray()?o.getColumnCount():1),r=O(e,t,i),n=O(e,t,o);return r.mapValue((s,a,u)=>{const l=n.get(a,u);return s!=null&&s.isError()?s:l!=null&&l.isError()?l:s!=null&&s.isBoolean()&&(l!=null&&l.isBoolean())?xn(s.getValue()&&l.getValue()):F.create(!1)})}function Rm(i){const o=i.getValue();let e=0;return o&&(e=1),b.create(e)}function Eo(i){return i.isArray()&&i.getRowCount()===1&&i.getColumnCount()===1?!0:i.isReferenceObject()?!!(i.isCell()||i.getRowCount()===1&&i.getColumnCount()===1):(i=i,!!(i.isString()||i.isNumber()||i.isBoolean()||i.isError()||i.isNull()))}function ym(i){const o=i==null?void 0:i.getPattern();let e={},t={};if(o&&(e={s:{n:{pattern:o}}}),i!=null&&i.getCustomData()&&(t={custom:i.getCustomData()}),i==null)return{v:null,...e};if(i.isError())return{v:i.getErrorType(),t:S.CellValueType.STRING,...e,...t};if(i.isValueObject()){const r=i,n=r.getValue();return r.isNumber()?{v:n,t:S.CellValueType.NUMBER,...e,...t}:r.isBoolean()?{v:n?1:0,t:S.CellValueType.BOOLEAN,...e,...t}:r.isString()?{v:n,t:S.CellValueType.STRING,...e,...t}:r.isNull()?{v:null,...e,...t}:{v:n,t:S.CellValueType.STRING,...e,...t}}}function bm(i){let o=0,e=0;return i.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const n=t;o=Math.max(o,n.getRowCount()),e=Math.max(e,n.getColumnCount())}else o=Math.max(o,1),e=Math.max(e,1)}),{maxRowLength:o,maxColumnLength:e}}function kr(i,o){if(i.length===0||i.length%2!==0)return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let e=null,t=-1,r=-1;if(o){if(!o.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};e=o.toArrayValueObject(),t=e.getRowCount(),r=e.getColumnCount()}let n=0,s=0,a=!1;const u=[];for(let l=0;l<i.length;l++)if(l%2===1){const c=i[l-1],f=i[l];if(!c.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};const m=c.toArrayValueObject(),d=m.getRowCount(),_=m.getColumnCount();l===1&&t===-1&&r===-1?(t=d,r=_):!a&&(t!==d||r!==_)&&(a=!0);let C=f;f.isReferenceObject()&&(C=f.toArrayValueObject()),n=Math.max(n,C.isArray()?C.getRowCount():1),s=Math.max(s,C.isArray()?C.getColumnCount():1),u.push(m),u.push(C)}return{isError:!1,errorObject:null,rangeIsDifferentSize:a,criteriaMaxRowLength:n,criteriaMaxColumnLength:s,targetRange:e,variants:u}}function fa(i){return i.isArray()?i:Z.createByArray([[i.getValue()]])}function $r(i,o,e,t=!1){const r=[];for(let n=0;n<i.length;n++){if(n%2===1)continue;const s=i[n],a=i[n+1];O(o,e,a,g.create(h.NA)).iterator((l,c,f)=>{if(!l)return;let m=vn(s,l);if(t&&(m=In(m,s,l)),r[c]===void 0&&(r[c]=[]),r[c][f]===void 0){r[c][f]=m;return}r[c][f]=Em(r[c][f],m)})}return r}function In(i,o,e){const[t,r]=ca(`${e.getValue()}`);return i.mapValue((n,s,a)=>{const u=o.get(s,a);if(u&&pm(u,r))return n;if(u!=null&&u.isError()&&r.isError()&&u.getValue()===r.getValue())return F.create(!0);if(t===H.EQUALS||t===H.NOT_EQUAL){if(u!=null&&u.isNumber()&&r.isString()){const l=r.convertToNumberObjectValue();if(l.isNumber())return u.compare(l,t)}if(r.isNumber()&&(u!=null&&u.isString())){const l=u.convertToNumberObjectValue();if(l.isNumber())return l.compare(r,t)}if(t===H.EQUALS)return F.create(!1);if(t===H.NOT_EQUAL)return F.create(!0)}return F.create(!1)})}function pm(i,o){if(i.isNumber()&&o.isNumber()||i.isBoolean()&&o.isBoolean())return!0;const e=i.isString()&&i.getValue()==="",t=o.isString()&&o.getValue()==="";return!!((e||i.isNull())&&(t||o.isNull())||i.isString()&&!e&&o.isString()&&!t)}var Yr=(i=>(i[i.CELL=0]="CELL",i[i.COLUMN=1]="COLUMN",i[i.ROW=2]="ROW",i))(Yr||{});function Nm(i,o){let e;switch(o){case 1:e=new ua(i);break;case 2:e=new la(i);break;default:e=new oa(i);break}return e}function Vm(i,o){let e;return i.isCell()&&o.isCell()||i.isRow()&&o.isRow()||i.isColumn()&&o.isColumn()?e=i.unionBy(o):e=g.create(h.NAME),e}var Om=Object.getOwnPropertyDescriptor,Sm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Om(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Mm=(i,o)=>(e,t)=>o(e,t,i);w.HyperlinkEngineFormulaService=class extends S.Disposable{constructor(o){super(),this._univerInstanceService=o}generateCellValue(o,e){if(e.trim()==="")return{v:""};let t=o;if(o.startsWith("#")&&ys(o.slice(1))){const{unitId:r,sheetName:n,range:s}=fr(o.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(S.UniverInstanceType.UNIVER_SHEET);if(r===""||r===a.getUnitId())if(n==="")t=`#gid=${a.getActiveSheet().getSheetId()}&range=${pt(s)}`;else{const u=a.getSheetBySheetName(n);u&&(t=`#gid=${u.getSheetId()}&range=${pt(s)}`)}}else S.Tools.isLegalUrl(o)&&(t=S.Tools.normalizeUrl(o));return{p:S.RichTextBuilder.create().insertLink(e,t).getData()}}},w.HyperlinkEngineFormulaService=Sm([Mm(0,S.IUniverInstanceService)],w.HyperlinkEngineFormulaService);const ma=S.createIdentifier("univer.formula.hyperlink-engine-formula.service");var Dm=Object.getOwnPropertyDescriptor,wm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Dm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ro=(i,o)=>(e,t)=>o(e,t,i),qe=(i=>(i[i.IDLE=0]="IDLE",i[i.START=1]="START",i[i.START_DEPENDENCY=2]="START_DEPENDENCY",i[i.START_CALCULATION=3]="START_CALCULATION",i[i.CURRENTLY_CALCULATING=4]="CURRENTLY_CALCULATING",i[i.START_DEPENDENCY_ARRAY_FORMULA=5]="START_DEPENDENCY_ARRAY_FORMULA",i[i.START_CALCULATION_ARRAY_FORMULA=6]="START_CALCULATION_ARRAY_FORMULA",i[i.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]="CURRENTLY_CALCULATING_ARRAY_FORMULA",i[i.CALCULATION_COMPLETED=8]="CALCULATION_COMPLETED",i))(qe||{}),Ar=(i=>(i[i.INITIAL=0]="INITIAL",i[i.STOP_EXECUTION=1]="STOP_EXECUTION",i[i.NOT_EXECUTED=2]="NOT_EXECUTED",i[i.SUCCESS=3]="SUCCESS",i))(Ar||{});w.FormulaRuntimeService=class extends S.Disposable{constructor(e,t){super();A(this,"_formulaExecuteStage",0);A(this,"_stopState",!1);A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_currentRowCount",Number.NEGATIVE_INFINITY);A(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);A(this,"_currentSubUnitId","");A(this,"_currentUnitId","");A(this,"_runtimeData",{});A(this,"_runtimeOtherData",{});A(this,"_unitArrayFormulaRange",{});A(this,"_unitArrayFormulaEmbeddedMap",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeClearArrayFormulaCellData",{});A(this,"_runtimeFeatureRange",{});A(this,"_runtimeFeatureCellData",{});A(this,"_runtimeImageFormulaData",[]);A(this,"_functionsExecutedState",0);A(this,"_functionDefinitionPrivacyVar",new Map);A(this,"_totalFormulasToCalculate",0);A(this,"_completedFormulasCount",0);A(this,"_totalArrayFormulasToCalculate",0);A(this,"_completedArrayFormulasCount",0);A(this,"_formulaCycleIndex",0);A(this,"_isCycleDependency",!1);A(this,"_dependencyTreeModelData",[]);this._currentConfigService=e,this._hyperlinkEngineFormulaService=t}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(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}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._unitArrayFormulaEmbeddedMap={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._runtimeImageFormulaData=[],this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){tf(),uf(),Uc()}setCurrent(e,t,r,n,s,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=n,this._currentSubUnitId=s,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,r,n){const s=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});const u=this._runtimeOtherData[a];(u[s]===void 0||u[s]===null)&&(u[s]={});const l=u[s];let c=[];if(n.isReferenceObject()||n.isValueObject()&&n.isArray()){const f=n,{startRow:m,startColumn:d}=f.getRangePosition();f.iterator((_,C,E)=>{const R=this._getValueObjectOfRuntimeData(_),y=C-m,p=E-d;c[y]==null&&(c[y]=[]),c[y][p]=R})}else c=[[this._getValueObjectOfRuntimeData(n)]];(l[e]===void 0||l[e]===null)&&(l[e]={}),(l[e][r]===void 0||l[e][r]===null)&&(l[e][r]={}),l[e][r][t]=c}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,n=this._currentRowCount,s=this.currentColumnCount,a=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[a]==null&&(l[a]=new S.ObjectMatrix);const c=l[a];this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const f=this._unitArrayFormulaRange[u];(f[a]===null||f[a]===void 0)&&(f[a]={});const m=new S.ObjectMatrix(f[a]);this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const d=this._runtimeArrayFormulaCellData[u];d[a]==null&&(d[a]=new S.ObjectMatrix);const _=d[a];this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const C=this._runtimeClearArrayFormulaCellData[u];C[a]==null&&(C[a]=new S.ObjectMatrix);const E=C[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const R=e,{startRow:y,startColumn:p,endRow:N,endColumn:M}=R.getRangePosition();if(y===N&&p===M){const L=R.getFirstCell(),P=this._getValueObjectOfRuntimeData(L);c.setValue(t,r,P),E.setValue(t,r,P),Ge.set(u,a,r,L.getValue(),t,!0);return}const D={startRow:t,startColumn:r,endRow:N-y+t,endColumn:M-p+r};if(m.setValue(t,r,D),this._checkIfArrayFormulaRangeHasData(u,a,t,r,D)||this._checkIfArrayFormulaExceeded(n,s,D)){const L=this._getValueObjectOfRuntimeData(g.create(h.SPILL));c.setValue(t,r,L),E.setValue(t,r,L),Ge.set(u,a,r,h.SPILL,t,!0);const P=this._currentConfigService.getUnitData();R.iterator((j,I,v)=>{var te,W;const Y=I-y+t,Q=v-p+r,se=(W=(te=P[u])==null?void 0:te[a])==null?void 0:W.cellData.getValue(Y,Q);if(I===y&&v===p)_.setValue(t,r,L);else if(se!=null)se.v==null&&(se.v=""),_.setValue(Y,Q,se);else{if(this._isInOtherArrayFormulaRange(u,a,t,r,Y,Q))return!0;_.setValue(Y,Q,{v:""})}})}else{const L=g.create(h.SPILL);R.iterator((P,j,I)=>{Ge.set(u,a,r-p+I,P?P.getValue():0,t-y+j,!0);const v=this._getValueObjectOfRuntimeData(P);if(j===y&&I===p){if(P!=null&&P.isError()&&P.isEqualType(L))return E.setValue(t,r,{}),c.setValue(t,r,{...this._getValueObjectOfRuntimeData(L)}),!1;c.setValue(t,r,{...v})}const Y=j-y+t,Q=I-p+r;_.setValue(Y,Q,v)})}}else{const R=this._getValueObjectOfRuntimeData(e);if(c.setValue(t,r,R),e.isString()&&e.isImage()){const y=e.getImageInfo();y&&this._runtimeImageFormulaData.push({...y,unitId:u,sheetId:a,row:t,column:r})}Ge.set(u,a,r,e.getValue(),t,!0),E.setValue(t,r,R)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):ym(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){const e=this._currentUnitId,t=this._currentSubUnitId,r=this._currentRow,n=this._currentColumn,s=this._unitArrayFormulaEmbeddedMap;s[e]==null&&(s[e]={}),s[e][t]==null&&(s[e][t]={}),s[e][t][r]==null&&(s[e][t][r]={}),s[e][t][r][n]=!0}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}setDependencyTreeModelData(e){this._dependencyTreeModelData=e}getDependencyTreeModelData(){return this._dependencyTreeModelData}getRuntimeImageFormulaData(){return this._runtimeImageFormulaData}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),arrayFormulaEmbedded:this.getUnitArrayFormulaEmbeddedMap(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),imageFormulaData:this.getRuntimeImageFormulaData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData(),dependencyTreeModelData:this.getDependencyTreeModelData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}clearArrayObjectCache(){_r.clear()}_checkIfArrayFormulaRangeHasData(e,t,r,n,s){var d,_,C,E,R,y,p,N,M,D,L;const{startRow:a,startColumn:u,endRow:l,endColumn:c}=s,f=this._currentConfigService.getUnitData(),m=this._currentConfigService.getArrayFormulaCellData();(C=(_=(d=this._unitArrayFormulaRange[e])==null?void 0:d[t])==null?void 0:_[r])==null||C[n];for(let P=a;P<=l;P++)for(let j=u;j<=c;j++){if(P===r&&n===j)continue;const I=(y=(R=(E=this._runtimeData)==null?void 0:E[e])==null?void 0:R[t])==null?void 0:y.getValue(P,j);(N=(p=m==null?void 0:m[e])==null?void 0:p[t])==null||N.getValue(P,j);const v=(L=(D=(M=f==null?void 0:f[e])==null?void 0:M[t])==null?void 0:D.cellData)==null?void 0:L.getValue(P,j),Y=this._getRuntimeFeatureCellValue(P,j,t,e);if(!pn(I)||this._isInOtherArrayFormulaRange(e,t,r,n,P,j)||!pn(v)||!pn(Y))return!0}return!1}_getRuntimeFeatureCellValue(e,t,r,n){return qi(e,t,r,n,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,r,n,s,a){var f;const u=(f=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:f[t];if(u==null)return!1;let l=!1;return new S.ObjectMatrix(u).forValue((m,d,_)=>{var R,y;if(m===r&&d===n)return;const C=this._isInArrayFormulaRange(_,s,a),E=(y=(R=this._runtimeData[e])==null?void 0:R[t])==null?void 0:y.getValue(m,d);C&&(E==null?void 0:E.v)!==h.SPILL&&(l=!0)}),l}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:n,startColumn:s,endRow:a,endColumn:u}=e;return t>=n&&t<=a&&r>=s&&r<=u}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,n){const s=this._currentConfigService.getDirtyRanges();return s.length===0?!0:ai(s,e,t,r,n)}},w.FormulaRuntimeService=wm([Ro(0,Nt),Ro(1,ma)],w.FormulaRuntimeService);const it=S.createIdentifier("univer.formula.runtime.service");var ue=(i=>(i[i.REFERENCE=1]="REFERENCE",i[i.VALUE=2]="VALUE",i[i.OPERATOR=3]="OPERATOR",i[i.FUNCTION=4]="FUNCTION",i[i.LAMBDA=5]="LAMBDA",i[i.LAMBDA_PARAMETER=6]="LAMBDA_PARAMETER",i[i.ERROR=7]="ERROR",i[i.BASE=8]="BASE",i[i.ROOT=9]="ROOT",i[i.UNION=10]="UNION",i[i.PREFIX=11]="PREFIX",i[i.SUFFIX=12]="SUFFIX",i[i.NULL=13]="NULL",i))(ue||{});const gt=new Map([[1,7],[2,9],[3,8],[4,6],[5,1],[6,2],[9,10],[10,3],[11,4],[12,5]]);class Ye{constructor(o){A(this,"_children",[]);A(this,"_definedNames");A(this,"_parent");A(this,"_valueObject");A(this,"_calculateState",!1);A(this,"_async",!1);A(this,"_address",!1);A(this,"_isForcedCalculateFunction",!1);this._token=o}dispose(){var o;this._children.forEach(e=>{e.dispose()}),(o=this._valueObject)==null||o.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return ue.BASE}resetCalculationState(){this._children.forEach(o=>{o.resetCalculationState()}),this._valueObject=null,this._calculateState=!1}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(o){this._parent=o,o.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...o){this._children.push(...o)}getToken(){return this._token}setValue(o){this._valueObject=o}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(o=!0){}async executeAsync(){return Promise.resolve(Dt.SUCCESS)}serialize(){const o=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];t.push(a.serialize())}const n={token:o,nodeType:this.nodeType};return r>0&&(n.children=t),n}hasDefinedName(o){var e;return((e=this._definedNames)==null?void 0:e.includes(o))||!1}setDefinedNames(o){this._definedNames=o}getDefinedNames(){return this._definedNames}}class je extends Ye{constructor(e){super(e);A(this,"_errorValueObject");this._errorValueObject=g.create(e)}get nodeType(){return ue.ERROR}static create(e){return new je(e)}getValue(){return this._errorValueObject}}const dt=100;class Ct{get zIndex(){return 0}dispose(){}create(o,e,t){let r;return o instanceof oe?r=o.getToken():r=o,new Ye(r)}}class ha extends Ye{get nodeType(){return ue.ROOT}execute(){const o=this.getChildren();if(o.length>1){this.setValue(g.create(h.VALUE));return}const e=o[0];e==null?this.setValue(g.create(h.VALUE)):this.setValue(e.getValue())}}class ga extends Ct{get zIndex(){return gt.get(ue.ROOT)||dt}checkAndCreateNodeType(o){if(!(o instanceof oe))return;if(o.getToken()===bt)return new ha(bt)}}const Lm=5e3,Hr=new Rt(Lm);function da(i,o,e,t,r){let n=Hr.get(`${i}${o}`);if(n&&!yo(n,r))return n;const s=e.treeBuilder(o);return wt.has(s)?je.create(s):(n=t.parse(s),n==null?(console.error("generateAstNode astNode is null"),je.create(s)):(Hr.set(`${i}${o}`,n),n))}function yo(i,o){const e=o.getDirtyDefinedNameMap(),t=o.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let n=0,s=r.length;n<s;n++){const a=r[n];if(i.hasDefinedName(a))return!0}}return!1}function Pm(i,o,e){return!!(o!=null&&yo(o,e))}const Ot=S.createIdentifier("univer.formula-function.service");class bo extends S.Disposable{constructor(){super(...arguments);A(this,"_functionExecutors",new Map);A(this,"_functionDescriptions",new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}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 r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return S.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.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 r=e[t];this._functionDescriptions.delete(r)}}deleteFormulaAstCacheKey(...e){Hr.forEach((t,r)=>{e.forEach(n=>{r.includes(n)&&Hr.delete(r)})})}}var Ie=(i=>(i.COMPARE="COMPARE",i.DIVIDED="DIVIDED",i.MINUS="MINUS",i.MULTIPLY="MULTIPLY",i.PLUS="PLUS",i.UNION="UNION",i.CUBE="CUBE",i))(Ie||{}),jm=Object.getOwnPropertyDescriptor,Tm=(i,o,e,t)=>{for(var r=t>1?void 0:t?jm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},po=(i,o)=>(e,t)=>o(e,t,i);class Fn extends Ye{constructor(o,e,t){super(e),this._runtimeService=o,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ue.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error("PrefixNode execute value is null"),this.setValue(g.create(h.VALUE));return}this._operatorString===De.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(b.create(0),e)):this._operatorString===De.AT?t=this._handlerAT(e):t=g.create(h.VALUE),this.setValue(t)}_handlerAT(o){if(!o.isReferenceObject())return g.create(h.VALUE);const e=o;if(e.isCell())return g.create(h.VALUE);const t=this._runtimeService,r=t.currentRow||0,n=t.currentColumn||0,s=e.getRangePosition(),{startRow:a,startColumn:u,endRow:l,endColumn:c}=s;return c!==u&&l!==a||a===l&&u===c?g.create(h.VALUE):l===a&&n>=u&&n<=c?e.getCellByColumn(n):u===c&&r>=a&&r<=l?e.getCellByRow(r):e.isTable()?e.getCellByPosition(r):g.create(h.VALUE)}}w.PrefixNodeFactory=class extends Ct{constructor(o,e){super(),this._functionService=o,this._runtimeService=e}get zIndex(){return gt.get(ue.PREFIX)||dt}checkAndCreateNodeType(o){if(!(o instanceof oe))return;const e=o.getToken(),t=e.trim();if(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')return;let r="";if(t===De.MINUS)r=Ie.MINUS;else return t===De.AT?new Fn(this._runtimeService,t):void 0;const n=this._functionService.getExecutor(r);return n?new Fn(this._runtimeService,t,n):(console.error(`No function ${e}`),je.create(h.NAME))}},w.PrefixNodeFactory=Tm([po(0,Ot),po(1,it)],w.PrefixNodeFactory);function No(i,o,e){let t,r,n=i;const s=n[0];let a=0;if(s===De.MINUS){const u=o.getExecutor(Ie.MINUS);t=new Fn(e,De.MINUS,u),a++}else s===De.AT&&(r=new Fn(e,De.AT),t&&r.setParent(t),a++);return a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var Um=Object.getOwnPropertyDescriptor,xm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Um(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Er=(i,o)=>(e,t)=>o(e,t,i);class vm extends Ye{constructor(o,e,t,r,n,s){super(o),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=n,this._formulaDataModel=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return ue.FUNCTION}async executeAsync(){const o=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const u=e[s].getValue();u!=null&&(u.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?o.push(u.toArrayValueObject()):o.push(u))}const r=await this._calculateAsync(o);let n;return r.isAsyncObject()||r.isAsyncArrayObject()?n=await r.getValue():n=r,this._setEmbeddedArrayFormulaToResult(n),this._setRefData(n),this.setValue(n),Promise.resolve(Dt.SUCCESS)}execute(){const o=[],e=this.getChildren(),t=e.length;this._compatibility();for(let n=0;n<t;n++){const a=e[n].getValue();a!=null&&(a.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(a),a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?o.push(a.toArrayValueObject()):o.push(a))}const r=this._calculate(o);this._setEmbeddedArrayFormulaToResult(r),this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_setEmbeddedArrayFormulaToResult(o){if(!o.isArray())return;const e=o.getRowCount(),t=o.getColumnCount();e<=1&&t<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const o=this.getChildren(),e=o.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=o[1].getValue(),r=o[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let n,s;if(t!=null&&t.isReferenceObject()){const _=t.getRangeData(),{startRow:C,startColumn:E,endRow:R,endColumn:y}=_;n=R-C+1,s=y-E+1}else n=t!=null&&t.isArray()?t.getRowCount():1,s=t!=null&&t.isArray()?t.getColumnCount():1;const a=r.getRangeData(),{startRow:u,startColumn:l,endRow:c,endColumn:f}=a,m=c-u+1,d=f-l+1;n!==m&&(a.endRow+=n-m),s!==d&&(a.endColumn+=s-d)}_handleCustomResult(o){var t;if(typeof o!="object"||o==null)return ht.create(o);const e=Co(o);return Z.create({calculateValueList:e,rowCount:e.length,columnCount:((t=e[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(o){return o.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(o){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(o.length<e||o.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(o));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...o);return r}async _calculateAsync(o){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(o.length<e||o.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(o));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...o);return r}_setDefinedNamesForFunction(){const o=this._currentConfigService.getExecuteUnitId();if(o==null)return;const e=this._definedNamesService.getDefinedNameMap(o);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:o,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(o,e,t,r),this._functionExecutor.needsSheetRowColumnCount){const{rowCount:n,columnCount:s}=this._currentConfigService.getSheetRowColumnCount(o,e);this._functionExecutor.setSheetRowColumnCount(n,s)}}_setRefData(o){if(!o.isReferenceObject())return;const e=o;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())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(o){const{startRow:e,endRow:t}=o.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(o.getUnitId(),o.getSheetId(),e,t);o.setFilteredOutRows(r)}}class Im extends Ye{constructor(o="Error"){super(o)}get nodeType(){return ue.FUNCTION}async executeAsync(){return this.setValue(g.create(h.NAME)),Promise.resolve(Dt.SUCCESS)}execute(){this.setValue(g.create(h.NAME))}}w.FunctionNodeFactory=class extends Ct{constructor(o,e,t,r,n,s){super(),this._functionService=o,this._currentConfigService=e,this._runtimeService=t,this._definedNamesService=r,this._injector=n,this._formulaDataModel=s}get zIndex(){return gt.get(ue.FUNCTION)||dt}create(o){const e=this._functionService.getExecutor(o);return e?new vm(o,e,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${o}`),je.create(h.NAME))}checkAndCreateNodeType(o){if(typeof o=="string")return;const e=o.getToken(),{tokenTrim:t,minusPrefixNode:r,atPrefixNode:n}=No(e.trim(),this._functionService,this._runtimeService);if(!Number.isNaN(Number(t))&&!this._isParentUnionNode(o))return je.create(h.VALUE);const s=t.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return n?a.setParent(n):r&&a.setParent(r),a}}_isParentUnionNode(o){var e,t;return((t=(e=o.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken())===K.COLON}},w.FunctionNodeFactory=xm([Er(0,Ot),Er(1,Nt),Er(2,it),Er(3,$t),Er(4,S.Inject(S.Injector)),Er(5,S.Inject(w.FormulaDataModel))],w.FunctionNodeFactory);var Fm=Object.getOwnPropertyDescriptor,Bm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Fm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},km=(i,o)=>(e,t)=>o(e,t,i);w.Interpreter=class extends S.Disposable{constructor(o){super(),this._runtimeService=o}async executeAsync(o){if(!o||!o.node)return Promise.resolve(g.create(h.VALUE));const e=o.node,t=o.refOffsetX,r=o.refOffsetY;await this._executeAsync(e,t,r);const n=e.getValue();return n==null?Promise.resolve(g.create(h.VALUE)):Promise.resolve(n)}execute(o){if(!o||!o.node)return g.create(h.VALUE);const e=o.node,t=o.refOffsetX,r=o.refOffsetY;this._execute(e,t,r);const n=e.getValue();return n==null?g.create(h.VALUE):n}executePreCalculateNode(o){return o.execute(),o.getValue()}checkAsyncNode(o){if(o==null)return!1;const e=[];this._checkAsyncNode(o,e);for(let t=0,r=e.length;t<r;t++)if(e[t]===!0)return!0;return!1}_checkAsyncNode(o,e){const t=o.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];e.push(s.isAsync()),this._checkAsyncNode(s,e)}}async _executeAsync(o,e=0,t=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Dt.ERROR);const r=o.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===cr&&a.isEmptyParamFunction()){a.execute();continue}await this._executeAsync(a,e,t)}return o.nodeType===ue.REFERENCE&&o.setRefOffset(e,t),o.nodeType===ue.FUNCTION&&o.isAsync()?await o.executeAsync():o.execute(),Promise.resolve(Dt.SUCCESS)}_execute(o,e=0,t=0){if(this._runtimeService.isStopExecution())return Dt.ERROR;const r=o.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===cr&&a.isEmptyParamFunction()){a.execute();continue}this._execute(a,e,t)}return o.nodeType===ue.REFERENCE&&o.setRefOffset(e,t),o.execute(),Dt.SUCCESS}},w.Interpreter=Bm([km(0,it)],w.Interpreter);function Vo(i){return i instanceof oe?i.getToken()===kt:!1}function $m(i){return i instanceof oe?i.getToken()===Si:!1}function Ca(i,o,e){const t=i.getChildren(),r=t.length,n=t[0];for(let s=0;s<r;s++){const a=t[s];if(!(Vo(n)&&s!==0))if(a instanceof oe)Ca(a,o,e);else{const u=a.trim();if(e.has(u)){const l=new oe;l.setToken(Lr),l.setLambdaId(o),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[s]=l}}}}function Ym(i){let o=i;for(;o!=null&&o.getParent();)o=o.getParent();return o}function _a(i,o=0,e=0){return{node:i,refOffsetX:o,refOffsetY:e}}function Oo(i){if(!i)return;if(i.getToken()!==Lr)return i;const o=i,e=o.getCurrentLambdaPrivacyVar(),t=o.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&i.getValue()?i:Oo(r)}class Bn extends yt{constructor(e,t,r){super(0);A(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new Bn(e,t,r)}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return g.create(h.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new _o(this._interpreter.executeAsync(_a(this._lambdaNode)));else{const n=this._interpreter.execute(_a(this._lambdaNode));n.isReferenceObject()?r=n.toArrayValueObject():r=n}return this._lambdaNode.setNotEmpty(!0),r}executeCustom(...e){const t=e.map(r=>ht.create(r));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;const t=e.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];if(s.getToken()===Lr){const u=s.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)s.setValue(l);else{const c=s.getCurrentLambdaPrivacyVar(),f=Oo(c.get(u));f!=null&&s.setValue(f.getValue())}continue}this._setLambdaNodeValue(s)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],n=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(n,r)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}}var Hm=Object.getOwnPropertyDescriptor,Gm=(i,o,e,t)=>{for(var r=t>1?void 0:t?Hm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},So=(i,o)=>(e,t)=>o(e,t,i);class Wm extends Ye{constructor(e,t,r,n,s){super(e);A(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=n,this._runtimeService=s}get nodeType(){return ue.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue(Bn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}}w.LambdaNodeFactory=class extends Ct{constructor(o,e){super(),this._runtimeService=o,this._interpreter=e}get zIndex(){return gt.get(ue.LAMBDA)||dt}create(o){const e=o.getChildren(),t=e[0];let r=e.slice(1,-1);const n=e[e.length-1];if(!(t instanceof oe&&n instanceof oe))return je.create(h.NAME);if(t.getToken()===kt){const u=t.getChildren();if(r.length!==u.length)return je.create(h.VALUE)}else r=e.slice(0,-1);const s=S.generateRandomId(8),a=new Map;for(let u=0;u<r.length;u++){const l=r[u];if(l instanceof oe){const c=l.getChildren()[0];l.setToken(Si),a.set(c.trim(),void 0)}else return je.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(n,s,a),new Wm(o.getToken(),s,this._interpreter,[...a.keys()],this._runtimeService)}checkAndCreateNodeType(o){if(!(!(o instanceof oe)||o.getToken().trim().toUpperCase()!==cr))return this.create(o)}_updateLambdaStatement(o,e,t){Ca(o,e,t)}},w.LambdaNodeFactory=Gm([So(0,it),So(1,S.Inject(w.Interpreter))],w.LambdaNodeFactory);function Mo(i){if(!i)return;if(i.getToken()!==Lr)return i;const o=i,e=o.getCurrentLambdaPrivacyVar(),t=o.getLambdaParameter();if(e)return Mo(e.get(t))}class Qm extends Ye{constructor(o,e,t){super(o),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ue.LAMBDA_PARAMETER}execute(){const o=Mo(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(o)this.setValue(o.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(g.create(h.NAME))}}}class Aa extends Ct{get zIndex(){return gt.get(ue.LAMBDA_PARAMETER)||dt}create(o){const e=o.getFunctionDefinitionPrivacyVar(),t=o.getLambdaParameter();return e?new Qm(o.getToken(),t,e):new je(h.NAME)}checkAndCreateNodeType(o){if(!(!(o instanceof oe)||o.getToken().trim()!==Lr))return this.create(o)}}class qm extends Ye{constructor(o){super(o),this._operatorString=o}get nodeType(){return ue.NULL}execute(){this.setValue(ce.create())}}var $=(i=>(i.ABS="ABS",i.ACOS="ACOS",i.ACOSH="ACOSH",i.ACOT="ACOT",i.ACOTH="ACOTH",i.AGGREGATE="AGGREGATE",i.ARABIC="ARABIC",i.ASIN="ASIN",i.ASINH="ASINH",i.ATAN="ATAN",i.ATAN2="ATAN2",i.ATANH="ATANH",i.BASE="BASE",i.CEILING="CEILING",i.CEILING_MATH="CEILING.MATH",i.CEILING_PRECISE="CEILING.PRECISE",i.COMBIN="COMBIN",i.COMBINA="COMBINA",i.COS="COS",i.COSH="COSH",i.COT="COT",i.COTH="COTH",i.CSC="CSC",i.CSCH="CSCH",i.DECIMAL="DECIMAL",i.DEGREES="DEGREES",i.EVEN="EVEN",i.EXP="EXP",i.FACT="FACT",i.FACTDOUBLE="FACTDOUBLE",i.FLOOR="FLOOR",i.FLOOR_MATH="FLOOR.MATH",i.FLOOR_PRECISE="FLOOR.PRECISE",i.GCD="GCD",i.INT="INT",i.ISO_CEILING="ISO.CEILING",i.LCM="LCM",i.LET="LET",i.LN="LN",i.LOG="LOG",i.LOG10="LOG10",i.MDETERM="MDETERM",i.MINVERSE="MINVERSE",i.MMULT="MMULT",i.MOD="MOD",i.MROUND="MROUND",i.MULTINOMIAL="MULTINOMIAL",i.MUNIT="MUNIT",i.ODD="ODD",i.PI="PI",i.POWER="POWER",i.PRODUCT="PRODUCT",i.QUOTIENT="QUOTIENT",i.RADIANS="RADIANS",i.RAND="RAND",i.RANDARRAY="RANDARRAY",i.RANDBETWEEN="RANDBETWEEN",i.ROMAN="ROMAN",i.ROUND="ROUND",i.ROUNDBANK="ROUNDBANK",i.ROUNDDOWN="ROUNDDOWN",i.ROUNDUP="ROUNDUP",i.SEC="SEC",i.SECH="SECH",i.SERIESSUM="SERIESSUM",i.SEQUENCE="SEQUENCE",i.SIGN="SIGN",i.SIN="SIN",i.SINH="SINH",i.SQRT="SQRT",i.SQRTPI="SQRTPI",i.SUBTOTAL="SUBTOTAL",i.SUM="SUM",i.SUMIF="SUMIF",i.SUMIFS="SUMIFS",i.SUMPRODUCT="SUMPRODUCT",i.SUMSQ="SUMSQ",i.SUMX2MY2="SUMX2MY2",i.SUMX2PY2="SUMX2PY2",i.SUMXMY2="SUMXMY2",i.TAN="TAN",i.TANH="TANH",i.TRUNC="TRUNC",i))($||{}),J=(i=>(i.ASC="ASC",i.ARRAYTOTEXT="ARRAYTOTEXT",i.BAHTTEXT="BAHTTEXT",i.CHAR="CHAR",i.CLEAN="CLEAN",i.CODE="CODE",i.CONCAT="CONCAT",i.CONCATENATE="CONCATENATE",i.DBCS="DBCS",i.DOLLAR="DOLLAR",i.EXACT="EXACT",i.FIND="FIND",i.FINDB="FINDB",i.FIXED="FIXED",i.LEFT="LEFT",i.LEFTB="LEFTB",i.LEN="LEN",i.LENB="LENB",i.LOWER="LOWER",i.MID="MID",i.MIDB="MIDB",i.NUMBERSTRING="NUMBERSTRING",i.NUMBERVALUE="NUMBERVALUE",i.PHONETIC="PHONETIC",i.PROPER="PROPER",i.REGEXEXTRACT="REGEXEXTRACT",i.REGEXMATCH="REGEXMATCH",i.REGEXREPLACE="REGEXREPLACE",i.REPLACE="REPLACE",i.REPLACEB="REPLACEB",i.REPT="REPT",i.RIGHT="RIGHT",i.RIGHTB="RIGHTB",i.SEARCH="SEARCH",i.SEARCHB="SEARCHB",i.SUBSTITUTE="SUBSTITUTE",i.T="T",i.TEXT="TEXT",i.TEXTAFTER="TEXTAFTER",i.TEXTBEFORE="TEXTBEFORE",i.TEXTJOIN="TEXTJOIN",i.TEXTSPLIT="TEXTSPLIT",i.TRIM="TRIM",i.UNICHAR="UNICHAR",i.UNICODE="UNICODE",i.UPPER="UPPER",i.VALUE="VALUE",i.VALUETOTEXT="VALUETOTEXT",i.CALL="CALL",i.EUROCONVERT="EUROCONVERT",i.REGISTER_ID="REGISTER.ID",i))(J||{}),Xm=Object.getOwnPropertyDescriptor,Km=(i,o,e,t)=>{for(var r=t>1?void 0:t?Xm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Do=(i,o)=>(e,t)=>o(e,t,i);class Zm extends Ye{constructor(o,e,t){super(o),this._functionExecutor=e,this._runtimeService=t}get nodeType(){return ue.OPERATOR}execute(){const o=this.getChildren();this._functionExecutor.name===Ie.COMPARE&&this._functionExecutor.setCompareType(this.getToken());const e=o[0],t=o[1];let r=e==null?void 0:e.getValue(),n=t==null?void 0:t.getValue();const s=this.getToken();if((r==null||n==null)&&s!==z.MINUS&&s!==z.PLUS){this.setValue(g.create(h.VALUE));return}r==null&&(r=ce.create()),n==null&&(n=ce.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject());const a=this._functionExecutor.calculate(r,n);this._setEmbeddedArrayFormulaToResult(a),this.setValue(a)}_setEmbeddedArrayFormulaToResult(o){if(!o.isArray())return;const e=o.getRowCount(),t=o.getColumnCount();e<=1&&t<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}}w.OperatorNodeFactory=class extends Ct{constructor(o,e){super(),this._functionService=o,this._runtimeService=e}get zIndex(){return gt.get(ue.OPERATOR)||dt}create(o){let e="";const t=o;t===z.PLUS?e=Ie.PLUS:t===z.MINUS?e=Ie.MINUS:t===z.MULTIPLY?e=Ie.MULTIPLY:t===z.DIVIDED?e=Ie.DIVIDED:t===z.CONCATENATE?e=J.CONCATENATE:t===z.POWER?e=$.POWER:Il.has(t)&&(e=Ie.COMPARE);const r=this._functionService.getExecutor(e);return r?new Zm(t,r,this._runtimeService):(console.error(`No function ${o}`),je.create(h.NAME))}checkAndCreateNodeType(o){if(o instanceof oe)return;const e=o.trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&ct.has(e))return this.create(e)}},w.OperatorNodeFactory=Km([Do(0,Ot),Do(1,it)],w.OperatorNodeFactory);class zm extends Wt{constructor(e,t,r,n){super(e);A(this,"_isCurrentRowForRange",!1);this._tableData=t,this._columnDataString=r,this._tableOptionMap=n;const{sheetId:s,range:a,titleMap:u}=this._tableData;this.setForcedSheetIdDirect(s);const{startColumn:l,endColumn:c,type:f}=this._parseStructuredRef(this._columnDataString,u),m=a.startRow,d=a.endRow;let _=-1,C=-1;switch(f){case Me.ALL:_=m,C=d;break;case Me.DATA:_=m+1,C=d;break;case Me.HEADERS:_=m,C=m;break;case Me.TOTALS:_=d,C=d;break;case Me.THIS_ROW:{const E=this._resolveThisRow(m,d);_=E,C=E;break}default:_=m+1,C=d;break}this.setRangeData({startColumn:l,endColumn:c,startRow:_,endRow:C})}getRangeData(){const e=super.getRangeData();if(this._isCurrentRowForRange){const{startRow:t,startColumn:r,endRow:n,endColumn:s}=e,a=this.getCurrentRow();return{startRow:a==null?t:a,endRow:a==null?n:a,startColumn:r,endColumn:s}}return e}getRefOffset(){return{x:0,y:0}}isTable(){return!0}isCurrentRowForRange(){return this._isCurrentRowForRange}setForcedSheetId(e){}_parseStructuredRef(e,t){var C,E;const{range:r}=this._tableData,n=(C=r.startColumn)!=null?C:0,s=(E=r.endColumn)!=null?E:0;if(!e||e.trim().length===0)return{startColumn:n,endColumn:s,type:Me.DATA};const a=e.trim();if(a[0]!=="["){const R=this._mapSection(a);if(R!==void 0)return{startColumn:n,endColumn:s,type:R};const{startColumn:y,endColumn:p}=this._parseColumnOrRange(a,t,n);return{startColumn:y,endColumn:p,type:Me.DATA}}const u=this._stripOuterBracketOnce(a),l=this._findCommaAtTopLevel(u);if(u.length===0)return{startColumn:n,endColumn:s,type:Me.DATA};if(l===-1){if(u.startsWith("#")){const p=this._mapSection(u);return p!==void 0?{startColumn:n,endColumn:s,type:p}:{startColumn:n,endColumn:s,type:Me.DATA}}const{startColumn:R,endColumn:y}=this._parseColumnOrRange(u,t,n);return{startColumn:R,endColumn:y,type:Me.DATA}}const c=u.slice(0,l).trim(),f=u.slice(l+1).trim(),m=this._parseSectionMaybeBracketed(c),{startColumn:d,endColumn:_}=this._parseColumnOrRange(f,t,n);return{startColumn:d,endColumn:_,type:m}}_stripOuterBracketOnce(e){return e.length>=2&&e[0]==="["&&e[e.length-1]==="]"?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(n==="[")t++;else if(n==="]")t=Math.max(0,t-1);else if(n===K.COMMA&&t===0)return r}return-1}_parseSectionMaybeBracketed(e){const t=e.trim(),r=t.startsWith("[")&&t.endsWith("]")?this._stripOuterBracketOnce(t):t,n=this._mapSection(r);return n!=null?n:Me.DATA}_mapSection(e){const t=e.trim();if(!t.startsWith("#"))return;const r=this._tableOptionMap.get(t);if(r!==void 0)return r;const n=t.replace(/\s+/g," ").toLowerCase();for(const[s,a]of this._tableOptionMap.entries())if(s.replace(/\s+/g," ").toLowerCase()===n)return a}_parseColumnOrRange(e,t,r){const n=e.trim(),s=this._findColonAtTopLevel(n);if(s===-1){const d=this._stripOuterBracketIfAny(n),_=this._titleToIndex(d,t);return{startColumn:r+_,endColumn:+r+_}}const a=n.slice(0,s).trim(),u=n.slice(s+1).trim(),l=this._stripOuterBracketIfAny(a),c=this._stripOuterBracketIfAny(u),f=this._titleToIndex(l,t),m=this._titleToIndex(c,t);return f!==-1&&m!==-1&&f>m?{startColumn:r+m,endColumn:r+f}:{startColumn:r+f,endColumn:r+m}}_stripOuterBracketIfAny(e){return e.length>=2&&e[0]==="["&&e[e.length-1]==="]"?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(n==="[")t++;else if(n==="]")t=Math.max(0,t-1);else if(n===K.COLON&&t===0)return r}return-1}_titleToIndex(e,t){var a;const r=e.trim(),n=t.get(r);if(n!==void 0)return n;const s=r.replace(/\u3000/g," ").trim();return(a=t.get(s))!=null?a:-1}_resolveThisRow(e,t){return this._isCurrentRowForRange=!0,Math.min(e+1,t)}}var Jm=Object.getOwnPropertyDescriptor,eh=(i,o,e,t)=>{for(var r=t>1?void 0:t?Jm(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},kn=(i,o)=>(e,t)=>o(e,t,i);class wo extends Ye{constructor(e,t,r,n,s=!1,a){super(r);A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=n,this._isPrepareMerge=s,this._tableReferenceObject=a}get nodeType(){return ue.REFERENCE}execute(){const e=this._currentConfigService,t=this._runtimeService,r=this._tableReferenceObject||Nm(this.getToken(),this._referenceObjectType);r.setDefaultUnitId(t.currentUnitId),r.setDefaultSheetId(t.currentSubUnitId),r.setForcedSheetId(e.getSheetNameMap()),r.setUnitData(e.getUnitData()),r.setArrayFormulaCellData(e.getArrayFormulaCellData()),r.setRuntimeData(t.getUnitData()),r.setUnitStylesData(e.getUnitStylesData()),r.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),r.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());const n=t.currentRow,s=t.currentColumn;r.setCurrentRowAndColumn(n,s);const{x:a,y:u}=this.getRefOffset();r.setRefOffset(a,u),!this._isPrepareMerge&&r.isExceedRange()?this.setValue(g.create(h.NAME)):this.setValue(r)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}}w.ReferenceNodeFactory=class extends Ct{constructor(o,e,t,r){super(),this._currentConfigService=o,this._formulaRuntimeService=e,this._functionService=t,this._superTableService=r}get zIndex(){return gt.get(ue.REFERENCE)||dt}checkAndCreateNodeType(o){var l,c;let e=!1,t,r=!1;o instanceof oe?(e=!0,t=o.getToken().trim(),((c=(l=o.getParent())==null?void 0:l.getParent())==null?void 0:c.getToken().trim())===K.COLON&&(r=!0)):t=o.trim();const{tokenTrim:n,minusPrefixNode:s,atPrefixNode:a}=No(t,this._functionService,this._formulaRuntimeService);if(!e&&n.charAt(0)==='"'&&n.charAt(n.length-1)==='"')return;const u=this._getNode(n,e,r,o);if(u)return a?u.setParent(a):s&&u.setParent(s),u}_getTableMap(){const o=this._currentConfigService.getExecuteUnitId();if(o)return this._superTableService.getTableMap(o)}_getNode(o,e,t,r){var _;const n=this._currentConfigService,s=this._formulaRuntimeService,a=C=>new wo(n,s,o,C,t),u=this._getTableMap();if((_=u==null?void 0:u.has(o))!=null?_:!1)return this._getTableReferenceNode(o,e,t,!0);if(wr(o))return a(Yr.CELL);const f=e&&this._checkParentIsUnionOperator(r);return f&&Vi(o)?a(Yr.ROW):f&&Oi(o)?a(Yr.COLUMN):this._getTableReferenceNode(o,e,t,!1)}_getTableReferenceNode(o,e,t,r=!1){if(!this._checkTokenIsTableReference(o)&&!r)return;const{tableName:n,columnStruct:s}=xi(o),a=this._getTableMap();if(!e&&(a!=null&&a.has(n))){const u=s,l=a.get(n),c=this._superTableService.getTableOptionMap();return new wo(this._currentConfigService,this._formulaRuntimeService,o,Yr.COLUMN,t,new zm(o,l,u,c))}}_checkTokenIsTableReference(o){return dc(o)||Cc(o)||_c(o)||Ac(o)}_checkParentIsUnionOperator(o){var e,t;return((t=(e=o.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken().trim())===K.COLON}},w.ReferenceNodeFactory=eh([kn(0,Nt),kn(1,it),kn(2,Ot),kn(3,mr)],w.ReferenceNodeFactory);var th=Object.getOwnPropertyDescriptor,rh=(i,o,e,t)=>{for(var r=t>1?void 0:t?th(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ea=(i,o)=>(e,t)=>o(e,t,i);class Lo extends Ye{constructor(o,e,t,r){super(t),this._currentConfigService=o,this._lexer=e,this._operatorString=t,this._functionExecutor=r}get nodeType(){return ue.SUFFIX}execute(){var r;let e=(r=this.getChildren()[0])==null?void 0:r.getValue(),t;if(e==null){this.setValue(g.create(h.ERROR));return}if(this._operatorString===Ke.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,b.create(100)),t.isNumber()){const n=Number(t.getValue());t=b.create(n,"0.00%")}}else this._operatorString===Ke.POUND?t=this._handlerPound(e):t=g.create(h.VALUE);this.setValue(t)}_handlerPound(o){var u,l,c,f;if(!o.isReferenceObject()||!o.isCell())return g.create(h.VALUE);const e=o,t=e.getRangePosition(),r=e.getUnitId(),n=e.getSheetId(),s=this._currentConfigService.getFormulaData(),a=(f=(c=(l=(u=s==null?void 0:s[r])==null?void 0:u[n])==null?void 0:l[t.startRow])==null?void 0:c[t.startColumn])==null?void 0:f.f;return a&&this._lexer.treeBuilder(a),g.create(h.VALUE)}}w.SuffixNodeFactory=class extends Ct{constructor(o,e,t){super(),this._functionService=o,this._lexer=e,this._currentConfigService=t}get zIndex(){return gt.get(ue.SUFFIX)||dt}checkAndCreateNodeType(o){if(!(o instanceof oe))return;const e=o.getToken().trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Ke.PERCENTAGE)t=Ie.DIVIDED;else return e===Ke.POUND?new Lo(this._currentConfigService,this._lexer,e):void 0;const r=this._functionService.getExecutor(t);return r?new Lo(this._currentConfigService,this._lexer,e,r):(console.error(`No function ${o}`),je.create(h.NAME))}},w.SuffixNodeFactory=rh([Ea(0,Ot),Ea(1,S.Inject(w.Lexer)),Ea(2,Nt)],w.SuffixNodeFactory);var nh=Object.getOwnPropertyDescriptor,sh=(i,o,e,t)=>{for(var r=t>1?void 0:t?nh(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ah=(i,o)=>(e,t)=>o(e,t,i);class ih extends Ye{constructor(o){super(o)}get nodeType(){return ue.UNION}execute(){const o=this.getChildren(),e=o[0],t=o[1],r=e.getValue(),n=t.getValue();if(r==null||n==null){console.error("UnionNode execute leftNode or rightNode is null"),this.setValue(g.create(h.VALUE));return}let s;this.getToken()===K.COLON?s=this._unionFunction(r,n):s=g.create(h.NAME),this.setValue(s)}_unionFunction(o,e){return o.isError()||e.isError()||!o.isReferenceObject()||!e.isReferenceObject()?g.create(h.REF):(o=o,e=e,Vm(o,e))}}w.UnionNodeFactory=class extends Ct{constructor(o){super(),this._functionService=o}get zIndex(){return gt.get(ue.UNION)||dt}create(o){return new ih(o)}checkAndCreateNodeType(o){if(!(o instanceof oe))return;const t=o.getToken().trim();if(!(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')&&t===K.COLON)return this.create(t)}},w.UnionNodeFactory=sh([ah(0,Ot)],w.UnionNodeFactory);class oh extends Ye{constructor(o){super(o)}get nodeType(){return ue.VALUE}execute(){var e,t,r;const o=((e=this.getParent())==null?void 0:e.nodeType)===ue.FUNCTION&&((r=(t=this.getParent())==null?void 0:t.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(t));this.setValue(ht.create(this.getToken(),o))}}class Ra extends Ct{get zIndex(){return gt.get(ue.VALUE)||dt}_checkValueNode(o){if(Number.isNaN(Number(o))){const e=o.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(wt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const n=e.toUpperCase();if(n===Mt.TRUE||n===Mt.FALSE)return this.create(n)}else return this.create(o)}create(o){return new oh(o)}checkAndCreateNodeType(o){if(!(o instanceof oe))return this._checkValueNode(o)}}var uh=Object.getOwnPropertyDescriptor,lh=(i,o,e,t)=>{for(var r=t>1?void 0:t?uh(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ot=(i,o)=>(e,t)=>o(e,t,i);w.AstTreeBuilder=class extends S.Disposable{constructor(e,t,r,n,s,a,u,l,c,f,m){super();A(this,"_astNodeFactoryList",[]);this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=r,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=u,this._referenceNodeFactory=l,this._suffixNodeFactory=c,this._unionNodeFactory=f,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){const t=new ha(bt),r=this._parse(e,t);return e.hasDefinedNames()&&(r==null||r.setDefinedNames(e.getDefinedNames())),r}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return je.create(h.VALUE);const r=t.getLambdaId(),n=new ha(bt),s=this._runtimeService.getFunctionDefinitionPrivacyVar(r);if(!s)return!1;const a=[...s.keys()],u=e.getChildren(),l=u.length;for(let c=0;c<l;c++){const f=u[c];if(f instanceof oe){Ca(f,r,s),this._parse(f,n);const d=n.getChildren()[c];d!=null&&s.set(a[c],d)}else return!1}return n.setParent(t),t}_changeLetToLambda(e){const t=e.getChildren(),r=t.length;if(r%2!==1||r===0)return;const n=new oe;n.setToken(cr);const s=new oe;s.setToken(kt);const a=[...t];for(let l=0;l<r;l++){const c=a[l];if(!(c instanceof oe))return;l%2===0?c.changeToParent(n):c.changeToParent(s)}n.addChildrenFirst(s),s.setParent(n);const u=e.getParent();return u==null||u.replaceChild(e,n),n}_parse(e,t){var f;const r=e.getChildren(),n=r.length,s=[];let a=null;const u=e.getToken().trim().toUpperCase();if(u===Mi){const m=this._changeLetToLambda(e);return m!=null?this._parse(m,t):je.create(h.ERROR)}if(u===nt){if(a=t,n===0)return new qm(bt).setParent(t),a}else{if(u===kt){let m=this._lambdaParameterHandler(e,t);return m===!1&&(m=je.create(h.ERROR)),m}if(a=this._checkAstNode(e),a==null)return je.create(h.NAME)}const l=r[0];for(let m=0;m<n;m++){const d=r[m];if(Vo(l)){if(m!==0&&m!==n-1)continue}else if($m(d)&&m!==n-1)continue;let _=null;if(d instanceof oe){if(d.getToken()===nt&&d.getChildren().length===0){const C=(f=d.getParent())==null?void 0:f.getChildren();if(C&&C.length===1)return je.create(h.NAME)}if(_=this._parse(d,a),_===a)continue}else _=this._checkAstNode(d);if(_==null)return je.create(h.NAME);if(_=Ym(_),_==null||(_==null?void 0:_.nodeType)===ue.ERROR)return _;switch(_.nodeType){case ue.FUNCTION:{const C=_.getToken().trim().toUpperCase();bc.has(C)&&_.setForcedCalculateFunction(),s.push(_);break}case ue.LAMBDA:s.push(_);break;case ue.LAMBDA_PARAMETER:s.push(_);break;case ue.OPERATOR:{const C=s.pop(),E=s.pop();E&&E.setParent(_),C&&C.setParent(_),s.push(_);break}case ue.REFERENCE:s.push(_);break;case ue.ROOT:s.push(_);break;case ue.UNION:s.push(_);break;case ue.VALUE:s.push(_);break;case ue.PREFIX:s.push(_);break;case ue.SUFFIX:s.push(_);break}}const c=s.length;for(let m=0;m<c;m++)s[m].setParent(a);return a}_checkAstNode(e){let t=null;const r=this._astNodeFactoryList.length;for(let n=0;n<r&&(t=this._astNodeFactoryList[n].checkAndCreateNodeType(e),t==null);n++);return t==null?new Im:t}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(S.sortRules)}},w.AstTreeBuilder=lh([ot(0,it),ot(1,S.Inject(ga)),ot(2,S.Inject(w.FunctionNodeFactory)),ot(3,S.Inject(w.LambdaNodeFactory)),ot(4,S.Inject(Aa)),ot(5,S.Inject(w.OperatorNodeFactory)),ot(6,S.Inject(w.PrefixNodeFactory)),ot(7,S.Inject(w.ReferenceNodeFactory)),ot(8,S.Inject(w.SuffixNodeFactory)),ot(9,S.Inject(w.UnionNodeFactory)),ot(10,S.Inject(Ra))],w.AstTreeBuilder);class Po extends S.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",new Map);A(this,"_featureFormulaData",new Map);A(this,"_formulaData",new Map);A(this,"_definedNameMap",new Map);A(this,"_otherFormulaDataMainData",new Set);A(this,"_dependencyRTreeCache",new S.RTree);A(this,"_dependencyTreeIdLast",0)}buildDependencyTree(e,t){throw new Error("Method not implemented.")}getTreeById(e){throw new Error("Method not implemented.")}getAllTree(){throw new Error("Method not implemented.")}reset(){throw new Error("Method not implemented.")}addOtherFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeOtherFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearOtherFormulaDependency(e,t){throw new Error("Method not implemented.")}addFeatureFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeFeatureFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearFeatureFormulaDependency(e,t){throw new Error("Method not implemented.")}addFormulaDependency(e,t,r,n,s){throw new Error("Method not implemented.")}removeFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}clearFormulaDependency(e,t){throw new Error("Method not implemented.")}removeFormulaDependencyByDefinedName(e,t){throw new Error("Method not implemented.")}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,r){var n,s;return(s=(n=this._otherFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,r){var n,s;return(s=(n=this._featureFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}getFormulaDependency(e,t,r,n){var s,a;return(a=(s=this._formulaData.get(e))==null?void 0:s.get(t))==null?void 0:a.getValue(r,n)}addDependencyRTreeCache(e){const t=[];for(let r=0;r<e.rangeList.length;r++){const n=e.rangeList[r],{unitId:s,sheetId:a,range:u}=n;t.push({unitId:s,sheetId:a,range:u,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){const e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw new Error("Method not implemented.")}_addDefinedName(e,t,r){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);const n=this._definedNameMap.get(e);n.has(t)||n.set(t,new Set),n.get(t).add(r)}addFormulaDependencyByDefinedName(e,t){const r=e.treeId,n=(t==null?void 0:t.getDefinedNames())||[];for(const s of n)this._addDefinedName(e.unitId,s,r)}updateDependencyTreeDirtyState(e,t){throw new Error("Method not implemented.")}}class jo extends Po{constructor(){super(...arguments);A(this,"_allTreeMap",new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(this._buildDependencyTree(r,e),this._buildReverseDependency(r,e),r)}_buildDependencyTree(e,t){const r=new Map;for(let n=0;n<t.length;n++){const s=t[n];r.set(s.treeId,s)}for(let n=0;n<e.length;n++){const s=e[n],a=s.toRTreeItem(),u=this._dependencyRTreeCache.bulkSearch(a);for(const l of u){const c=r.get(l);c&&s!==c&&!c.hasChildren(s.treeId)&&c.pushChildren(s)}}r.clear()}_buildReverseDependency(e,t){const r=new Map;for(let n=0;n<e.length;n++){const s=e[n];r.set(s.treeId,s)}for(let n=0;n<t.length;n++){const s=t[n],a=s.toRTreeItem(),u=this._dependencyRTreeCache.bulkSearch(a);for(const l of u){const c=r.get(l);c&&s!==c&&!c.hasChildren(s.treeId)&&c.pushChildren(s)}}r.clear()}getAllTree(){const e=[];return this._allTreeMap.forEach(t=>{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,t,r,n){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);const s=this._otherFormulaData.get(e);s.has(t)||s.set(t,new Map);const a=s.get(t);a.has(r)||a.set(r,new S.ObjectMatrix),a.get(r).setValue(n.refOffsetX,n.refOffsetY,n.treeId),this._addAllTreeMap(n)}removeOtherFormulaDependency(e,t,r){const n=this._otherFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const u=s.get(a);u!=null&&(u.forValue((l,c,f)=>{this._removeDependencyRTreeCache(f),this.clearDependencyForTree(this._allTreeMap.get(f)),this._removeAllTreeMap(f)}),s.delete(a),this._otherFormulaDataMainData.delete(a))}),s.size===0&&n.delete(t),n.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){const r=this._otherFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(const s of n.keys()){const a=n.get(s);a!=null&&(a.forValue((u,l,c)=>{const f=this._allTreeMap.get(c);f&&(this.clearDependencyForTree(f),this._removeAllTreeMap(c))}),this._otherFormulaDataMainData.delete(s))}n.clear()}else if(r){for(const n of r.keys()){const s=r.get(n);this._removeDependencyRTreeCacheById(e,n);for(const a of s.keys()){const u=s.get(a);u!=null&&(u.forValue((l,c,f)=>{const m=this._allTreeMap.get(f);m&&(this.clearDependencyForTree(m),this._removeAllTreeMap(f))}),this._otherFormulaDataMainData.delete(a))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,r,n){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);const s=this._featureFormulaData.get(e);s.has(t)||s.set(t,new Map),s.get(t).set(r,n.treeId),this._addAllTreeMap(n)}removeFeatureFormulaDependency(e,t,r){const n=this._featureFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const u=s.get(a);u!=null&&(this._removeDependencyRTreeCache(u),s.delete(a),this.clearDependencyForTree(this._allTreeMap.get(u)),this._removeAllTreeMap(u))})}}clearFeatureFormulaDependency(e,t){const r=this._featureFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forEach(s=>{s!=null&&(this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s))}),n.clear()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forEach(a=>{a!=null&&(this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,r,n,s){this._formulaData.has(e)||this._formulaData.set(e,new Map);const a=this._formulaData.get(e);a.has(t)||a.set(t,new S.ObjectMatrix),a.get(t).setValue(r,n,s.treeId),this._addAllTreeMap(s)}removeFormulaDependency(e,t,r,n){const s=this._formulaData.get(e);if(s&&s.has(t)){const a=s.get(t),u=a.getValue(r,n);if(u==null)return;this._removeDependencyRTreeCache(u),a.realDeleteValue(r,n),this.clearDependencyForTree(this._allTreeMap.get(u)),this._removeAllTreeMap(u)}}clearFormulaDependency(e,t){const r=this._formulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forValue((s,a,u)=>{if(u==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(u)),this._removeAllTreeMap(u)}),n.reset()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forValue((a,u,l)=>{if(l==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(l)),this._removeAllTreeMap(l)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children,n=this._allTreeMap;for(const s of t){const a=n.get(s);a==null||a.children.delete(e.treeId)}for(const s of r){const a=n.get(s);a==null||a.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;const t=this._allTreeMap.get(e);if(t){const r=[];for(let n=0;n<t.rangeList.length;n++){const s=t.rangeList[n],{unitId:a,sheetId:u,range:l}=s;r.push({unitId:a,sheetId:u,range:l,id:e})}this._dependencyRTreeCache.bulkRemove(r)}}removeFormulaDependencyByDefinedName(e,t){const r=this._definedNameMap.get(e);if(r){const n=r.get(t);if(n){for(const s of n)this._removeDependencyRTreeCache(s),this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s);n.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}updateDependencyTreeDirtyState(e,t){const r=this._allTreeMap.get(e);r&&(r.isDirty=t)}}const Gr=S.createIdentifier("univer.formula.dependency-manager.service");class To extends S.Disposable{constructor(){super(...arguments);A(this,"_referenceExecutorMap",new Map);A(this,"_onChanged$",new Oe.Subject);A(this,"onChanged$",this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,r){r.forEach(n=>{var s,a;(a=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))==null||a.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var n,s;return(s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}has(e,t,r){var n,s;return!!((s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))!=null&&s.has(r))}register(e,t,r,n){let s=this._referenceExecutorMap.get(e);s||(s=new Map,this._referenceExecutorMap.set(e,s));let a=s.get(t);a||(a=new Map,s.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),a.set(r,n)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Rr=S.createIdentifier("univer.formula.feature-calculation-manager.service");class Uo extends S.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var s,a,u;const{unitId:t,subUnitId:r,formulaId:n}=e;(u=(a=(s=this._otherFormulaData)==null?void 0:s[t])==null?void 0:a[r])==null||delete u[n]}get(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return(a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n]}has(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return((a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:n,item:s}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][n]=s}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{const u=s[a];if(u==null)return!0;this.register({unitId:t,subUnitId:n,formulaId:a,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{this.remove({unitId:t,subUnitId:n,formulaId:a})})})})}getOtherFormulaData(){return this._otherFormulaData}}const $n=S.createIdentifier("univer.formula.other-formula-manager.service");var Qt=(i=>(i[i.NORMAL_FORMULA=0]="NORMAL_FORMULA",i[i.OTHER_FORMULA=1]="OTHER_FORMULA",i[i.FEATURE_FORMULA=2]="FEATURE_FORMULA",i))(Qt||{});class xo{constructor(){A(this,"_state",0);A(this,"type",0);A(this,"treeId");A(this,"children",new Set);A(this,"parents",new Set)}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}pushChildren(o){this.children.add(o.treeId),o._pushParent(this)}hasChildren(o){return this.children.has(o)}_pushParent(o){this.parents.add(o.treeId)}}class ya extends xo{constructor(){super(...arguments);A(this,"refTree");A(this,"refOffsetX",-1);A(this,"refOffsetY",-1);A(this,"isCache",!1);A(this,"isDirty",!1);A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");A(this,"featureId")}get isVirtual(){return!0}get row(){return this.refTree==null?-1:this.refTree.row+this.refOffsetY}get column(){return this.refTree==null?-1:this.refTree.column+this.refOffsetX}get rowCount(){return this.refTree==null?0:this.refTree.rowCount}get columnCount(){return this.refTree==null?0:this.refTree.columnCount}get unitId(){return this.refTree==null?"":this.refTree.unitId}get subUnitId(){return this.refTree==null?"":this.refTree.subUnitId}get formula(){var e,t;return(t=(e=this.refTree)==null?void 0:e.formula)!=null?t:""}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return(e=this.refTree)==null?void 0:e.node}dispose(){this.refTree=null}get rangeList(){const e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){const r=this.refTree.rangeList[t];e.push({unitId:r.unitId,sheetId:r.sheetId,range:S.moveRangeByOffset(r.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,u=this.column;return!(a<t||a>n||u<r||u>s)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:u,sheetId:l,range:c}=a,f=(r=e==null?void 0:e[u])==null?void 0:r[l];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=c;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((R,y)=>{if(R>=m&&R<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}get formulaId(){return this.refTree==null?"":this.refTree.formulaId}}class Yn extends xo{constructor(e){super();A(this,"isCache",!1);A(this,"featureId");A(this,"featureDirtyRanges",[]);A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"formulaId");A(this,"subUnitId","");A(this,"unitId","");A(this,"rangeList",[]);A(this,"formula","");A(this,"row",-1);A(this,"column",-1);A(this,"rowCount",Number.NEGATIVE_INFINITY);A(this,"columnCount",Number.NEGATIVE_INFINITY);A(this,"isDirty",!1);A(this,"node");A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,u=this.column;return!(a<t||a>n||u<r||u>s)}dependencySheetName(e){var r;const t=this.rangeList;if(t.length===0||e==null)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:u,sheetId:l}=a;if(((r=e[u])==null?void 0:r[l])!=null)return!0}return!1}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:u,sheetId:l,range:c}=a,f=(r=e==null?void 0:e[u])==null?void 0:r[l];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=c;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((R,y)=>{if(R>=m&&R<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==2}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}}class ba{constructor(o){A(this,"children",new Set);A(this,"parents",new Set);A(this,"treeId",-1);A(this,"formula","");A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"row",-1);A(this,"column",-1);A(this,"unitId","");A(this,"subUnitId","");A(this,"rangeList",[]);A(this,"refTreeId");A(this,"formulaId");A(this,"featureId");A(this,"type");var e,t,r,n;this.treeId=o.treeId,this.row=o.row,this.column=o.column,this.unitId=o.unitId,this.subUnitId=o.subUnitId,this.refOffsetX=o.refOffsetX,this.refOffsetY=o.refOffsetY,this.rangeList=o.rangeList,o.isVirtual?this.refTreeId=(t=(e=o.refTree)==null?void 0:e.treeId)!=null?t:-1:(this.formula=o.formula,this.formulaId=(r=o.formulaId)!=null?r:void 0,this.featureId=(n=o.featureId)!=null?n:void 0,this.type=o.type)}toJson(){return{children:Array.from(this.children).map(o=>o.treeId),parents:Array.from(this.parents).map(o=>o.treeId),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}toFullJson(){return{children:Array.from(this.children).map(o=>o.toJson()),parents:Array.from(this.parents).map(o=>o.toJson()),treeId:this.treeId,formula:this.formula,row:this.row,column:this.column,unitId:this.unitId,subUnitId:this.subUnitId,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY,rangeList:this.rangeList,refTreeId:this.refTreeId,formulaId:this.formulaId,featureId:this.featureId,type:this.type}}addParent(o){this.parents.add(o)}addChild(o){this.children.add(o)}}var ch=Object.getOwnPropertyDescriptor,fh=(i,o,e,t)=>{for(var r=t>1?void 0:t?ch(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},St=(i,o)=>(e,t)=>o(e,t,i);function qt(i){return i.getLastTreeId()||0}const Hn=S.createIdentifier("engine-formula.dependency-generator");w.FormulaDependencyGenerator=class extends S.Disposable{constructor(e,t,r,n,s,a,u,l,c){super();A(this,"_updateRangeFlattenCache",new Map);A(this,"_dependencyRTreeCacheForAddressFunction",new S.RTree);A(this,"_executedAddressFunctionNodeIds",new Set);A(this,"_formulaDependencyTreeModel",new Map);this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=r,this._featureCalculationManagerService=n,this._interpreter=s,this._astTreeBuilder=a,this._lexer=u,this._dependencyManagerService=l,this._lexerTreeBuilder=c}dispose(){this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),Hr.clear()}async generate(e=!1){this._updateRangeFlatten();const t=this._currentConfigService.getFormulaData(),r=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getClearDependencyTreeCache();n!=null&&Object.keys(n).forEach(m=>{m!=null&&Object.keys(n[m]).forEach(d=>{d!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(m,d),this._dependencyManagerService.clearFeatureFormulaDependency(m,d),this._dependencyManagerService.clearFormulaDependency(m,d))})});const s=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,r,s);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));const u=this._getUpdateTreeListAndMakeDependency(a);let l=this._calculateRunList(u);return this._dependencyFeatureCalculation(l)&&(l.forEach(m=>{m.resetState()}),l=this._calculateRunList(l)),this._checkIsCycleDependency(l)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(l)}_dependencyFeatureCalculation(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let r=!1;return t.forEach((n,s)=>{n.forEach((a,u)=>{a.forEach((l,c)=>{const{unitId:f,subUnitId:m,getDirtyData:d}=l,_=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),C=this._convertDirtyRangesToUnitRange(_.dirtyRanges),E=this._intersectFeatureCalculation(C,e,{unitId:f,subUnitId:m,featureId:c});if(E.length>0){let R=this._getExistTreeList({unitId:f,subUnitId:m,featureId:c},e);R==null&&(R=this._getFeatureFormulaTree(c,qt(this._dependencyManagerService),l),e.push(R)),R.parents=new Set,E.forEach(y=>{y.hasChildren(R.treeId)||y.pushChildren(R)}),r=!0}})})}),r}_clearFeatureCalculationNode(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(r=>{var a,u,l,c;const n=new Set;for(const f of r.children){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(u=(a=t.get(r.unitId))==null?void 0:a.get(r.subUnitId))!=null&&u.has(m.featureId)||n.add(f))}r.children=n;const s=new Set;for(const f of r.parents){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(c=(l=t.get(r.unitId))==null?void 0:l.get(r.subUnitId))!=null&&c.has(m.featureId)||s.add(f))}r.parents=s})}_convertDirtyRangesToUnitRange(e){const t=[];for(const r in e){const n=e[r];for(const s in n){const a=n[s];for(const u of a)t.push({unitId:r,sheetId:s,range:u})}}return t}_intersectFeatureCalculation(e,t,r){const n=[],s=this._dependencyManagerService.searchDependency(e);for(let a=0,u=t.length;a<u;a++){const l=t[a];if(l.unitId===r.unitId&&l.subUnitId===r.subUnitId&&l.featureId===r.featureId)continue;s.has(l.treeId)&&n.push(l)}return n}_getExistTreeList(e,t){const{unitId:r,subUnitId:n,featureId:s}=e;for(let a=0,u=t.length;a<u;a++){const l=t[a];if(l.unitId===r&&l.subUnitId===n&&l.featureId===s)return l}}_isCyclicUtil(e,t,r){const n=this._dependencyManagerService.getTreeById(e);if(n==null)return!1;if(!t.has(n.treeId)){t.add(n.treeId),r.add(n.treeId);for(const s of n.children)if(!t.has(s)&&this._isCyclicUtil(s,t,r)||r.has(s))return!0}return r.delete(n.treeId),!1}_checkIsCycleDependency(e){const t=new Set,r=new Set;for(let n=0,s=e.length;n<s;n++){const a=e[n];if(this._isCyclicUtil(a.treeId,t,r)===!0)return!0}return!1}async _generateTreeList(e,t,r){const n=Object.keys(e),s=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(n,e,r,a),this._registerOtherFormulas(t,s,a),this._registerFeatureFormulas(a);for(let l=0,c=a.length;l<c;l++){const f=a[l];if(!f.formula)continue;const m=this._getTreeNode(f);f.isDirty=this._includeTree(f,m);const d=this._getAddressFunctionNodeList(m);if(d.length>0&&(f.addressFunctionNodes=d),f.isVirtual)continue;this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);const _=await this._getRangeListByNode({node:m,refOffsetX:f.refOffsetX,refOffsetY:f.refOffsetY});f.pushRangeList(_)}for(let l=0,c=a.length;l<c;l++){const f=a[l];f.isCache||this._dependencyManagerService.addDependencyRTreeCache(f)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((r,n)=>{r.forEach((s,a)=>{s.forEach((u,l)=>{const c=this._dependencyManagerService.getFeatureFormulaDependency(u.unitId,u.subUnitId,l);e.push(this._getFeatureFormulaTree(l,c,u))})})})}_getFeatureFormulaTree(e,t,r){const{unitId:n,subUnitId:s,dependencyRanges:a,getDirtyData:u}=r,l=t||qt(this._dependencyManagerService),c=new Yn(l);c.unitId=n,c.subUnitId=s,c.rangeList=a,c.getDirtyData=u;const f=u(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),m=this._convertDirtyRangesToUnitRange(f.dirtyRanges);return c.featureDirtyRanges=m,c.featureId=e,c.type=Qt.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(n,s,e,c),this._dependencyManagerService.getFeatureFormulaDependency(r.unitId,r.subUnitId,e)&&(c.isCache=!0),c}_registerOtherFormulas(e,t,r){for(const n of t){const s=e[n];if(s==null)continue;const a=Object.keys(s);for(const u of a){const l=s[u];if(l==null)continue;const c=Object.keys(l);for(const f of c){const m=this._dependencyManagerService.hasOtherFormulaDataMainData(f),d=l[f],{f:_,ranges:C}=d;let E=!1;m&&(E=!0);const R=da(n,_,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:y,firstColumn:p}=this._getFirstCellOfRange(C),N=this._dependencyManagerService.getOtherFormulaDependency(n,u,f),M=(N==null?void 0:N.getValue(0,0))||qt(this._dependencyManagerService),D=new Yn(M);for(let L=0;L<C.length;L++){const P=C[L],{startRow:j,startColumn:I,endRow:v,endColumn:Y}=P;for(let Q=j;Q<=v;Q++)for(let se=I;se<=Y;se++){const te=se-p,W=Q-y;if(te===0&&W===0){D.node=R,D.formula=_,D.unitId=n,D.subUnitId=u,D.formulaId=f,D.type=Qt.OTHER_FORMULA,D.isCache=E,r.push(D),this._dependencyManagerService.addOtherFormulaDependency(n,u,f,D),this._dependencyManagerService.addFormulaDependencyByDefinedName(D);continue}const fe=new ya;fe.treeId=(N==null?void 0:N.getValue(te,W))||qt(this._dependencyManagerService),fe.refTree=D,fe.refOffsetX=te,fe.refOffsetY=W,fe.isCache=E,fe.type=Qt.OTHER_FORMULA,this._dependencyManagerService.addOtherFormulaDependency(n,u,f,fe),this._dependencyManagerService.addFormulaDependencyByDefinedName(fe),r.push(fe)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(f)}}}}_getFirstCellOfRange(e){const t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,r,n){for(const s of e){const a=t[s];if(a==null)continue;const u=Object.keys(a);for(const l of u){const c=new S.ObjectMatrix(a[l]||{}),f=new Map;c.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:R}=_;if(!(C===0&&E===0&&R!=null))return!0;const y=this._createFDtree(s,l,m,d,r,_),p=this._dependencyManagerService.getFormulaDependency(s,l,m,d);p!=null?(y.treeId=p,y.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(p,!1)):(this._dependencyManagerService.addFormulaDependency(s,l,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),f.set(R,y),n.push(y)}),c.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:R}=_;if(C===0&&E===0&&R!=null)return!0;let y;if(R&&f.has(R)){const N=f.get(R);y=this._createVirtualFDtree(N,_)}else y=this._createFDtree(s,l,m,d,r,_);const p=this._dependencyManagerService.getFormulaDependency(s,l,m,d);p!=null?(y.treeId=p,y.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(p,!1)):(this._dependencyManagerService.addFormulaDependency(s,l,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),n.push(y)}),f.clear()}}}_createFDtree(e,t,r,n,s,a){const{f:u,x:l=0,y:c=0}=a,f=new Yn(qt(this._dependencyManagerService)),m=s[e][t],d=da(e,u,this._lexer,this._astTreeBuilder,this._currentConfigService);return f.node=d,f.formula=u,f.unitId=e,f.subUnitId=t,f.row=r,f.column=n,f.rowCount=m.rowCount,f.columnCount=m.columnCount,f}_createVirtualFDtree(e,t){const{x:r=0,y:n=0}=t,s=new ya;return s.treeId=qt(this._dependencyManagerService),s.refTree=e,s.refOffsetX=r,s.refOffsetY=n,s}_updateRangeFlatten(){const e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let r=0;r<t.length;r++){const n=t[r],s=n.range,a=n.sheetId,u=n.unitId;this._addFlattenCache(u,a,s)}}}_addFlattenCache(e,t,r){let n=this._updateRangeFlattenCache.get(e);n==null&&(n=new Map,this._updateRangeFlattenCache.set(e,n));let s=n.get(t);s==null&&(s=[],n.set(t,s)),s.push(r)}_isPreCalculateNode(e){return e.nodeType===ue.UNION||e.nodeType===ue.PREFIX&&e.getToken()===De.AT||e.nodeType===ue.SUFFIX&&e.getToken()===Ke.POUND}_nodeTraversalRef(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(this._isPreCalculateNode(a)){if(t.push(a),a.nodeType===ue.UNION)for(const u of a.getChildren())u.nodeType===ue.FUNCTION&&u.isAddress()&&this._nodeTraversalRef(u,t);continue}else a.nodeType===ue.REFERENCE&&t.push(a);this._nodeTraversalRef(a,t)}}_nodeTraversalReferenceFunction(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.nodeType===ue.FUNCTION&&a.isAddress()){t.push(a);continue}this._nodeTraversalReferenceFunction(a,t)}}async _executeNode(e,t=0,r=0){let n;const s={node:e,refOffsetX:t,refOffsetY:r};return this._interpreter.checkAsyncNode(e)?n=await this._interpreter.executeAsync(s):n=this._interpreter.execute(s),n}async _getRangeListByNode(e){const t=[],r=e.refOffsetX,n=e.refOffsetY,s=e.node;if(s==null)return[];this._nodeTraversalRef(s,t);const a=[];for(let u=0,l=t.length;u<l;u++){const c=t[u],m=(await this._executeNode(c,r,n)).toUnitRange();a.push(m),c.setValue(null)}return a}_getAddressFunctionNodeList(e){const t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(r,n,s);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);const u=e.bulkSearch(a),l=this._buildTreeNodeById(u);l.length!==0&&await this._calculateAddressFunctionRuntimeData(e,l)}async _calculateListByFunctionRefNode(e){const t=new S.RTree;for(let r=0,n=e.length;r<n;r++){const s=e[r];t.insert({unitId:s.unitId,sheetId:s.subUnitId,range:{startRow:s.row,startColumn:s.column,endRow:s.row,endColumn:s.column},id:s.treeId})}this._executedAddressFunctionNodeIds.clear();for(let r=0,n=e.length;r<n;r++){const s=e[r];await this._calculateAddressFunction(t,s)}}async _calculateAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);const a=[];for(let c=0,f=r.length;c<f;c++){const m=await this._getRangeListByNode({node:r[c],refOffsetX:n,refOffsetY:s});a.push(...m)}const u=new Set;this._searchDependencyByAddressFunction(e,a,u);const l=this._buildTreeNodeById(u);if(l.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,l),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){const r=t.pop(),s={node:this._getTreeNode(r),refOffsetX:r.refOffsetX,refOffsetY:r.refOffsetY};await this._calculateAddressFunction(e,r),this._runtimeService.setCurrent(r.row,r.column,r.rowCount,r.columnCount,r.subUnitId,r.unitId);let a;this._interpreter.checkAsyncNode(s.node)?a=await this._interpreter.executeAsync(s):a=this._interpreter.execute(s),r.formulaId!=null?this._runtimeService.setRuntimeOtherData(r.formulaId,r.refOffsetX,r.refOffsetY,a):this._runtimeService.setRuntimeData(a)}}_buildTreeNodeById(e){const t=[];for(const r of e){const n=this._getTreeById(r);!n||this._executedAddressFunctionNodeIds.has(r)||(this._executedAddressFunctionNodeIds.add(r),t.push(n))}return t}_searchDependencyByAddressFunction(e,t,r){const n=e.bulkSearch(t),s=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(const u of s)r.has(u)||r.add(u);const a=[];for(const u of n){const l=this._getTreeById(u);l&&!r.has(u)&&(a.push(...l.rangeList),r.add(u))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,r),r}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){const r=[];for(let n=0;n<t.length;n++){const s=t[n],{unitId:a,sheetId:u,range:l}=s;r.push({unitId:a,sheetId:u,range:l,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(r)}async _getRangeListByFunctionRefNode(e,t,r){const n=[];for(let s=0,a=e.length;s<a;s++){const u=e[s],c=(await this._executeNode(u,t,r)).toUnitRange();n.push(c),u.setValue(null)}return n}_getUpdateTreeListAndMakeDependency(e){const t=[],r=new Set,n=this._currentConfigService.isForceCalculate(),s=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(s),u=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s);for(const c of u)a.add(c);const l=this._dependencyManagerService.buildDependencyTree(e);for(const c of l){const f=c.treeId;(n||c.isDirty||c.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(f)&&!c.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!r.has(f)&&(t.push(c),r.add(f))}return t}_includeTreeFeature(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.featureId;if(n!=null){const u=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=u==null?void 0:u[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_includeOtherFormula(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.formulaId;if(n!=null){const u=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=u==null?void 0:u[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;const t=e.getChildren();for(let r=0,n=t.length;r<n;r++){const s=t[r];if(this._detectForcedRecalculationNodeRecursion(s))return!0}return!1}_includeTree(e,t){var c,f,m;const r=e.unitId,n=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||Pm(e,t,this._currentConfigService)===!0)return!0;const s=(f=(c=this._currentConfigService.getExcludedRange())==null?void 0:c[r])==null?void 0:f[n];if((s==null?void 0:s.getValue(e.row,e.column))!=null)return!1;if(((m=this._currentConfigService.getDirtyNameMap()[r])==null?void 0:m[n])!=null)return!0;if(!this._updateRangeFlattenCache.has(r))return!1;const u=this._updateRangeFlattenCache.get(r);if(!u.has(n))return!1;const l=u.get(n);for(const d of l)if(e.inRangeData(d))return!0;return!1}_calculateRunList(e){e.length;const t=e,r=[],n=[];for(;t.length>0;){const s=t.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){r.push(s),s.setSkip();continue}n.length=0;for(const u of s.parents){const l=this._dependencyManagerService.getTreeById(u);if(!l){console.error("Dependency tree not found for treeId:",u);continue}l.isAdded()||s.isSkip()||n.push(l)}const a=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s.toRTreeItem());for(const u of a){const l=this._dependencyManagerService.getTreeById(u);if(!l){console.error("Dependency tree not found for treeId:",u);continue}l.isAdded()||s.isSkip()||n.push(l)}n.length===0?(r.push(s),s.setSkip()):(s.setAdded(),t.push(s,...n))}return r}async _initializeGenerateTreeList(){const e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,r)}async _getAllTreeList(){const e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){const r=this._getTreeById(e);if(!r){console.error("FormulaDependencyTree is null for treeId:",e);return}t=new ba(r),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){const t=this._getTreeModel(e.treeId),r=this._getDependencyTreeParenIds(e);if(!t)return new ba(e);for(const n of r){const s=this._getTreeModel(n);s&&(t.addParent(s),s.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();const t=[];for(const n of e){const s=n.type;if(n.isVirtual&&(s===Qt.FEATURE_FORMULA||s===Qt.OTHER_FORMULA))continue;const a=this._getFormulaDependencyTreeModel(n);t.push(a)}const r=[];for(const n of t)r.push(n.toJson());return this._endFormulaDependencyTreeModel(),r}async getAllDependencyJson(){const e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(e.refTreeId==null)return;const t=this._getTreeById(e.refTreeId);if(!t)return;const r=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY);e.formula=r}async getCellDependencyJson(e,t,r,n){await this._initializeGenerateTreeList();const s=this._dependencyManagerService.getFormulaDependency(e,t,r,n);if(s==null)return;const a=this._getTreeById(s);if(!a)return;this._startFormulaDependencyTreeModel();const u=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(u);const l=this._getDependencyTreeChildrenIds(a);for(const c of l){const f=this._getTreeModel(c);f&&(this._setRealFormulaString(f),u.addChild(f))}for(const c of u.parents)this._setRealFormulaString(c);return this._endFormulaDependencyTreeModel(),u.toFullJson()}_getRangeDependents(e){const t=this._dependencyManagerService.searchDependency(e),r=[];for(const s of t){const a=this._getTreeById(s);if(!a)continue;const u=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(u),r.push(u)}const n=[];for(const s of r)s&&n.push(s.toJson());return n}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();const t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){const r=[];for(const a of t)for(const u of e){const l=u.unitId,c=u.sheetId;if(!(a.unitId!==l||a.subUnitId!==c)&&(u.range,a.inRangeData(u.range))){r.push(a);break}}const n=[];for(const a of r){const u=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(u),n[a.treeId]=u}const s=[];for(const a of n)a&&s.push(a.toJson());return s}async getInRangeFormulas(e){const t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();const r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),r}async getRangeDependentsAndInRangeFormulas(e){const t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();const r=this._getRangeDependents(e),n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:r,inRanges:n}}},w.FormulaDependencyGenerator=fh([St(0,Nt),St(1,it),St(2,$n),St(3,Rr),St(4,S.Inject(w.Interpreter)),St(5,S.Inject(w.AstTreeBuilder)),St(6,S.Inject(w.Lexer)),St(7,Gr),St(8,S.Inject(hr))],w.FormulaDependencyGenerator);var mh=Object.getOwnPropertyDescriptor,hh=(i,o,e,t)=>{for(var r=t>1?void 0:t?mh(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Xt=(i,o)=>(e,t)=>o(e,t,i);const vo=500,Gn=S.createIdentifier("engine-formula.calculate-formula.service");w.CalculateFormulaService=class extends S.Disposable{constructor(e,t,r,n,s,a,u){super();A(this,"_executionInProgressListener$",new Oe.Subject);A(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());A(this,"_executionCompleteListener$",new Oe.Subject);A(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());A(this,"_executeLock",new S.AsyncLock);A(this,"_isCalculateTreeModel",!1);this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=n,this._formulaDependencyGenerator=s,this._interpreter=a,this._astTreeBuilder=u}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),_r.clear(),Ge.clear(),ds.clear(),ia.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage(qe.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();const t=e.maxIteration||Gi;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire("FORMULA_EXECUTION_LOCK",async()=>{for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._executeStep(),_r.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage(qe.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Ge.clear(),this._runtimeService.reset()})}async _executeStep(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:n,excludedCell:s}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return n==null||n.length===0||(_r.clear(),this._currentConfigService.loadDirtyRangesAndExcludedCell(n,s),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],n={};return Object.keys(e).forEach(s=>{const a=e[s];if(a==null)return!0;Object.keys(a).forEach(u=>{const l=new S.ObjectMatrix(a[u]);if(l==null)return!0;const c=new S.ObjectMatrix;l.forValue((f,m,d)=>{c.setValue(f,m,!0),r.push({unitId:s,sheetId:u,range:d})}),n[s]==null&&(n[s]={}),n[s][u]=c})}),Object.keys(t).forEach(s=>{const a=t[s];Object.keys(a).forEach(u=>{const l=a[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const f=l[c];if(f==null)return!0;for(const m of f)r.push({unitId:u,sheetId:c,range:m})})})}),{dirtyRanges:r,excludedCell:n}}async _apply(e=!1){var l;e?this._runtimeService.setFormulaExecuteStage(qe.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(qe.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(qe.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(qe.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=[];const s=this._configService.getConfig(yn),a=(s==null?void 0:s.intervalCount)||vo,u=t.length;for(let c=0;c<u;c++){const f=t[c],m=f.nodeData,d=f.getDirtyData;if(c%a===0&&(await new Promise(C=>{const E=S.requestImmediateMacroTask(C);n.push(E)}),e?(this._runtimeService.setFormulaExecuteStage(qe.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(c+1)):(this._runtimeService.setFormulaExecuteStage(qe.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(c+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||m==null&&d==null)){this._runtimeService.setFormulaExecuteStage(qe.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);let _;if(d!=null&&f.featureId!=null){const{runtimeCellData:C,dirtyRanges:E}=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(f.featureId,C),this._runtimeService.setRuntimeFeatureRange(f.featureId,E)}else m!=null&&(r.checkAsyncNode(m.node)?_=await r.executeAsync(m):_=r.execute(m),f.formulaId!=null?this._runtimeService.setRuntimeOtherData(f.formulaId,f.refOffsetX,f.refOffsetY,_):this._runtimeService.setRuntimeData(_));(l=m.node)==null||l.resetCalculationState()}return n.forEach(c=>c()),n=[],u>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){var s;this._currentConfigService.loadDataLite(t);const r=this._currentConfigService.getUnitData();this._runtimeService.reset();const n={};for(const a of Object.keys(e)){const u=e[a];if(u!=null){n[a]={};for(const l of Object.keys(u)){const c=u[l];if(c==null)continue;const f=(s=r[a])==null?void 0:s[l];if(f!=null){n[a][l]={};for(const m of Object.keys(c)){const d=Number.parseInt(m);n[a][l][d]={};const _=c[d];if(_)for(const C of Object.keys(_)){const E=Number.parseInt(C),R=_[E];if(!R)continue;const y=f.rowCount||0,p=f.columnCount||0;this._runtimeService.setCurrent(d,E,y,p,l,a);const N=[];for(const M of R){let D=await this.calculate(M);if(!D){N.push({value:null,formula:M});continue}D.isReferenceObject()&&(D=D.toArrayValueObject());const L=D;if(L.isArray()){const P=L;if(P.getRowCount()===1&&P.getColumnCount()===1){N.push({value:P.getFirstCell().getValue(),formula:M});continue}N.push({value:P.toValue(),formula:M});continue}N.push({value:L.getValue(),formula:M})}n[a][l][d][E]=N}}}}}}return n}async calculate(e){const t=this._lexer.treeBuilder(e);if(Object.values(h).includes(t))return;const r=this._astTreeBuilder.parse(t),n=this._interpreter;if(r==null)return;const s={node:r,refOffsetX:0,refOffsetY:0};return n.checkAsyncNode(r)?await n.executeAsync(s):n.execute(s)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,r,n){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,r,n)}async getRangeDependents(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependents(e)}async getInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getInRangeFormulas(e)}async getDependentsAndInRangeFormulas(e){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getRangeDependentsAndInRangeFormulas(e)}},w.CalculateFormulaService=hh([Xt(0,S.IConfigService),Xt(1,S.Inject(w.Lexer)),Xt(2,Nt),Xt(3,it),Xt(4,Hn),Xt(5,S.Inject(w.Interpreter)),Xt(6,S.Inject(w.AstTreeBuilder))],w.CalculateFormulaService);var gh=Object.getOwnPropertyDescriptor,dh=(i,o,e,t)=>{for(var r=t>1?void 0:t?gh(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pa=(i,o)=>(e,t)=>o(e,t,i);w.CalculateController=class extends S.Disposable{constructor(o,e,t){super(),this._commandService=o,this._calculateFormulaService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(o=>{if(o.id===Ms.id)this._calculateFormulaService.stopFormulaExecution();else if(o.id===Vs.id)this._calculate(o.params);else if(o.id===fn.id){const e=o.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}else if(o.id===Os.id)this._calculateFormulaString(o.params);else if(o.id===Ds.id)this._generateAllDependencyTreeJson();else if(o.id===ws.id)this._generateCellDependencyTreeJson(o.params);else if(o.id===Ps.id){const e=o.params;this._queryFormulaDependencyJson(e)}else if(o.id===Ts.id){const e=o.params;this._queryFormulaDependencyAllJson(e)}}))}async _calculate(o){const{forceCalculation:e=!1,dirtyRanges:t=[],dirtyNameMap:r={},dirtyDefinedNameMap:n={},dirtyUnitFeatureMap:s={},dirtyUnitOtherFormulaMap:a={},clearDependencyTreeCache:u={},maxIteration:l=Gi,rowData:c,isCalculateTreeModel:f=!1}=o,m=this._formulaDataModel.getFormulaData(),d=this._formulaDataModel.getArrayFormulaCellData(),_=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:m,arrayFormulaCellData:d,arrayFormulaRange:_,forceCalculate:e,dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:n,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:a,clearDependencyTreeCache:u,maxIteration:l,isCalculateTreeModel:f,rowData:c})}async _queryFormulaDependencyJson(o){const{unitRanges:e,isInRange:t}=o;let r=[];t?r=await this._calculateFormulaService.getInRangeFormulas(e):r=await this._calculateFormulaService.getRangeDependents(e),this._commandService.executeCommand(js.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(o){const{unitRanges:e}=o,t=await this._calculateFormulaService.getDependentsAndInRangeFormulas(e);this._commandService.executeCommand(Us.id,{result:t},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){const o=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(Rn.id,{result:o},{onlyLocal:!0})}async _generateCellDependencyTreeJson(o){const{unitId:e,sheetId:t,row:r,column:n}=o,s=await this._calculateFormulaService.getCellDependencyJson(e,t,r,n);this._commandService.executeCommand(Ls.id,{result:s},{onlyLocal:!0})}async _calculateFormulaString(o){const{formulas:e}=o,t=await this._calculateFormulaService.executeFormulas(e);this._commandService.executeCommand(Ss.id,{result:t},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(o=>{const e=o.functionsExecutedState;switch(e){case Ar.NOT_EXECUTED:this._applyTreeResult(o);break;case Ar.STOP_EXECUTION:break;case Ar.SUCCESS:this._applyResult(o);break;case Ar.INITIAL:break}this._commandService.executeCommand(Ur.id,{functionsExecutedState:e},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(o=>{this._commandService.executeCommand(Ur.id,{stageInfo:o},{onlyLocal:!0})})}async _applyTreeResult(o){const{dependencyTreeModelData:e}=o;e.length>0&&this._commandService.executeCommand(Rn.id,{result:e},{onlyLocal:!0})}async _applyResult(o){const{unitData:e,unitOtherData:t,arrayFormulaRange:r,arrayFormulaCellData:n,clearArrayFormulaCellData:s,arrayFormulaEmbedded:a,imageFormulaData:u,dependencyTreeModelData:l}=o;if(!e){this._applyTreeResult(o),console.error("No sheetData from Formula Engine!");return}(r||a)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(fn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:a},{onlyLocal:!0})),u&&u.length>0&&this._commandService.executeCommand(vs.id,{imageFormulaData:u},{onlyLocal:!0}),this._applyTreeResult(o),this._commandService.executeCommand(En.id,{unitData:Rc(e),unitOtherData:t},{onlyLocal:!0})}},w.CalculateController=dh([pa(0,S.ICommandService),pa(1,Gn),pa(2,S.Inject(w.FormulaDataModel))],w.CalculateController);const Io=/[\[\]]/g;function Fo(i,o){if(Io.test(i)){const e=Number(i.replace(Io,""));return o+e}return Number(i)-1}function Na(i,o=0,e=0){i=i.toLocaleUpperCase();const t=i.split(/[RC]/),r=t[1],n=t[2],s=Fo(r,o),a=Fo(n,e);return{row:s,column:a,absoluteRefType:S.AbsoluteRefType.NONE}}function Bo(i,o=0,e=0){const{refBody:t,sheetName:r,unitId:n}=gn(i),s=t.indexOf(":");if(s===-1){const C=Na(t,o,e),E=C.row,R=C.column,y=C.absoluteRefType;return{unitId:n,sheetName:r,range:{startRow:E,startColumn:R,endRow:E,endColumn:R,startAbsoluteRefType:y,endAbsoluteRefType:y}}}const a=t.substring(0,s),u=t.substring(s+1),l=Na(a,o,e),c=Na(u,o,e),f=l.row,m=l.column,d=c.row,_=c.column;return{unitId:n,sheetName:r,range:{startRow:f,startColumn:m,endRow:d,endColumn:_,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function Ch(i){const o=Wn(i.startRow,i.startAbsoluteRefType,!0),e=Wn(i.startColumn,i.startAbsoluteRefType,!1),t=Wn(i.endRow,i.endAbsoluteRefType,!0),r=Wn(i.endColumn,i.endAbsoluteRefType,!1);return o===t&&e===r?`R${o}C${e}`:`R${o}C${e}:R${t}C${r}`}function Wn(i,o=S.AbsoluteRefType.ALL,e){switch(i+=1,o){case S.AbsoluteRefType.ALL:return`${i}`;case S.AbsoluteRefType.ROW:return e?`${i}`:`[${i}]`;case S.AbsoluteRefType.COLUMN:return e?`[${i}]`:`${i}`;case S.AbsoluteRefType.NONE:return`[${i}]`}}function Kt(i){let o=i;if(i.isArray()){const e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return g.create(h.VALUE);o=i.get(0,0)}return o.isError(),o}function Wr(...i){for(let o=0;o<i.length;o++){const e=Kt(i[o]);if(e.isError())return{isError:!0,errorObject:e};i[o]=e}return{isError:!1,variants:i}}function q(...i){for(let o=0;o<i.length;o++){const e=Kt(i[o]);if(e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[o]=e}return{isError:!1,variants:i}}function Fe(...i){for(let o=0;o<i.length;o++){let e=i[o];if(e.isError())return{isError:!0,errorObject:e};if(e.isNull())return{isError:!0,errorObject:g.create(h.NA)};if(e=Kt(i[o]),e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[o]=e}return{isError:!1,variants:i}}function B(...i){for(let o=0;o<i.length;o++){let e=i[o];if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return{isError:!0,errorObject:e};i[o]=e}return{isError:!1,variants:i}}class V{constructor(o){A(this,"_unitId");A(this,"_subUnitId");A(this,"_row",-1);A(this,"_column",-1);A(this,"_definedNames");A(this,"_locale");A(this,"_sheetOrder");A(this,"_sheetNameMap");A(this,"_formulaDataModel");A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"needsExpandParams",!1);A(this,"needsReferenceObject",!1);A(this,"needsLocale",!1);A(this,"needsSheetsInfo",!1);A(this,"needsFormulaDataModel",!1);A(this,"needsSheetRowColumnCount",!1);A(this,"needsFilteredOutRows",!1);A(this,"minParams",-1);A(this,"maxParams",-1);this._name=o}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}dispose(){}getDefinedName(o){var t;const e=this._definedNames;return e==null?null:(t=Array.from(Object.values(e)).filter(r=>r.name===o))==null?void 0:t[0]}setDefinedNames(o){this._definedNames=o}getLocale(){return this._locale}setLocale(o){this._locale=o}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:o,sheetNameMap:e}){this._sheetOrder=o,this._sheetNameMap=e}setFormulaDataModel(o){this._formulaDataModel=o}setSheetRowColumnCount(o,e){this._rowCount=o,this._columnCount=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(o,e,t,r){this._unitId=o,this._subUnitId=e,this._row=t,this._column=r}calculateCustom(...o){return null}calculate(...o){return g.create(h.VALUE)}checkArrayType(o){return o.isReferenceObject()||o.isValueObject()&&o.isArray()}getIndexNumValue(o,e=1){let t=o;if(t.isArray()&&(t=t.getFirstCell()),t.isBoolean())return t.getValue()===!1?g.create(h.VALUE):e;if(t.isString()){const r=Number(t.getValue());return Number.isNaN(r)?g.create(h.REF):r}else if(t.isNumber())return t.getValue();return g.create(h.VALUE)}getZeroOrOneByOneDefault(o){if(o==null)return 1;let e=1;if(o.isArray()&&(o=o.getFirstCell()),o.isBoolean())o.getValue()===!1&&(e=0);else{if(o.isString())return;o.isNumber()&&o.getValue()===0&&(e=0)}return e}getMatchTypeValue(o){if(o==null)return 1;let e=1;if(o.isArray()&&(o=o.getFirstCell()),o.isBoolean())o.getValue()===!1&&(e=0);else{if(o.isString())return;if(o.isNumber()){const t=o.getValue();t<=0&&(e=t)}}return e}binarySearch(o,e,t,r,n){const s=e.binarySearch(o,r,n);if(s==null)return g.create(h.NA);let a;return t.getRowCount()===1?a=t.get(0,s)||ce.create():a=t.get(s,0)||ce.create(),a.isNull()?b.create(0):a}_getOneFirstByRaw(o){return o.length===0?g.create(h.NA):o[0][0]||g.create(h.NA)}_getOneLastByRaw(o){return o.length===0?g.create(h.NA):o[o.length-1][o[0].length-1]||g.create(h.NA)}equalSearch(o,e,t,r=!0){const n=t.pickRaw(e.isEqual(o));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}fuzzySearch(o,e,t,r=!0){const n=t.pickRaw(e.compare(o,H.EQUALS));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}orderSearch(o,e,t,r=Le.MIN,n=!1){const s=e.orderSearch(o,r,n);if(s==null)return g.create(h.NA);const a=t.get(s.row,s.column)||ce.create();return a.isNull()?g.create(h.NA):a}binarySearchExpand(o,e,t,r=0,n,s){const a=e.binarySearch(o,n,s);return a==null?g.create(h.NA):r===0?t.slice([a,a+1]):t.slice(void 0,[a,a+1])}equalSearchExpand(o,e,t,r=!0,n=0){const s=e.isEqual(o);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}fuzzySearchExpand(o,e,t,r=!0,n=0){const s=e.compare(o,H.EQUALS);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}orderSearchExpand(o,e,t,r=Le.MIN,n=!1,s=0){const a=e.orderSearch(o,r,n);return a==null?g.create(h.NA):s===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}flattenArray(o,e=!0){const t=[];t[0]=[];for(let r=0;r<o.length;r++){let n=o[r];if((n.isString()||n.isBoolean()||n.isNull())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){let s;if(n.iterator(a=>{if(a==null||a.isNull()||e&&(a.isString()||a.isBoolean()))return!0;if(a=this._includingLogicalValuesAndText(a),a.isError())return s=a,!1;t[0].push(a)}),s!=null&&s.isError())return s}else t[0].push(n)}return at(t,1,t[0].length)}_includingLogicalValuesAndText(o){if(o.isBoolean()&&(o=Rm(o)),o.isString()){const e=Number(o.getValue());o=b.create(Number.isNaN(e)?0:e)}return o}createReferenceObject(o,e){const t=o.getForcedUnitId()||o.getDefaultUnitId()||"",r=o.getForcedSheetId()||o.getDefaultUnitId()||"",n=o.getForcedSheetName(),a=mn({unitId:t,sheetName:n,range:e});let u;return wr(a)?u=new oa(a):Vi(a)?u=new la(a):Oi(a)?u=new ua(a):u=new Br(e,r,t),this._setReferenceDefault(o,u)}_setReferenceDefault(o,e){if(this.unitId==null||this.subUnitId==null)return g.create(h.REF);e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId);const t=o.getUnitId();t!=null&&e.setForcedUnitIdDirect(t);const r=o.getForcedSheetId();return r!=null&&e.setForcedSheetIdDirect(r),e.setForcedSheetName(o.getForcedSheetName()),e.setUnitData(o.getUnitData()),e.setRuntimeData(o.getRuntimeData()),e.setArrayFormulaCellData(o.getArrayFormulaCellData()),e.setUnitStylesData(o.getUnitStylesData()),e}}class _h extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;const{isError:n,errorObject:s,variants:a}=Wr(t,r);if(n)return s;const{isError:u,errorObject:l,variants:c}=B(...a);if(u)return l;const[f,m]=c,d=Math.floor(+f.getValue()),_=Math.floor(+m.getValue());if(d<0||_<0)return g.create(h.NUM);if(d===0||_===0)return g.create(h.REF);const C=e.isArray()?e.getRowCount():1,E=e.isArray()?e.getColumnCount():1;if(C===1&&E===1)return e.isArray()?e.get(0,0):e;const R=d>C?C:d,y=_>E?E:_;return e.slice([0,R],[0,y])}}class Ah extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r],s=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1;for(let u=0;u<s;u++)for(let l=0;l<a;l++){const c=n.isArray()?n.get(u,l):n;t.push([c])}}return Z.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}var Qn=(i=>(i.ARRAY_CONSTRAIN="ARRAY_CONSTRAIN",i.FLATTEN="FLATTEN",i))(Qn||{});const ko=[[_h,Qn.ARRAY_CONSTRAIN],[Ah,Qn.FLATTEN]];var yr;(i=>{const o=.636619772;function e(n,s){let a=0;for(let u=0;u<n.length;++u)a=s*a+n[u];return a}function t(n,s,a,u,l){if(s===0)return a;if(s===1)return u;const c=2/n;let f=a,m=u,d=u;for(let _=1;_<s;++_)d=m*_*c+l*f,f=m,m=d;return d}function r(n,s,a,u){return function(c,f){if(a){if(c===0)return a===1?-1/0:1/0;if(c<0)return Number.NaN}if(f===0)return n(c);if(f===1)return s(c);if(f<0)return Number.NaN;const m=f|0,d=n(c),_=s(c);return t(c,m,d,_,u)}}i.besselj=(()=>{const n=[-184.9052456,77392.33017,-1121442418e-2,6516196407e-1,-13362590354,57568490574],s=[1,267.8532712,59272.64853,9494680718e-3,1029532985,57568490411],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],u=[-934935152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function l(C){let E=0,R=0,y=0,p=C*C;if(C<8)R=e(n,p),y=e(s,p),E=R/y;else{const N=C-.785398164;p=64/p,R=e(a,p),y=e(u,p),E=Math.sqrt(o/C)*(Math.cos(N)*R-Math.sin(N)*y*8/C)}return E}const c=[-30.16036606,15704.4826,-2972611439e-3,2423968531e-1,-7895059235,72362614232],f=[1,376.9991397,99447.43394,1858330474e-2,2300535178,144725228442],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,R=0,y=0,p=C*C;const N=Math.abs(C)-2.356194491;return Math.abs(C)<8?(R=C*e(c,p),y=e(f,p),E=R/y):(p=64/p,R=e(m,p),y=e(d,p),E=Math.sqrt(o/Math.abs(C))*(Math.cos(N)*R-Math.sin(N)*y*8/Math.abs(C)),C<0&&(E=-E)),E}return function C(E,R){const y=Math.round(R);if(!Number.isFinite(E))return Number.isNaN(E)?E:0;if(y<0)return(y%2?-1:1)*C(E,-y);if(E<0)return(y%2?-1:1)*C(-E,y);if(y===0)return l(E);if(y===1)return _(E);if(E===0)return 0;let p=0;if(E>y)p=t(E,y,l(E),_(E),-1);else{const N=2*Math.floor((y+Math.floor(Math.sqrt(40*y)))/2);let M=!1,D=0,L=0,P=1,j=0;const I=2/E;for(let v=N;v>0;v--)if(j=v*I*P-D,D=P,P=j,Math.abs(P)>1e10&&(P*=1e-10,D*=1e-10,p*=1e-10,L*=1e-10),M&&(L+=P),M=!M,v===y&&(p=D),N-v>100&&p===0)return Number.NaN;L=2*L-P,p/=L}return p}})(),i.bessely=(()=>{const n=[228.4622733,-86327.92757,1087988129e-2,-5123598036e-1,7062834065,-2957821389],s=[1,226.1030244,47447.2647,7189466438e-3,7452499648e-1,40076544269],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],u=[-934945152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function l(C){let E=0,R=0,y=0,p=C*C;const N=C-.785398164;return C<8?(R=e(n,p),y=e(s,p),E=R/y+o*(0,i.besselj)(C,0)*Math.log(C)):(p=64/p,R=e(a,p),y=e(u,p),E=Math.sqrt(o/C)*(Math.sin(N)*R+Math.cos(N)*y*8/C)),E}const c=[8511.937935,-4237922726e-3,7349264551e-1,-51534381390,127527439e4,-4900604943e3],f=[1,354.9632885,102042.605,2245904002e-2,3733650367,424441966400,249958057e5],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,R=0,y=0,p=C*C;const N=C-2.356194491;return C<8?(R=C*e(c,p),y=e(f,p),E=R/y+o*((0,i.besselj)(C,1)*Math.log(C)-1/C)):(p=64/p,R=e(m,p),y=e(d,p),E=Math.sqrt(o/C)*(Math.sin(N)*R+Math.cos(N)*y*8/C)),E}return r(l,_,1,-1)})(),i.besseli=(()=>{const n=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],s=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function a(f){return f<=3.75?e(n,f*f/(3.75*3.75)):Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(s,3.75/Math.abs(f))}const u=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],l=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function c(f){return f<3.75?f*e(u,f*f/(3.75*3.75)):(f<0?-1:1)*Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(l,3.75/Math.abs(f))}return function f(m,d){const _=Math.round(d);if(_===0)return a(m);if(_===1)return c(m);if(_<0)return Number.NaN;if(Math.abs(m)===0)return 0;if(m===1/0)return 1/0;let C=0,E;const R=2/Math.abs(m);let y=0,p=1,N=0;const M=2*Math.round((_+Math.round(Math.sqrt(40*_)))/2);for(E=M;E>0;E--)if(N=E*R*p+y,y=p,p=N,Math.abs(p)>1e10&&(p*=1e-10,y*=1e-10,C*=1e-10),E===_&&(C=y),M-E>100&&C===0)return Number.NaN;return C*=f(m,0)/p,m<0&&_%2?-C:C}})(),i.besselk=(()=>{const n=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],s=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function a(f){return f<=2?-Math.log(f/2)*(0,i.besseli)(f,0)+e(n,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(s,2/f)}const u=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],l=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function c(f){return f<=2?Math.log(f/2)*(0,i.besseli)(f,1)+1/f*e(u,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(l,2/f)}return r(a,c,2,1)})()})(yr||(yr={}));function Va(i){return/^[01]{1,10}$/.test(i)}function Oa(i){return/^[0-7]{1,10}$/.test(i)}function Sa(i){return/^[0-9A-Fa-f]{1,10}$/.test(i)}function Zt(i){if(i===0)return 0;const o=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,15626441722e-18,-85238095915e-18,6529054439e-18,5059343495e-18,-991364156e-18,-227365122e-18,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18];let e=i,t=!1;e<0&&(e=-e,t=!0);const r=2/(2+e),n=4*r-2;let s=0,a=0,u;for(let c=o.length-1;c>0;c--)u=s,s=n*s-a+o[c],a=u;const l=r*Math.exp(-e*e+.5*(o[0]+n*s)-a);return t?l-1:1-l}function Ma(i){return 1-Zt(i)}function Eh(i){if(i>=2)return-100;if(i<=0)return 100;const o=i<1?i:2-i,e=Math.sqrt(-2*Math.log(o/2));let t=-.70711*((2.30753+e*.27061)/(1+e*(.99229+e*.04481))-e);for(let r=0;r<2;r++){const n=Ma(t)-o;t+=n/(1.1283791670955126*Math.exp(-t*t)-t*n)}return i<1?t:-t}function br(i,o=1){let e=Math.floor(i);if(i<0)return Number.NaN;let t=1;for(;e>1&&Number.isFinite(t);)t*=e,e-=o;return t}function zt(i,o){const e=Math.min(i-o,o);let t=1;for(let r=1;r<=e&&Number.isFinite(t);r++)t*=i-r+1,t/=r;return t}function Da(i,o){let e=Math.floor(i),t=Math.floor(o);for(;t!==0;){const r=t;t=e%t,e=r}return e}function $o(i,o){const e=Da(i,o);return e===0?0:Math.abs(i*o)/e}function wa(i){const o=i.length;if(o===1)return i[0][0];if(o===2)return i[0][0]*i[1][1]-i[0][1]*i[1][0];const{rowSwap:e,smallPivotDetected:t,luMatrix:r,permutation:n}=Yo(i);if(t)return 0;let s=e?1:-1;for(let a=0;a<n.length;a++)s*=r[a][a];return s===0?0:s}function Rh(i){const o=wa(i);return o===0?null:i.length===1?[[1/o]]:bh(i).map(r=>r.map(n=>n/o))}function yh(i,o,e){return i.filter((t,r)=>r!==o).map(t=>t.filter((r,n)=>n!==e))}function bh(i){const o=i.length,e=Array.from({length:o},()=>new Array(o).fill(0));for(let t=0;t<o;t++)for(let r=0;r<o;r++){const s=((t+r)%2===0?1:-1)*wa(yh(i,t,r));e[r][t]=s===0?0:s}return e}function pr(i,o){return i.map(e=>o[0].map((t,r)=>e.reduce((n,s,a)=>n+s*o[a][r],0)))}function _t(i){return i[0].map((o,e)=>i.map(t=>t[e]))}function ph(i){const{smallPivotDetected:o,luMatrix:e,permutation:t}=Yo(i);return o?null:Nh(e,t)}function Yo(i){const o=_t(i),e=o.length,t=o[0].length;let r=!0,n=!1;const s=La(e,t,0),a=new Array(t).fill(0).map((u,l)=>l);for(let u=0;u<t;u++){for(let m=0;m<u;m++){let d=o[m][u];for(let _=0;_<m;_++)d-=s[m][_]*s[_][u];s[m][u]=d}let l=-1/0,c=u;for(let m=u;m<e;m++){let d=o[m][u];for(let C=0;C<u;C++)d-=s[m][C]*s[C][u];s[m][u]=d;const _=Math.abs(d);_>l&&(l=_,c=m)}if(Math.abs(s[c][u])<1e-11){n=!0;break}c!==u&&([s[u],s[c]]=[s[c],s[u]],[o[u],o[c]]=[o[c],o[u]],[a[u],a[c]]=[a[c],a[u]],r=!r);const f=s[u][u];for(let m=u+1;m<e;m++)s[m][u]/=f}return{rowSwap:r,smallPivotDetected:n,luMatrix:s,permutation:a}}function Nh(i,o){const e=o.length,t=La(e,e,0);for(let n=0;n<e;n++)t[n][n]=1;const r=La(e,e,0);for(let n=0;n<e;n++){const s=o[n];for(let a=0;a<e;a++)r[n][a]=t[s][a]}for(let n=0;n<e;n++){const s=r[n];for(let a=n+1;a<e;a++){const u=i[a][n];for(let l=0;l<e;l++)r[a][l]-=s[l]*u}}for(let n=e-1;n>=0;n--){const s=r[n],a=i[n][n];for(let u=0;u<e;u++)s[u]/=a;for(let u=0;u<n;u++){const l=i[u][n];for(let c=0;c<e;c++)r[u][c]-=s[c]*l}}return r}function La(i,o,e){const t=[];for(let r=0;r<i;r++){t[r]=[];for(let n=0;n<o;n++)t[r].push(e)}return t}function Vh(i){const o=Oh(i);if(!o)return null;const{matrixU:e,matrixS:t,matrixV:r}=o,n=_t(e),s=Array.from({length:t.length},()=>new Array(i[0].length).fill(0)),a=Math.max(i.length,i[0].length)*Number.EPSILON*t[0];for(let u=0;u<t.length;u++)Math.abs(t[u])>a&&(s[u][u]=1/t[u]);return pr(r,pr(s,n))}function Oh(i){const o=_t(i),e=o.length,t=o[0].length;if(e<t)return null;const r=new Array(t).fill(0),n=new Array(t).fill(0),s=Array.from({length:t},()=>new Array(t).fill(0));let a=Number.EPSILON,u=0,l=0,c=0;for(let C=0;C<t;C++){if(r[C]=u,l=Pa(o,C,e,C,C),l<=1e-64/a)u=0;else{u=Math.sqrt(l),o[C][C]>=0&&(u=-u);const R=o[C][C]*u-l;o[C][C]-=u;for(let y=C+1;y<t;y++){l=Pa(o,C,e,C,y);for(let p=C;p<e;p++)o[p][y]+=l/R*o[p][C]}}if(n[C]=u,l=Ho(o,C+1,t,C,C),l<=1e-64/a)u=0;else{u=Math.sqrt(l),o[C][C+1]>=0&&(u=-u);const R=o[C][C+1]*u-l;o[C][C+1]-=u;for(let y=C+1;y<t;y++)r[y]=o[C][y]/R;for(let y=C+1;y<e;y++){l=Ho(o,C+1,t,y,C);for(let p=C+1;p<t;p++)o[y][p]+=l*r[p]}}const E=Math.abs(n[C])+Math.abs(r[C]);E>c&&(c=E)}let f=0;for(let C=t-1;C>=0;C--){if(u!==0){for(let E=f;E<t;E++)s[E][C]=o[C][E]/(u*o[C][C+1]);for(let E=f;E<t;E++){l=0;for(let R=f;R<t;R++)l+=o[C][R]*s[R][E];for(let R=f;R<t;R++)s[R][E]+=l*s[R][C]}}for(let E=f;E<t;E++)s[C][E]=0,s[E][C]=0;s[C][C]=1,u=r[C],f=C}for(let C=t-1;C>=0;C--){u=n[C];for(let E=C+1;E<t;E++)o[C][E]=0;if(u!==0){for(let E=C+1;E<t;E++){l=Pa(o,C+1,e,C,E);for(let R=C;R<e;R++)o[R][E]+=l/(o[C][C]*u)*o[R][C]}for(let E=C;E<e;E++)o[E][C]/=u}else for(let E=C;E<e;E++)o[E][C]=0;o[C][C]+=1}a*=c;let m=0,d=0,_=0;for(let C=t-1;C>=0;C--)for(let E=0;E<50;E++){let R=!1,y=C;for(;y>=0;y--){if(Math.abs(r[y])<=a){R=!0;break}if(Math.abs(n[y-1])<=a)break}if(!R){let D=0,L=1;for(let P=y;P<C+1&&(m=L*r[P],d=n[P],r[P]*=D,!(Math.abs(m)<=a));P++){_=qn(m,d),n[P]=_,D=d/_,L=-m/_;for(let j=0;j<e;j++){const I=o[j][y-1],v=o[j][P];o[j][y-1]=I*D+v*L,o[j][P]=-I*L+v*D}}}if(y===C){if(n[C]<0){n[C]=-n[C];for(let D=0;D<t;D++)s[D][C]=-s[D][C]}break}if(E>=49)return null;let p=n[y];m=((n[C-1]-n[C])*(n[C-1]+n[C])+(r[C-1]-r[C])*(r[C-1]+r[C]))/(2*r[C]*n[C-1]),_=qn(m,1),m<0?m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m-_)-r[C]))/p:m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m+_)-r[C]))/p;let N=1,M=1;for(let D=y+1;D<C+1;D++){let L=r[D],P=n[D];d=M*L,L*=N,_=qn(m,d),r[D-1]=_,N=m/_,M=d/_,m=p*N+L*M,d=P*M,L=-p*M+L*N,P*=N;for(let j=0;j<t;j++){const I=s[j][D-1],v=s[j][D];s[j][D-1]=I*N+v*M,s[j][D]=-I*M+v*N}_=qn(m,d),n[D-1]=_,N=m/_,M=d/_,m=N*L+M*P,p=-M*L+N*P;for(let j=0;j<e;j++){const I=o[j][D-1],v=o[j][D];o[j][D-1]=I*N+v*M,o[j][D]=-I*M+v*N}}r[y]=0,r[C]=m,n[C]=p}for(let C=0;C<n.length;C++)n[C]<a&&(n[C]=0);for(let C=0;C<t;C++)for(let E=C-1;E>=0;E--)if(n[E]<n[C]){const R=n[E];n[E]=n[C],n[C]=R;for(let y=0;y<o.length;y++){const p=o[y][C];o[y][C]=o[y][E],o[y][E]=p}for(let y=0;y<s.length;y++){const p=s[y][C];s[y][C]=s[y][E],s[y][E]=p}C=E}return{matrixU:o,matrixS:n,matrixV:s}}function qn(i,o){let e=0;return Math.abs(i)>Math.abs(o)?(e=o/i,Math.abs(i)*Math.sqrt(1+e*e)):o!==0?(e=i/o,Math.abs(o)*Math.sqrt(1+e*e)):0}function Pa(i,o,e,t,r){let n=0;for(let s=o;s<e;s++)n+=i[s][t]*i[s][r];return n}function Ho(i,o,e,t,r){let n=0;for(let s=o;s<e;s++)n+=i[t][s]*i[r][s];return n}const Xn=new Map([["I",1],["V",5],["X",10],["L",50],["C",100],["D",500],["M",1e3]]),Sh=new Map([[1,"I"],[4,"IV"],[5,"V"],[9,"IX"],[10,"X"],[40,"XL"],[45,"VL"],[49,"IL"],[50,"L"],[90,"XC"],[95,"VC"],[99,"IC"],[100,"C"],[400,"CD"],[450,"LD"],[490,"XD"],[495,"VD"],[499,"ID"],[500,"D"],[900,"CM"],[950,"LM"],[990,"XM"],[995,"VM"],[999,"IM"],[1e3,"M"]]),Mh=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function Go(i,o,e){return i<=0?0:i>=1?1:Kn(i,o,e)}function Dh(i,o,e){return i<=0||i>=1?0:o===1&&e===1?1:o<512&&e<512?i**(o-1)*(1-i)**(e-1)/Ta(o,e):Math.exp((o-1)*Math.log(i)+(e-1)*Math.log(1-i)-Ua(o,e))}function ja(i,o,e){if(i<=0)return 0;if(i>=1)return 1;const t=1e-8;let r;if(o>=1&&e>=1){const l=i<.5?i:1-i,c=Math.sqrt(-2*Math.log(l));r=(2.30753+c*.27061)/(1+c*(.99229+c*.04481))-c,i<.5&&(r=-r);const f=(r*r-3)/6,m=2/(1/(2*o-1)+1/(2*e-1)),d=r*Math.sqrt(f+m)/m-(1/(2*e-1)-1/(2*o-1))*(f+5/6-2/(3*m));r=o/(o+e*Math.exp(2*d))}else{const l=Math.exp(o*Math.log(o/(o+e)))/o,c=Math.exp(e*Math.log(e/(o+e)))/e,f=l+c;i<l/f?r=(o*f*i)**(1/o):r=1-(e*f*(1-i))**(1/e)}const n=-Ua(o,e);let s,a,u;for(let l=0;l<10;l++){if(r===0||r===1)return r;if(s=Kn(r,o,e)-i,a=Math.exp((o-1)*Math.log(r)+(e-1)*Math.log(1-r)+n),u=s/a,r-=a=u/(1-.5*Math.min(1,u*((o-1)/r-(e-1)/(1-r)))),r<=0&&(r=.5*(r+a)),r>=1&&(r=.5*(r+a+1)),Math.abs(a)<t*r&&l>0)break}return r}function Kn(i,o,e){const t=i===0||i===1?0:Math.exp(ut(o+e)-ut(o)-ut(e)+o*Math.log(i)+e*Math.log(1-i));return i<(o+1)/(o+e+2)?t*Wo(i,o,e)/o:1-t*Wo(1-i,e,o)/e}function Wo(i,o,e){let n=1-(o+e)*i/(o+1);Math.abs(n)<1e-8&&(n=1e-8),n=1/n;let s=1,a=n;for(let u=1;u<=100;u++){let l=u*(e-u)*i/((o-1+u*2)*(o+u*2));if(n=1+l*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+l/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,l=-(o+u)*(o+e+u)*i/((o+u*2)*(o+1+u*2)),n=1+l*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+l/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,Math.abs(n*s-1)<1e-8)break}return a}function Ta(i,o){return i+o>170?Math.exp(Ua(i,o)):Zn(i)*Zn(o)/Zn(i+o)}function Ua(i,o){return ut(i)+ut(o)-ut(i+o)}function Qo(i,o,e){if(i<0)return 0;if(i>=o)return 1;if(e<0||e>1||o<=0)return Number.NaN;let t=0;for(let r=0;r<=i;r++)t+=xa(r,o,e);return t}function xa(i,o,e){return e===0||e===1?o*e===i?1:0:zt(o,i)*e**i*(1-e)**(o-i)}function va(i,o){return i<=0?0:Fa(o/2,i/2)}function wh(i,o){return i<0?0:i===0&&o===2?.5:Math.exp((o/2-1)*Math.log(i)-i/2-o/2*Math.log(2)-ut(o/2))}function qo(i,o){return i<=0?0:i>=1?1/0:2*Zo(i,o/2)}function Ia(i,o,e){return i<0?0:Kn(o*i/(o*i+e),o/2,e/2)}function Lh(i,o,e){if(i<0)return 0;if(i===0&&o<2)return 1/0;if(i===0&&o===2)return 1;let t=1/Ta(o/2,e/2);return t*=(o/e)**(o/2),t*=i**(o/2-1),t*=(1+o/e*i)**(-(o+e)/2),t}function Xo(i,o,e){return i<=0?0:i>=1?1/0:e/(o*(1/ja(i,o/2,e/2)-1))}function Ph(i,o){return i<0?0:1-Math.exp(-o*i)}function jh(i,o){return i<0?0:o*Math.exp(-o*i)}function Ko(i,o,e){const t=o.length;let r=0,n=0;for(let m=0;m<t;m++)r+=o[m],n+=e[m];const s=r/t,a=n/t;let u=0,l=0;for(let m=0;m<t;m++)u+=(o[m]-s)*(e[m]-a),l+=(e[m]-a)**2;if(l===0)return 1/0;const c=u/l;return s-c*a+c*i}function Zn(i){const o=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],e=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535];let t=0,r=i;if(i>171.6243769536076)return 1/0;if(r<=0){const f=r%1+36e-17;if(f)t=(r&1?-1:1)*Math.PI/Math.sin(Math.PI*f),r=1-r;else return 1/0}const n=r;let s=0,a;r<1?a=r++:a=(r-=s=(r|0)-1)-1;let u=0,l=0;for(let f=0;f<8;++f)u=(u+o[f])*a,l=l*a+e[f];let c=u/l+1;if(n<r)c/=n;else if(n>r)for(let f=0;f<s;++f)c*=r,r++;return t&&(c=t/c),c}function Th(i,o,e){return i<=0?0:Fa(o,i/e)}function Uh(i,o,e){return i<0?0:i===0&&o===1?1/e:Math.exp((o-1)*Math.log(i)-i/e-ut(o)-o*Math.log(e))}function xh(i,o,e){return i<=0?0:i>=1?1/0:e*Zo(i,o)}function ut(i){const o=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];let e=i,t=i+5.5;t-=(i+.5)*Math.log(t);let r=1.000000000190015;for(let n=0;n<6;n++)r+=o[n]/++e;return-t+Math.log(2.5066282746310007*r/i)}function Fa(i,o){if(o<0||i<=0)return Number.NaN;const e=1e-30,t=-~(Math.log(i>=1?i:1/i)*8.5+i*.4+17),r=ut(i),n=Math.exp(-o+i*Math.log(o)-r);let s=i,a=1/i,u=a;if(o<i+1){if(n===0)return 0;for(let d=1;d<=t&&(a+=u*=o/++s,!(Math.abs(u)<Math.abs(a)*e));d++);return a*n}if(n===0)return 1;let l=o+1-i,c=1/e,f=1/l,m=f;for(let d=1;d<=t;d++){const _=-d*(d-i);if(l+=2,f=_*f+l,Math.abs(f)<e&&(f=e),c=l+_/c,Math.abs(c)<e&&(c=e),f=1/f,m*=f*c,Math.abs(f*c-1)<e)break}return 1-m*n}function Zo(i,o){if(i<=0)return 0;if(i>=1)return Math.max(100,o+100*Math.sqrt(o));let e;if(o>1){const a=i<.5?i:1-i,u=Math.sqrt(-2*Math.log(a));e=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,i<.5&&(e=-e),e=Math.max(.001,o*(1-1/(9*o)-e/(3*Math.sqrt(o)))**3)}else{const a=1-o*(.253+o*.12);i<a?e=(i/a)**(1/o):e=1-Math.log(1-(i-a)/(1-a))}const t=1e-8,r=ut(o);let n,s;for(let a=0;a<12;a++){if(e<=0)return 0;if(n=Fa(o,e)-i,o>1?s=Math.exp((o-1)*(Math.log(o-1)-1)-r)*Math.exp(-(e-(o-1))+(o-1)*(Math.log(e)-Math.log(o-1))):s=Math.exp(-e+(o-1)*Math.log(e)-r),s!==0&&(s=n/s/(1-.5*Math.min(1,n/s*((o-1)/e-1)))),e-=s,e<=0&&(e=.5*(e+s)),Math.abs(s)<t*e)break}return e}function vh(i,o,e,t){let r=0;for(let n=0;n<=i;n++)r+=Ba(n,o,e,t);return r}function Ba(i,o,e,t){return o-i>t-e?0:zt(e,i)*zt(t-e,o-i)/zt(t,o)}function zo(i,o,e){return i<0?0:.5+.5*Zt((Math.log(i)-o)/Math.sqrt(2*e*e))}function Ih(i,o,e){return i<=0?0:Math.exp(-Math.log(i)-.5*Math.log(2*Math.PI)-Math.log(e)-(Math.log(i)-o)**2/(2*e*e))}function Fh(i,o,e){return Math.exp(zn(i,o,e))}function Bh(i,o,e){if(i<0)return 0;let t=0;for(let r=0;r<=i;r++)t+=ka(r,o,e);return t}function ka(i,o,e){return i<0?0:zt(i+o-1,o-1)*e**o*(1-e)**i}function Qr(i,o,e){return .5*(1+Zt((i-o)/Math.sqrt(2*e*e)))}function Jo(i,o,e){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(e)-(i-o)**2/(2*e*e))}function zn(i,o,e){return-1.4142135623730951*e*Eh(2*i)+o}function kh(i,o){let e=0;for(let t=0;t<=i;t++)e+=eu(t,o);return e}function eu(i,o){return Math.exp(-o)*o**i/br(i)}function qr(i,o){const e=.5*Kn(o/(i**2+o),o/2,.5);return i<0?e:1-e}function $h(i,o){const e=(1+i**2/o)**(-(o+1)/2);return 1/(Math.sqrt(o)*Ta(.5,o/2))*e}function Jn(i,o){let e=ja(2*Math.min(i,1-i),.5*o,.5);return e=Math.sqrt(o*(1-e)/e),i>.5?e:-e}function Ze(i,o,e,t,r){const n=[],s=[];let a=!0;for(let u=0;u<e;u++){const l=Math.floor(u/t),c=u%t,f=Math.floor(u/r),m=u%r,d=i.isArray()?i.get(l,c):i,_=o.isArray()?o.get(f,m):o;if(d.isError())return{isError:!0,errorObject:d,array1Values:n,array2Values:s,noCalculate:a};if(_.isError())return{isError:!0,errorObject:_,array1Values:n,array2Values:s,noCalculate:a};if(d.isNull()||_.isNull()||d.isBoolean()||_.isBoolean())continue;const C=d.getValue(),E=_.getValue();!S.isRealNum(C)||!S.isRealNum(E)||(n.push(+C),s.push(+E),a=!1)}return{isError:!1,errorObject:null,array1Values:n,array2Values:s,noCalculate:a}}function es(i,o,e){const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;let n=t,s=r;if(o&&!o.isNull()&&(n=o.isArray()?o.getRowCount():1,s=o.isArray()?o.getColumnCount():1,t===1&&s!==r||r===1&&n!==t||t!==1&&r!==1&&(n!==t||s!==r)))return{isError:!0,errorObject:g.create(h.REF)};if(e&&!e.isNull()){const a=e.isArray()?e.getRowCount():1,u=e.isArray()?e.getColumnCount():1;if(t===1&&n>1&&a!==n||r===1&&s>1&&u!==s)return{isError:!0,errorObject:g.create(h.REF)}}return{isError:!1,errorObject:null}}function At(i){const o=i.isArray()?i.getRowCount():1,e=i.isArray()?i.getColumnCount():1,t=[];for(let r=0;r<o;r++){t[r]=[];for(let n=0;n<e;n++){const s=i.isArray()?i.get(r,n):i;if(s.isError()||s.isNull()||s.isBoolean()||s.isString())return g.create(h.VALUE);t[r].push(+s.getValue())}}return t}function ts(i,o){const e=[];let t=1;for(let r=0;r<i;r++){e[r]=[];for(let n=0;n<o;n++)e[r].push(t++)}return e}function rs(i,o,e,t){let r=o;t&&(r=o.map(a=>Math.log(a)));let n,s;return e?{slope:n,intercept:s}=Yh(i,r):{slope:n,intercept:s}=Hh(i,r),t&&(n=Math.exp(n),s=Math.exp(s)),Number.isNaN(n)&&!e&&(n=0),{slope:n,intercept:s,Y:r}}function Yh(i,o){const e=o.length;let t=0,r=0,n=0,s=0;for(let c=0;c<e;c++)t+=i[c],r+=o[c],n+=i[c]*i[c],s+=i[c]*o[c];const u=(e*s-t*r)/(e*n-t*t),l=1/e*r-u*(1/e)*t;return{slope:u,intercept:l}}function Hh(i,o){const e=[[...i]],t=[...o];let r=e.length,n=e[0].length,s=Math.min(r,n);const a=new Array(s).fill(0);for(let l=0;l<s;l++){const c=e[l];let f=0;for(let d=0;d<n;d++)f+=c[d]**2;const m=c[l]<0?Math.sqrt(f):-Math.sqrt(f);if(a[l]=m,m!==0){c[l]-=m;for(let d=l+1;d<r;d++){let _=0;for(let C=l;C<n;C++)_-=e[d][C]*c[C];_/=m*c[l];for(let C=l;C<n;C++)e[d][C]-=_*c[C]}}}r=e.length,n=e[0].length,s=Math.min(r,n);const u=new Array(r).fill(0);for(let l=0;l<s;l++){const c=e[l];let f=0;for(let m=0;m<n;m++)f+=t[m]*c[m];f/=a[l]*c[l];for(let m=0;m<n;m++)t[m]+=f*c[m]}for(let l=a.length-1;l>=0;l--){t[l]/=a[l];const c=t[l],f=e[l];u[l]=c;for(let m=0;m<l;m++)t[m]-=c*f[m]}return{slope:u[0],intercept:0}}function ns(i,o,e,t,r){const n=i.length===1&&i[0].length>1;let s=i;r&&(s=i.map(C=>C.map(E=>Math.log(E))));let a=o,u=e;n&&(s=_t(s),a=_t(a),u=_t(u)),t&&(a=a.map(C=>[...C,1]));const l=_t(a),c=pr(l,a),f=pr(l,s);let m=ph(c);if(!m&&(m=Vh(c),!m))return g.create(h.NA);let d=pr(m,f);t||d.push([0]),d=_t(d);const _=d[0].pop();if(d[0].reverse(),d[0].push(_),r)for(let C=0;C<d[0].length;C++)d[0][C]=Math.exp(d[0][C]);return{coefficients:d,Y:s,X:a,newX:u,XTXInverse:m}}function tu(i){const o=[],e=[];let t=!1;for(let r=0;r<i.length;r++){const n=i[r];if(n.isReferenceObject())n.isMultiArea()?o.push(n):e.push(n);else{t=!0;break}}return{isError:t,multiAreaRefs:o,normalRefs:e}}var Se=(i=>(i.AVERAGE="AVERAGE",i.COUNT="COUNT",i.COUNTA="COUNTA",i.MAX="MAX",i.MIN="MIN",i.PRODUCT="PRODUCT",i.STDEV="STDEV",i.STDEV_S="STDEV.S",i.STDEVP="STDEVP",i.STDEV_P="STDEV.P",i.SUM="SUM",i.VAR="VAR",i.VAR_S="VAR.S",i.VARP="VARP",i.VAR_P="VAR.P",i.MEDIAN="MEDIAN",i.MODE_SNGL="MODE.SNGL",i))(Se||{});function ru(i,o){const e=i[o];return e?e.hd===S.BooleanNumber.TRUE:!1}function nu(i,o,e,t,r,n){const s=i.getValue(o,e);if(s!=null&&s.f||s!=null&&s.si){const a=n.getFormulaStringByCell(o,e,t,r);if(a&&(a.indexOf(`${$.SUBTOTAL}(`)>-1||a.indexOf(`${$.AGGREGATE}(`)>-1))return!0}return!1}function su(i,o){const e=Object.entries(i).filter(([t,{count:r}])=>r===o).sort((t,r)=>t[1].order-r[1].order).map(([t])=>+t);return b.create(e[0])}function au(i,o){var y,p;const{type:e,ignoreRowHidden:t,ignoreErrorValues:r,ignoreNested:n,formulaDataModel:s}=i,a=[];let u=0,l=0,c=0,f=0,m=0,d=0,_=1;const C={};let E=1,R=0;for(let N=0;N<o.length;N++){const M=o[N],D=M.getFilteredOutRows(),L=M.getRowData(),P=M.getUnitId(),j=M.getSheetId(),v=(p=(y=M.getUnitData()[P])==null?void 0:y[j])==null?void 0:p.cellData;let Y;if(M.iterator((Q,se,te)=>{if(D.includes(se)||t&&ru(L,se)||n&&nu(v,se,te,j,P,s))return!0;if(e==="COUNT")return Q!=null&&Q.isNumber()&&u++,!0;if(e==="COUNTA")return Q!=null&&!Q.isNull()&&l++,!0;if(Q!=null&&Q.isError())return r?!0:(Y=Q,!1);if(!Q||Q.isNull()||Q.isBoolean()||Q.isString())return!0;let W=Q.getValue();if(!S.isRealNum(W))return!0;if(W=+W,f++,e==="MAX")return m=f===1?W:Math.max(m,W),!0;if(e==="MIN")return d=f===1?W:Math.min(d,W),!0;if(e==="MODE.SNGL")return C[W]?(C[W].count++,C[W].count>E&&(E=C[W].count)):C[W]={count:1,order:R++},!0;c+=W,_*=W,a.push(Q)}),Y!=null&&Y.isError())return Y}switch(e){case"AVERAGE":return f===0?g.create(h.DIV_BY_ZERO):b.create(c/f);case"COUNT":return b.create(u);case"COUNTA":return b.create(l);case"MAX":return b.create(m);case"MIN":return b.create(d);case"PRODUCT":return b.create(f===0?0:_);case"STDEV":case"STDEV.S":return f<2?g.create(h.DIV_BY_ZERO):at([a],1,f).std(1);case"STDEVP":case"STDEV.P":return f===0?g.create(h.DIV_BY_ZERO):at([a],1,f).std();case"SUM":return b.create(c);case"VAR":case"VAR.S":return f<2?g.create(h.DIV_BY_ZERO):at([a],1,f).var(1);case"VARP":case"VAR.P":return f===0?g.create(h.DIV_BY_ZERO):at([a],1,f).var();case"MEDIAN":return f===0?g.create(h.NUM):iu(a.map(N=>+N.getValue()));case"MODE.SNGL":return R===0||E===1?g.create(h.NA):su(C,E);default:return g.create(h.VALUE)}}function Jt(i,o,e){var a,u;const{ignoreRowHidden:t=!1,ignoreErrorValues:r=!1,ignoreNested:n=!1}=o!=null?o:{},s=[];if(i.isReferenceObject()){const l=i.getFilteredOutRows(),c=i.getRowData(),f=i.getUnitId(),m=i.getSheetId(),_=(u=(a=i.getUnitData()[f])==null?void 0:a[m])==null?void 0:u.cellData;let C;if(i.iterator((E,R,y)=>{if(l.includes(R)||t&&ru(c,R))return!0;if(E!=null&&E.isError())return r?!0:(C=E,!1);if(n&&e&&nu(_,R,y,m,f,e)||!E||E.isNull()||E.isBoolean()||E.isString())return!0;const p=E.getValue();if(!S.isRealNum(p))return!0;s.push(+p)}),C)return C}else{const l=i.isArray()?i.getRowCount():1,c=i.isArray()?i.getColumnCount():1;for(let f=0;f<l;f++)for(let m=0;m<c;m++){const d=i.isArray()?i.get(f,m):i;if(d.isError()){if(r)continue;return d}if(!d||d.isNull()||d.isBoolean()||d.isString())continue;const _=d.getValue();S.isRealNum(_)&&s.push(+_)}}return s.length===0?g.create(h.NUM):s}function iu(i){const o=i.length;i.sort((t,r)=>t-r);let e;if(o%2===0){const t=o/2;e=(i[t-1]+i[t])/2}else e=i[Math.floor(o/2)];return b.create(e)}function ou(i,o){if(o<1||o>i.length)return g.create(h.NUM);i.sort((t,r)=>r-t);const e=Math.ceil(o);return b.create(i[e-1])}function uu(i,o){if(o<1||o>i.length)return g.create(h.NUM);i.sort((t,r)=>t-r);const e=Math.floor(o);return b.create(i[e-1])}function lu(i,o){const e=i.length;if(o<0||o>1)return g.create(h.NUM);i.sort((a,u)=>a-u);const t=o*(e-1),r=Math.floor(t),n=t-r;if(n===0)return b.create(i[r]);const s=i[r]+n*(i[r+1]-i[r]);return b.create(s)}function cu(i,o){const e=i.length;if(o<1/(e+1)||o>1-1/(e+1))return g.create(h.NUM);i.sort((a,u)=>a-u);const t=o*(e+1)-1,r=Math.floor(t),n=t-r;if(n===0)return b.create(i[r]);const s=i[r]+n*(i[r+1]-i[r]);return b.create(s)}function fu(i,o){const e=i.length;if(o<0||o>4)return g.create(h.NUM);i.sort((u,l)=>u-l);const r=o/4*(e-1),n=Math.floor(r),s=r-n;if(s===0)return b.create(i[n]);const a=i[n]+s*(i[n+1]-i[n]);return b.create(a)}function mu(i,o){const e=i.length;if(o<=0||o>=4)return g.create(h.NUM);i.sort((u,l)=>u-l);const t=o/4;if(t<1/(e+1)||t>1-1/(e+1))return g.create(h.NUM);const r=t*(e+1)-1,n=Math.floor(r),s=r-n;if(s===0)return b.create(i[n]);const a=i[n]+s*(i[n+1]-i[n]);return b.create(a)}class hu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:b.create(0),u=s!=null?s:b.create(1);a.isNull()&&(a=b.create(0)),u.isNull()&&(u=b.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.mapValue((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p);return this._handleSingleObject(R,N,M,D,L)});return l===1&&c===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:u,variants:l}=B(e,t,r,n,s);if(a)return u;const[c,f,m,d,_]=l,C=+c.getValue(),E=+f.getValue(),R=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||R<=0||C<=0||C>=1||y>=p)return g.create(h.NUM);const N=ja(C,E,R)*(p-y)+y;return b.create(N)}}class gu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=Math.floor(+c.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||d>_||C<0||C>1)return g.create(h.NUM);let R;return E?R=Qo(d,_,C):R=xa(d,_,C),b.create(R)}}class du extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=Math.floor(+u.getValue()),m=+l.getValue(),d=+c.getValue();if(f<0||m<=0||m>=1||d<=0||d>=1)return g.create(h.NUM);let _=0;for(;_<=f&&!(Qo(_,f,m)>=d);)_++;return b.create(_)}}class Cu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||c<1||c>10**10)return g.create(h.NUM);const f=1-va(l,c);return b.create(f)}}class _u extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=qo(1-l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Au extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.NA);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d,r,n)}_getResult(e,t,r,n){let s=0;for(let l=0;l<e.length;l++){if(t[l]===0)return g.create(h.DIV_BY_ZERO);s+=(e[l]-t[l])**2/t[l]}let a=(r-1)*(n-1);r===1?a=n-1:n===1&&(a=r-1);const u=1-va(s,a);return b.create(u)}}class Eu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=Math.floor(+M.getValue());if(D<=0||D>=1||L<=0||P<1)return g.create(h.NUM);const j=Math.abs(zn(D/2,0,1)*L/Math.sqrt(P));return b.create(j)});return n===1&&s===1?c.get(0,0):c}}class Ru extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let c=0;c<r;c++)n+=e[c],s+=t[c];const a=n/r,u=s/r;let l=0;for(let c=0;c<r;c++){const f=e[c]-a,m=t[c]-u;l+=f*m}return b.create(l/r)}}class yu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<0||m<=0)return g.create(h.NUM);let _;return d?_=Ph(f,m):_=jh(f,m),b.create(_)}}class bu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=1-Ia(f,m,d);return b.create(_)}}class pu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=Xo(1-f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class Nu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variance:s,ns1:a}=this._getValues(e);if(r)return n;const{isError:u,errorObject:l,variance:c,ns1:f}=this._getValues(t);if(u)return l;let m=2*(1-Ia(s/c,a,f));return m>1&&(m=2-m),b.create(m)}_getValues(e){let t=0,r=0;const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;if(n===1&&s===1){const f=e.isArray()?e.get(0,0):e;return f.isError()?{isError:!0,errorObject:f,variance:t,ns1:r}:f.isNull()?{isError:!0,errorObject:g.create(h.VALUE),variance:t,ns1:r}:{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}}const a=[];let u=0;for(let f=0;f<n;f++)for(let m=0;m<s;m++){const d=e.isArray()?e.get(f,m):e;if(d.isError())return{isError:!0,errorObject:d,variance:t,ns1:r};if(d.isNull()||d.isBoolean())continue;const _=d.getValue();S.isRealNum(_)&&(a.push(+_),u+=+_)}if(a.length<=1)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r};const l=u/a.length;let c=0;for(let f=0;f<a.length;f++)c+=(a[f]-l)**2;return r=a.length-1,t=c/r,t===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}:{isError:!1,errorObject:null,variance:t,ns1:r}}}class Vu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);let R;return E?R=Th(d,_,C):R=Uh(d,_,C),b.create(R)}}class Ou extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<0||f>1||m<=0||d<=0)return g.create(h.NUM);const _=xh(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class Su extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=Fh(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class Mu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const c=a.convertToNumberObjectValue();if(c.isError())return c}const u=a.isArray()?a.getRowCount():1,l=a.isArray()?a.getColumnCount():1;for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=a.isArray()?a.get(c,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();S.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):su(t,n)}}class Du extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(C<=0)return g.create(h.NUM);let R;return E?R=Qr(d,_,C):R=Jo(d,_,C),b.create(R)}}class wu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=zn(f,m,d);return b.create(_)}}class Lu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0||a>=1)return g.create(h.NUM);const u=zn(a,0,1);return b.create(u)}}class Pu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Jt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return lu(e,u)}}class ju extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:b.create(3);s.isNull()&&(s=b.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,t,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&u===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=Math.floor(+l.getValue()),m=e.length;if(m===0||c<e[0]||c>e[m-1])return g.create(h.NA);if(m===1)return c===e[0]?b.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)c===e[C]?(d=C/(m-1),_=!0):c>e[C]&&C+1<m&&c<e[C+1]&&(d=(C+(c-e[C])/(e[C+1]-e[C]))/(m-1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=Qe(d,f),b.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean())continue;const l=u.getValue();S.isRealNum(l)&&n.push(+l)}return n.sort((s,a)=>s-a)}}class Tu extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=Math.floor(+u.getValue()),m=+l.getValue(),d=+c.getValue();if(f<0||m<0)return g.create(h.NUM);let _;return d?_=kh(f,m):_=eu(f,m),b.create(_)}}class Uu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Jt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=Math.floor(+a.getValue());return fu(e,u)}}class xu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class vu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Iu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<=0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Math.abs(Jn(l/2,c));return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Fu extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,array1Values:u,array2Values:l}=this._handleArray1AndArray2(e,t),c=this._getArrayValues(e),f=this._getArrayValues(t),m=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),d=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),_=O(m,d,r,g.create(h.NA)),C=O(m,d,n,g.create(h.NA)),E=_.mapValue((R,y,p)=>{const N=C.get(y,p);if(e.isError())return e;if(t.isError())return t;if(R.isError())return R;if(N.isError())return N;const{isError:M,errorObject:D,variants:L}=B(R,N);if(M)return D;const[P,j]=L,I=Math.floor(+P.getValue()),v=Math.floor(+j.getValue());return![1,2].includes(I)||![1,2,3].includes(v)?g.create(h.NUM):v===1&&s?a:v!==1&&c instanceof g?c:v!==1&&f instanceof g?f:this._handleSingleObject(v===1?u:c,v===1?l:f,I,v)});return m===1&&d===1?E.get(0,0):E}_handleSingleObject(e,t,r,n){if(e.length<2||t.length<2)return g.create(h.DIV_BY_ZERO);const{isError:s,errorObject:a,x:u,degFreedom:l}=this._getTDistParamByArrayValues(e,t,n);if(s)return a;let c=qr(-u,l);return r===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?g.create(h.NUM):b.create(c)}_getArrayValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()){if(t*r===1)return g.create(h.VALUE);continue}u.isBoolean()||u.isString()||n.push(+u.getValue())}return n}_handleArray1AndArray2(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return{isError:!0,errorObject:u,array1Values:[],array2Values:[]};let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return{isError:!0,errorObject:l,array1Values:[],array2Values:[]};if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),array1Values:[],array2Values:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),array1Values:[],array2Values:[]};const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?{isError:!0,errorObject:f,array1Values:[],array2Values:[]}:_||m.length<2?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:m,array2Values:d}}_getTDistParamByArrayValues(e,t,r){return r===1?this._getTDistParamByType1(e,t):r===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){const r=e.length;let n=0,s=0,a=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m],a+=(e[m]-t[m])**2;const u=n-s,l=r*a-u**2,c=r-1;return l===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:c}:{isError:!1,errorObject:null,x:Math.abs(u)*Math.sqrt(c/l),degFreedom:c}}_getTDistParamByType2(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let E=0;E<r;E++)s+=e[E],a+=e[E]**2;let u=0,l=0;for(let E=0;E<n;E++)u+=t[E],l+=t[E]**2;const c=a-s**2/r,f=l-u**2/n,m=Math.sqrt(c+f);if(m===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const d=r-1+n-1,_=Math.sqrt(r*n*d/(r+n));return{isError:!1,errorObject:null,x:Math.abs(s/r-u/n)/m*_,degFreedom:d}}_getTDistParamByType3(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let C=0;C<r;C++)s+=e[C],a+=e[C]**2;let u=0,l=0;for(let C=0;C<n;C++)u+=t[C],l+=t[C]**2;const c=(a-s**2/r)/(r*(r-1)),f=(l-u**2/n)/(n*(n-1));if(c+f===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const m=c/(c+f),d=Math.abs(s/r-u/n)/Math.sqrt(c+f),_=1/(m**2/(r-1)+(1-m)**2/(n-1));return{isError:!1,errorObject:null,x:d,degFreedom:_}}}class Bu extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class ku extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}class $u extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);const R=Math.exp(-((d/C)**_));let y;return E?y=1-R:y=_/C**_*d**(_-1)*R,Number.isNaN(y)||!Number.isFinite(y)?g.create(h.NUM):b.create(y)}}class Yu extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getArrayValues(e),s=Math.max(t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),u=O(s,a,t,g.create(h.NA)),l=r?O(s,a,r,g.create(h.NA)):void 0,c=u.mapValue((f,m,d)=>{if(n instanceof g)return n;if(f.isError())return f;const _=r?l.get(m,d):void 0;return _!=null&&_.isError()?_:n.length===0?g.create(h.NA):n.length===1?g.create(h.DIV_BY_ZERO):this._handleSingleObject(n,f,_)});return s===1&&a===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=+u.getValue(),c=e.length;let f=0,m=0;for(let E=0;E<c;E++)f+=e[E],m+=e[E]**2;let d=0;if(r!==void 0){const{isError:E,errorObject:R,variants:y}=B(r);if(E)return R;const[p]=y;d=+p.getValue()}else{const E=f/c;d=Math.sqrt((m-2*E*f+c*E**2)/(c-1))}if(d<=0)return g.create(h.NUM);const _=(f/c-l)/(d/Math.sqrt(c)),C=1-Qr(_,0,1);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):b.create(C)}_getArrayValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean()||u.isString())continue;const l=u.getValue();S.isRealNum(l)&&t.push(+l)}return t}}class Gh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:b.create(0),u=s!=null?s:b.create(1);a.isNull()&&(a=b.create(0)),u.isNull()&&(u=b.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.mapValue((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p);return this._handleSingleObject(R,N,M,D,L)});return l===1&&c===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:u,variants:l}=B(e,t,r,n,s);if(a)return u;const[c,f,m,d,_]=l,C=+c.getValue(),E=+f.getValue(),R=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||R<=0||C<y||C>p||y===p)return g.create(h.NUM);const N=Go((C-y)/(p-y),E,R);return b.create(N)}}var he=(i=>(i.BETADIST="BETADIST",i.BETAINV="BETAINV",i.BINOMDIST="BINOMDIST",i.CHIDIST="CHIDIST",i.CHIINV="CHIINV",i.CHITEST="CHITEST",i.CONFIDENCE="CONFIDENCE",i.COVAR="COVAR",i.CRITBINOM="CRITBINOM",i.EXPONDIST="EXPONDIST",i.FDIST="FDIST",i.FINV="FINV",i.FTEST="FTEST",i.GAMMADIST="GAMMADIST",i.GAMMAINV="GAMMAINV",i.HYPGEOMDIST="HYPGEOMDIST",i.LOGINV="LOGINV",i.LOGNORMDIST="LOGNORMDIST",i.MODE="MODE",i.NEGBINOMDIST="NEGBINOMDIST",i.NORMDIST="NORMDIST",i.NORMINV="NORMINV",i.NORMSDIST="NORMSDIST",i.NORMSINV="NORMSINV",i.PERCENTILE="PERCENTILE",i.PERCENTRANK="PERCENTRANK",i.POISSON="POISSON",i.QUARTILE="QUARTILE",i.RANK="RANK",i.STDEV="STDEV",i.STDEVP="STDEVP",i.TDIST="TDIST",i.TINV="TINV",i.TTEST="TTEST",i.VAR="VAR",i.VARP="VARP",i.WEIBULL="WEIBULL",i.ZTEST="ZTEST",i))(he||{});class Wh extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=Math.floor(+c.getValue()),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||d>_||d>C||d<_-E+C||_<=0||_>E||C<=0||C>E||E<=0)return g.create(h.NUM);let R=Ba(d,_,C,E);return Number.isNaN(R)&&(R=0),b.create(R)}}class Qh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(f<=0||d<=0)return g.create(h.NUM);const _=zo(f,m,d);return b.create(_)}}class qh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=Math.floor(+u.getValue()),m=Math.floor(+l.getValue()),d=+c.getValue();if(f<0||m<1||d<=0||d>=1)return g.create(h.NUM);const _=ka(f,m,d);return b.create(_)}}class Xh extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Qr(a,0,1);return b.create(u)}}class Kh extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:u}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.map((C,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),N=+y.getValue();if(Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);const D=u.sort((L,P)=>N?L-P:P-L).indexOf(p);return D===-1?g.create(h.NA):b.create(D+1)});return c===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const u=a;if(u.isError())return t=!0,r=u,!1;if(u.isNull()||u.isBoolean())return!0;const l=+u.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class Zh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||m<1||m>10**10||d<1||d>2)return g.create(h.NUM);let _=qr(-f,m);return d===2&&(_*=2),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}const Hu=[[Gh,he.BETADIST],[hu,he.BETAINV],[gu,he.BINOMDIST],[Cu,he.CHIDIST],[_u,he.CHIINV],[Au,he.CHITEST],[Eu,he.CONFIDENCE],[Ru,he.COVAR],[du,he.CRITBINOM],[yu,he.EXPONDIST],[bu,he.FDIST],[pu,he.FINV],[Nu,he.FTEST],[Vu,he.GAMMADIST],[Ou,he.GAMMAINV],[Wh,he.HYPGEOMDIST],[Qh,he.LOGNORMDIST],[Su,he.LOGINV],[Mu,he.MODE],[qh,he.NEGBINOMDIST],[Du,he.NORMDIST],[wu,he.NORMINV],[Xh,he.NORMSDIST],[Lu,he.NORMSINV],[Pu,he.PERCENTILE],[ju,he.PERCENTRANK],[Tu,he.POISSON],[Uu,he.QUARTILE],[Kh,he.RANK],[vu,he.STDEV],[xu,he.STDEVP],[Zh,he.TDIST],[Iu,he.TINV],[Fu,he.TTEST],[ku,he.VAR],[Bu,he.VARP],[$u,he.WEIBULL],[Yu,he.ZTEST]],Gu=[];var Wu=(i=>(i.CUBEKPIMEMBER="CUBEKPIMEMBER",i.CUBEMEMBER="CUBEMEMBER",i.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",i.CUBERANKEDMEMBER="CUBERANKEDMEMBER",i.CUBESET="CUBESET",i.CUBESETCOUNT="CUBESETCOUNT",i.CUBEVALUE="CUBEVALUE",i))(Wu||{});class Qu extends V{isCustom(){return!0}}class zh extends Qu{isAsync(){return!0}}function ze(i){const o=[];if(i.isError())return{isError:!0,errorObject:i,databaseValues:o};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),databaseValues:o};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}let u=`${a.getValue()}`;if(a.isBoolean()&&(u=u.toLocaleUpperCase()),a.isNumber()||S.isRealNum(u)){n.push(+u);continue}n.push(u)}o.push(n)}return{isError:!1,errorObject:null,databaseValues:o}}function Je(i,o){let e=-1;if(i.isError())return{isError:!0,errorObject:i,fieldIndex:e};const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;if(t>1||r>1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};const n=i.isArray()?i.get(0,0):i;let s=`${n.getValue()}`;if(n.isNull()?s=0:n.isBoolean()?s=n.getValue()?1:0:(n.isNumber()||S.isRealNum(s))&&(s=Math.floor(+s)),typeof s=="number"){if(s<1||s>o[0].length)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};e=s-1}else if(e=o[0].findIndex(a=>a===null?!1:`${a}`.toLocaleLowerCase()===s.toLocaleLowerCase()),e===-1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};return{isError:!1,errorObject:null,fieldIndex:e}}function et(i){const o=[];if(i.isError())return{isError:!0,errorObject:i,criteriaValues:o};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),criteriaValues:o};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}const u=`${a.getValue()}`;if(a.isBoolean()){n.push(a.getValue()?1:0);continue}if(a.isNumber()||S.isRealNum(u)){n.push(+u);continue}n.push(u)}o.push(n)}return{isError:!1,errorObject:null,criteriaValues:o}}function tt(i,o,e){const t=i.length,r=i[0].length,n={};let s=!1;for(let a=1;a<t;a++){let u=!0;for(let l=0;l<r;l++){const c=i[a][l];if(c===null)continue;let f=n[l];if(f===void 0){const m=i[0][l];f=o[0].findIndex(d=>d===null||m===null?!1:`${d}`.toLocaleLowerCase()===`${m}`.toLocaleLowerCase()),n[l]=f}if(f===-1&&(typeof c=="string"||c===0)){u=!1;break}else if(f>-1){const m=o[e][f];if(m===null){u=!1;break}const[d,_]=ca(`${c}`);if(!ht.create(`${m}`).compare(_,d).getValue()){u=!1;break}}}if(u){s=!0;break}}return s}class Jh extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_+=R,C++)}return C===0?g.create(h.DIV_BY_ZERO):b.create(_/C)}}class eg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++)typeof a[C][c]=="number"&&tt(d,a,C)&&_++;return b.create(_)}}class tg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][c];E!=null&&tt(d,a,C)&&_++}return b.create(_)}}class rg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];R!=null&&tt(d,a,E)&&(_++,C=E)}return _===0?g.create(h.VALUE):_>1?g.create(h.NUM):e.get(C,c)}}class ng extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=-1/0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_=Math.max(_,R),C++)}return C===0?b.create(0):b.create(_)}}class sg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=1/0,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_=Math.min(_,R),C++)}return C===0?b.create(0):b.create(_)}}class ag extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=1,C=0;for(let E=1;E<a.length;E++){const R=a[E][c];typeof R=="number"&&tt(d,a,E)&&(_*=R,C++)}return C===0?b.create(0):b.create(_)}}class ig extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=Math.sqrt(y/(E-1));return b.create(p)}}class og extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=Math.sqrt(y/E);return b.create(p)}}class ug extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][c];typeof E=="number"&&tt(d,a,C)&&(_+=E)}return b.create(_)}}class lg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=y/(E-1);return b.create(p)}}class cg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=ze(e);if(n)return s;const{isError:u,errorObject:l,fieldIndex:c}=Je(t,a);if(u)return l;const{isError:f,errorObject:m,criteriaValues:d}=et(r);if(f)return m;const _=[];let C=0,E=0;for(let N=1;N<a.length;N++){const M=a[N][c];typeof M=="number"&&tt(d,a,N)&&(_.push(M),C+=M,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const R=C/E;let y=0;for(let N=0;N<E;N++)y+=(_[N]-R)**2;const p=y/E;return b.create(p)}}var He=(i=>(i.DAVERAGE="DAVERAGE",i.DCOUNT="DCOUNT",i.DCOUNTA="DCOUNTA",i.DGET="DGET",i.DMAX="DMAX",i.DMIN="DMIN",i.DPRODUCT="DPRODUCT",i.DSTDEV="DSTDEV",i.DSTDEVP="DSTDEVP",i.DSUM="DSUM",i.DVAR="DVAR",i.DVARP="DVARP",i))(He||{});const qu=[[Jh,He.DAVERAGE],[eg,He.DCOUNT],[tg,He.DCOUNTA],[rg,He.DGET],[ng,He.DMAX],[sg,He.DMIN],[ag,He.DPRODUCT],[ig,He.DSTDEV],[og,He.DSTDEVP],[ug,He.DSUM],[lg,He.DVAR],[cg,He.DVARP]];class fg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y;let D=Math.floor(+p.getValue());const L=Math.floor(+N.getValue()),P=Math.floor(+M.getValue());if(D<0||D>9999)return g.create(h.NUM);D>=0&&D<1899&&(D+=1900);const j=new Date(D,L-1,P),I=Re(j);return I<0?g.create(h.NUM):b.create(I,Cs)});return n===1&&s===1?c.get(0,0):c}}class mg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t,a=r;if(n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),a.isArray()&&(a=a.get(0,0)),n.isError())return n;if(s.isError())return s;if(a.isError())return a;const u=G(n);if(typeof u!="number")return u;const l=G(s);return typeof l!="number"?l:l<u||!a.isString()?g.create(h.NUM):this._getResultByUnit(u,l,a)}_getResultByUnit(e,t,r){const n=ae(e),s=n.getUTCFullYear(),a=n.getUTCMonth()+1,u=n.getUTCDate(),l=ae(t),c=l.getUTCFullYear(),f=l.getUTCMonth()+1,m=l.getUTCDate(),d=`${r.getValue()}`.toLocaleUpperCase();let _=0,C;switch(d){case"Y":_=c-s,(f<a||f===a&&m<u)&&(_-=1);break;case"M":_=(c-s)*12+f-a,m<u&&(_-=1);break;case"D":_=Math.floor(t)-Math.floor(e);break;case"MD":_=m-u,m<u&&(C=new Date(Date.UTC(c,f-1,0)),_+=Sr(C.getUTCFullYear(),C.getUTCMonth()));break;case"YM":_=f-a,(f<a||f===a&&m<u)&&(_+=12),m<u&&(_-=1);break;case"YD":C=new Date(Date.UTC(s,f-1,m)),(f<a||f===a&&m<u)&&(C=new Date(Date.UTC(s+1,f-1,m))),_=Math.floor(Re(C))-Math.floor(e);break;default:return g.create(h.NUM)}return b.create(_)}}class hg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`;let r=tn(t);if(r===null&&(r=rn(t)),r){let{v:n,z:s}=r;if(s&&Es(s))return n instanceof Date&&(n=Vr(n)),b.create(Math.trunc(+n))}}return g.create(h.VALUE)}}class gg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!As(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return b.create(0);t=ae(a)}const n=t.getDate();return b.create(n)}}class dg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),u=s.map((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const d=G(l);if(typeof d!="number")return d;const _=G(m);if(typeof _!="number")return _;const C=Math.floor(d)-Math.floor(_);return b.create(C)});return r===1&&n===1?u.get(0,0):u}}class Cg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:F.create(!1);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.map((m,d,_)=>{const C=l.get(d,_);let E=c.get(d,_);if(m.isError())return m;const R=G(m);if(typeof R!="number")return R;if(C.isError())return C;const y=G(C);if(typeof y!="number")return y;if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;const p=+E.getValue(),{days:N}=_e(R,y,p?4:0),M=y>=R?N:-N;return b.create(M)});return s===1&&a===1?f.get(0,0):f}}class _g extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.map((u,l,c)=>{const f=a.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 g.create(h.VALUE);const m=+u.getValue();if(m<0)return g.create(h.NUM);const d=Math.floor(+f.getValue()),_=ae(m),C=_.getUTCFullYear(),E=_.getUTCMonth()+d,R=_.getUTCDate(),y=new Date(Date.UTC(C,E,R)),p=Re(y);return b.create(p,Cs)})}}class Ag extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;if(r.isArray()){const d=r.getRowCount(),_=r.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);r=r.get(0,0)}if(n.isArray()){const d=n.getRowCount(),_=n.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);n=n.get(0,0)}if(r.isError())return r;if(n.isError())return n;const s=G(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=ae(s),u=s>0?a.getUTCFullYear():1900,l=s>0?a.getUTCMonth():0,c=Math.floor(+n.getValue());if(Number.isNaN(c))return g.create(h.VALUE);const f=new Date(Date.UTC(u,l+c+1,0)),m=Re(f);return b.create(m)}}class Eg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){const r=t!=null?t:b.create(1),{isError:n,errorObject:s,timestampIsReferenceObject:a,timestampObject:u,unitObject:l}=this._checkVariants(e,r);if(n)return s;if(u.isNull()||u.isBoolean()||u.isString()||!a&&u.isNumber()&&u.getPattern()!=="")return g.create(h.VALUE);let c=+u.getValue();const{isError:f,errorObject:m,variants:d}=B(l);if(f)return m;const[_]=d,C=Math.floor(+_.getValue());if(c<0||C<1||C>3)return g.create(h.NUM);C===1&&(c=c*1e3),C===3&&(c=c/1e3);const E=new Date(Date.UTC(1970,0,1,0,0,0,0)+c);if(Number.isNaN(E.getTime())){const R=25569+c/864e5;return b.create(R)}else{const R=Vr(E);return b.create(R,"yyyy-MM-dd AM/PM hh:mm:ss")}}_checkVariants(e,t){const r=e.isReferenceObject(),n=t.isReferenceObject();let s=e;if(r&&(s=e.toArrayValueObject()),s.isArray()){const u=s.getRowCount(),l=s.getColumnCount();if(u>1||l>1)return{isError:!0,errorObject:g.create(h.VALUE)};s=s.get(0,0)}if(s.isError())return{isError:!0,errorObject:s};let a=t;if(n&&(a=t.toArrayValueObject()),a.isArray()){const u=a.getRowCount(),l=a.getColumnCount();if(u>1||l>1)return{isError:!0,errorObject:g.create(h.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:r,timestampObject:s,unitIsReferenceObject:n,unitObject:a}}}var Ae=(i=>(i.DATE="DATE",i.DATEDIF="DATEDIF",i.DATEVALUE="DATEVALUE",i.DAY="DAY",i.DAYS="DAYS",i.DAYS360="DAYS360",i.EDATE="EDATE",i.EOMONTH="EOMONTH",i.EPOCHTODATE="EPOCHTODATE",i.HOUR="HOUR",i.ISOWEEKNUM="ISOWEEKNUM",i.MINUTE="MINUTE",i.MONTH="MONTH",i.NETWORKDAYS="NETWORKDAYS",i.NETWORKDAYS_INTL="NETWORKDAYS.INTL",i.NOW="NOW",i.SECOND="SECOND",i.TIME="TIME",i.TIMEVALUE="TIMEVALUE",i.TO_DATE="TO_DATE",i.TODAY="TODAY",i.WEEKDAY="WEEKDAY",i.WEEKNUM="WEEKNUM",i.WORKDAY="WORKDAY",i.WORKDAY_INTL="WORKDAY.INTL",i.YEAR="YEAR",i.YEARFRAC="YEARFRAC",i))(Ae||{});class Rg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=_s(t).getUTCHours();return b.create(n)}}class yg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;const r=ae(t),n=t>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=Re(s),u=Bt(a),l;u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u),t<l&&(s=new Date(Date.UTC(n-1,0,1)),a=Re(s),u=Bt(a),u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u));const c=Math.ceil((t-l+1)/7);return b.create(c)}}class bg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=_s(t).getUTCMinutes();return b.create(n)}}class pg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 r=e.getValue();if(e.isString()){if(!As(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return b.create(1);t=ae(a)}const n=t.getUTCMonth()+1;return b.create(n)}}class Ng extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const c=n.getRowCount(),f=n.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const c=s.getRowCount(),f=s.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=G(n);if(typeof a!="number")return a;const u=G(s);if(typeof u!="number")return u;if(r)return this._getResultByHolidays(a,u,r);const l=nn(a,u);return b.create(l)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),u=r.getColumnCount();for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=r.get(l,c);if(f.isBoolean())return g.create(h.VALUE);const m=G(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=G(r);if(typeof a!="number")return a;n.push(a)}const s=nn(e,t,1,n);return b.create(s)}}class Vg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let s=e,a=t;if(s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(a.isArray()){const m=a.getRowCount(),d=a.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isError())return a;let u=1;if(r){if(u=r.getValue(),r.isBoolean()&&(u=+u),r.isString()&&!Or(u))return g.create(h.VALUE);if(!Or(u))return g.create(h.NUM)}if(s.isBoolean()||a.isBoolean())return g.create(h.VALUE);const l=G(s);if(typeof l!="number")return l;const c=G(a);if(typeof c!="number")return c;if(n)return this._getResultByHolidays(l,c,u,n);const f=nn(l,c,u);return b.create(f)}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const u=n.getRowCount(),l=n.getColumnCount();for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=n.get(c,f);if(m.isBoolean())return g.create(h.VALUE);const d=G(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const u=G(n);if(typeof u!="number")return u;s.push(u)}const a=nn(e,t,r,s);return b.create(a)}}class Og extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=Vr(t);return b.create(r,kl)}}class Sg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=G(e);if(typeof t!="number")return t;if(t===0)return b.create(0);const n=_s(t).getUTCSeconds();return b.create(n)}}class Mg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e),u=O(n,s,t),l=O(n,s,r);return a.map((c,f,m)=>this._calculateTime(c,u,l,f,m))}_calculateTime(e,t,r,n,s){let a=e,u=t.get(n,s)||ce.create(),l=r.get(n,s)||ce.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(u.isString()||u.isBoolean())&&(u=u.convertToNumberObjectValue()),(l.isString()||l.isBoolean())&&(l=l.convertToNumberObjectValue()),a.isError())return a;if(u.isError())return u;if(l.isError())return l;let c=Math.floor(+a.getValue()),f=Math.floor(+u.getValue()),m=Math.floor(+l.getValue());if(c<0||f<0||m<0||c>32767||f>32767||m>32767)return g.create(h.NUM);f+=Math.floor(m/60),m%=60,c+=Math.floor(f/60),f%=60,c%=24;const _=(c*3600+f*60+m)/86400;return b.create(_,$l)}}class Dg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`,r=S.getNumfmtParseValueFilter(t);if(r){let{v:n,z:s}=r;if(s&&Es(s))return n instanceof Date&&(n=Vr(n)),b.create(mm(+n))}}return g.create(h.VALUE)}}class wg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){const t=e.isReferenceObject();let r=e;if(t&&(r=e.toArrayValueObject()),r.isArray()){const s=r.getRowCount(),a=r.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError()||r.isNull()||r.isBoolean()||r.isString()||!t&&r.isNumber()&&r.getPattern()!=="")return r;const n=+r.getValue();return b.create(n,"yyyy-MM-dd hh:mm:ss AM/PM")}}class Lg extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=Re(new Date);return b.create(e,Cs)}}class Pg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{const d=u.get(f,m);return this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(r.isError())return r;const n=G(e);if(typeof n!="number")return n;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()))return r;const s=Math.floor(+r.getValue());if(!this._returnTypeMap[s])return g.create(h.NUM);const a=Bt(n),u=this._returnTypeMap[s][a];return b.create(u)}}class jg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let r=e,n=t!=null?t:b.create(1);if(r.isArray()){const u=r.getRowCount(),l=r.getColumnCount();if(u>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isArray()){const u=n.getRowCount(),l=n.getColumnCount();if(u>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean())return g.create(h.VALUE);const s=G(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=Math.floor(+n.getValue());return Number.isNaN(a)?g.create(h.VALUE):a in this._returnTypeMap?this._getResult(s,a):g.create(h.NUM)}_getResult(e,t){const r=ae(e),n=e>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=Re(s),u=Bt(a),l;if(t===21)u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u),e<l&&(s=new Date(Date.UTC(n-1,0,1)),a=Re(s),u=Bt(a),u<1?l=a+1:u<=4?l=a-(u-1):l=a+(11-u));else{const f=this._returnTypeMap[t];u<f?l=a-(u+7-f):l=a-(u-f)}const c=Math.ceil((e-l+1)/7);return b.create(c)}}class Tg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const c=n.getRowCount(),f=n.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const c=s.getRowCount(),f=s.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=G(n);if(typeof a!="number")return a;const u=+s.getValue();if(Number.isNaN(u))return g.create(h.VALUE);if(r)return this._getResultByHolidays(a,u,r);const l=sn(a,u);return typeof l!="number"?l:b.create(l)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),u=r.getColumnCount();for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=r.get(l,c);if(f.isBoolean())return g.create(h.VALUE);const m=G(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=G(r);if(typeof a!="number")return a;n.push(a)}const s=sn(e,t,1,n);return typeof s!="number"?s:b.create(s)}}class Ug extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){const s=r!=null?r:b.create(1),a=this._checkArrayError(e);if(a.isError())return a;const u=this._checkArrayError(t);if(u.isError())return u;if(a.isBoolean()||u.isBoolean())return g.create(h.VALUE);const l=G(e);if(typeof l!="number")return l;const c=+t.getValue();if(Number.isNaN(c))return g.create(h.VALUE);let f=s.getValue();if(s.isBoolean()&&(f=+f),s.isString()&&(!Or(f)||f==="1111111"))return g.create(h.VALUE);if(!Or(f))return g.create(h.NUM);if(n)return this._getResultByHolidays(l,c,f,n);const m=sn(l,c,f);return typeof m!="number"?m:b.create(m)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const u=n.getRowCount(),l=n.getColumnCount();for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=n.get(c,f);if(m.isBoolean())return g.create(h.VALUE);const d=G(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const u=G(n);if(typeof u!="number")return u;s.push(u)}const a=sn(e,t,r,s);return typeof a!="number"?a:b.create(a)}}class xg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 r=e.getValue();if(e.isString()){if(!As(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+r;if(a<0)return g.create(h.NUM);if(a===0)return b.create(1900);t=ae(a)}const n=t.getUTCFullYear();return b.create(n)}}class vg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:b.create(0);const s=Kt(e);if(s.isError())return s;const a=Kt(t);if(a.isError())return a;if(n=Kt(n),n.isError())return n;if(s.isBoolean()||a.isBoolean()||n.isBoolean())return g.create(h.VALUE);const u=G(s);if(typeof u!="number")return u;const l=G(a);if(typeof l!="number")return l;const c=Math.floor(+n.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(c<0||c>4)return g.create(h.NUM);const{days:f,yearDays:m}=_e(u,l,c),d=f/m;return b.create(d)}}const Xu=[[fg,Ae.DATE],[mg,Ae.DATEDIF],[hg,Ae.DATEVALUE],[gg,Ae.DAY],[dg,Ae.DAYS],[Cg,Ae.DAYS360],[_g,Ae.EDATE],[Ag,Ae.EOMONTH],[Eg,Ae.EPOCHTODATE],[Rg,Ae.HOUR],[yg,Ae.ISOWEEKNUM],[bg,Ae.MINUTE],[pg,Ae.MONTH],[Ng,Ae.NETWORKDAYS],[Vg,Ae.NETWORKDAYS_INTL],[Og,Ae.NOW],[Sg,Ae.SECOND],[Mg,Ae.TIME],[Dg,Ae.TIMEVALUE],[wg,Ae.TO_DATE],[Lg,Ae.TODAY],[Pg,Ae.WEEKDAY],[jg,Ae.WEEKNUM],[Tg,Ae.WORKDAY],[Ug,Ae.WORKDAY_INTL],[xg,Ae.YEAR],[vg,Ae.YEARFRAC]];class Ig extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=yr.besseli(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Fg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=yr.besselj(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class Bg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=yr.besselk(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class kg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);const f=yr.bessely(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class $g extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!Va(a))return g.create(h.NUM);let u;return a.length===10&&a.substring(0,1)==="1"?u=Number.parseInt(a.substring(1),2)-512:u=Number.parseInt(a,2),b.create(u)}}class Yg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!Va(l))return g.create(h.NUM);let c;if(l.length===10&&l.substring(0,1)==="1")c=(0xfffffffe00+Number.parseInt(l.substring(1),2)).toString(16);else if(c=Number.parseInt(l,2).toString(16),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c.toLocaleUpperCase())}}class Hg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!Va(l))return g.create(h.NUM);let c;if(l.length===10&&l.substring(0,1)==="1")c=(1073741312+Number.parseInt(l.substring(1),2)).toString(8);else if(c=Number.parseInt(l,2).toString(8),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Gg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_&C;return b.create(E)});return r===1&&n===1?u.get(0,0):u}}class Wg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)<<BigInt(C):BigInt(_)>>BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class Qg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=Number(BigInt(_)|BigInt(C));return b.create(E)});return r===1&&n===1?u.get(0,0):u}}class qg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)>>BigInt(C):BigInt(_)<<BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class Xg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(c,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_^C;return b.create(E)});return r===1&&n===1?u.get(0,0):u}}U.prototype.cos=function(){const i=this.toNumber();return new U(Math.cos(i))};let ge=class me{constructor(o){A(this,"_inumber","");A(this,"_realNum",0);A(this,"_iNum",0);A(this,"_suffix","");A(this,"_isError",!1);if(`${o}`.trim()===""){this._isError=!0;return}this._inumber=o,this._getImReal(),this._getImAginary(),this._getImSuffix()}static getComplex(o,e,t){const r=new U(o).toSignificantDigits(15).toNumber(),n=new U(e).toSignificantDigits(15).toNumber(),s=t===""?"i":t;let a;if(r===0&&n===0)a=0;else if(r===0)a=n===1?s:`${n}${s}`;else if(n===0)a=r;else{const u=n>0?"+":"",l=n===1?s:`${n}${s}`;a=`${r}${u}${l}`}return a}static createByComplexStr(o,e,t){const r=me.getComplex(o,e,t);return new me(r)}_getImReal(){if(this._inumber===0||this._inumber==="0"){this._realNum=0;return}const o=`${this._inumber}`;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(o)>=0){this._realNum=0;return}let e=o.indexOf("+"),t=o.indexOf("-");e===0&&(e=o.indexOf("+",1)),t===0&&(t=o.indexOf("-",1));const r=o.substring(o.length-1,o.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+o.substring(0,e))||Number.isNaN(+o.substring(e+1,o.length-1))?this._isError=!0:this._realNum=+o.substring(0,e):Number.isNaN(+o.substring(0,t))||Number.isNaN(+o.substring(t+1,o.length-1))?this._isError=!0:this._realNum=+o.substring(0,t)}else n?Number.isNaN(+o.substring(0,o.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+o)?this._isError=!0:this._realNum=+o}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber==="0"){this._iNum=0;return}let o=`${this._inumber}`;if(["i","j"].indexOf(o)>=0){this._iNum=1;return}o=o.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");let e=o.indexOf("+"),t=o.indexOf("-");e===0&&(e=o.indexOf("+",1)),t===0&&(t=o.indexOf("-",1));const r=o.substring(o.length-1,o.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+o.substring(0,e))||Number.isNaN(+o.substring(e+1,o.length-1))?this._isError=!0:this._iNum=+o.substring(e+1,o.length-1):Number.isNaN(+o.substring(0,t))||Number.isNaN(+o.substring(t+1,o.length-1))?this._isError=!0:this._iNum=-+o.substring(t+1,o.length-1)}else n?Number.isNaN(+o.substring(0,o.length-1))?this._isError=!0:this._iNum=+o.substring(0,o.length-1):Number.isNaN(+o)?this._isError=!0:this._iNum=0}_getImSuffix(){const o=`${this._inumber}`,e=o.substring(o.length-1);this._suffix=e==="i"||e==="j"?e:""}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return me.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(o){const e=o.getSuffix();return this._suffix===""||e===""?!1:this._suffix!==e}Abs(){return U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){const o=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2)));let e=U.acos(new U(this._realNum).div(o)).toSignificantDigits(16).toNumber();return this._iNum<0&&(e=-e),e}Conjugate(){return me.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){const o=U.cos(this._realNum).mul(U.cosh(this._iNum)).toNumber(),e=U.sin(this._realNum).mul(U.sinh(this._iNum)).negated().toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.cos(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.cosh(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.sinh(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.cosh(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Cot(){if(this._iNum){const o=U.cosh(this._iNum*2).sub(U.cos(this._realNum*2)),e=U.sin(this._realNum*2).div(o).toNumber(),t=U.sinh(this._iNum*2).div(o).negated().toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.tan(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.cosh(this._realNum*2).sub(U.cos(this._iNum*2)),e=U.sinh(this._realNum*2).div(o).toNumber(),t=U.sin(this._iNum*2).div(o).negated().toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.tanh(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Csc(){if(this._iNum){const o=U.cosh(this._iNum*2).sub(U.cos(this._realNum*2)),e=U.sin(this._realNum).mul(U.cosh(this._iNum)).mul(2).div(o).toNumber(),t=U.cos(this._realNum).mul(U.sinh(this._iNum)).mul(-2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.sin(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return me.getComplex(0,0,this._suffix);if(this._iNum){const o=U.cosh(this._realNum*2).sub(U.cos(this._iNum*2)),e=U.sinh(this._realNum).mul(U.cos(this._iNum)).mul(2).div(o).toNumber(),t=U.cosh(this._realNum).mul(U.sin(this._iNum)).mul(-2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.sinh(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Div(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=r.mul(r).add(n.mul(n)),a=e.mul(r).add(t.mul(n)).div(s).toNumber(),u=t.mul(r).sub(e.mul(n)).div(s).toNumber(),l=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(a,u,l)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,"";const o=U.exp(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.exp(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}Ln(){const o=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),e=U.ln(o).toNumber(),t=U.acos(new U(this._realNum).div(o)).toNumber();return me.getComplex(e,t,this._suffix)}Log(o){const e=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),t=U.ln(e);let r=U.acos(new U(this._realNum).div(e));this._iNum<0&&(r=r.negated());const n=U.ln(o),s=new U(0),a=n.mul(n).add(s.mul(s));if(a.eq(0))return this._isError=!0,"";const u=t.mul(n).add(r.mul(s)).div(a).toNumber(),l=r.mul(n).sub(t.mul(s)).div(a).toNumber();return me.getComplex(u,l,this._suffix)}Power(o){if(this._realNum===0&&this._iNum===0)return o>0?me.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,"");let e=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),t=U.acos(new U(this._realNum).div(e));this._iNum<0&&(t=t.negated()),e=U.pow(e,o),t=t.mul(o);const r=U.cos(t).mul(e).toNumber(),n=U.sin(t).mul(e).toNumber();return!Number.isFinite(r)||!Number.isFinite(n)?(this._isError=!0,""):me.getComplex(r,n,this._suffix)}Product(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=e.mul(r).sub(t.mul(n)).toNumber(),a=e.mul(n).add(t.mul(r)).toNumber(),u=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(s,a,u)}Sec(){if(this._iNum){const o=U.cosh(this._iNum*2).add(U.cos(this._realNum*2)),e=U.cos(this._realNum).mul(U.cosh(this._iNum)).mul(2).div(o).toNumber(),t=U.sin(this._realNum).mul(U.sinh(this._iNum)).mul(2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.cos(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return me.getComplex(0,0,this._suffix);if(this._iNum){const o=U.cosh(this._realNum*2).add(U.cos(this._iNum*2)),e=U.cosh(this._realNum).mul(U.cos(this._iNum)).mul(2).div(o).toNumber(),t=U.sinh(this._realNum).mul(U.sin(this._iNum)).mul(-2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=new U(1).div(U.cosh(this._realNum)).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sin(){if(this._iNum){const o=U.sin(this._realNum).mul(U.cosh(this._iNum)).toNumber(),e=U.cos(this._realNum).mul(U.sinh(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.sin(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.sinh(this._realNum).mul(U.cos(this._iNum)).toNumber(),e=U.cosh(this._realNum).mul(U.sin(this._iNum)).toNumber();return me.getComplex(o,e,this._suffix)}else{const o=U.sinh(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Sqrt(){const o=U.sqrt(U.pow(this._realNum,2).add(U.pow(this._iNum,2))),e=U.sqrt(o);let t=U.acos(new U(this._realNum).div(o));this._iNum<0&&(t=t.negated());const r=e.mul(U.cos(t.div(2).toNumber())).toNumber(),n=e.mul(U.sin(t.div(2))).toNumber();return me.getComplex(r,n,this._suffix)}Sub(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=e.sub(r).toNumber(),a=t.sub(n).toNumber(),u=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(s,a,u)}Sum(o){const e=new U(this._realNum),t=new U(this._iNum),r=new U(o.getRealNum()),n=new U(o.getINum()),s=e.add(r).toNumber(),a=t.add(n).toNumber(),u=this._suffix===""?o.getSuffix():this._suffix;return me.getComplex(s,a,u)}Tan(){if(this._iNum){const o=U.cos(this._realNum*2).add(U.cosh(this._iNum*2)),e=U.sin(this._realNum*2).div(o).toNumber(),t=U.sinh(this._iNum*2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=U.tan(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const o=U.cosh(this._realNum*2).add(U.cos(this._iNum*2)),e=U.sinh(this._realNum*2).div(o).toNumber(),t=U.sin(this._iNum*2).div(o).toNumber();return me.getComplex(e,t,this._suffix)}else{const o=U.tanh(this._realNum).toNumber();return me.getComplex(o,this._iNum,this._suffix)}}};class Kg extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:x.create("i"),{isError:s,errorObject:a,variants:u}=q(e,t,n);if(s)return a;const[l,c,f]=u,m=+l.getValue(),d=+c.getValue(),_=`${f.getValue()}`;if(Number.isNaN(m)||Number.isNaN(d)||_!=="i"&&_!=="j")return g.create(h.VALUE);const C=ge.getComplex(m,d,_);return typeof C=="number"?b.create(C):x.create(C)}}class Zg extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"_units",[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["centigrade","C",["cel"],"temperature",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m3",["m^3"],"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,416818182544058e-5],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,758660370370369e-22],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["fahrenheit","F",["fah"],"temperature",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519538e-3],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["rankine","Rank",null,"temperature",!1,!0,1],["reaumur","Reau",null,"temperature",!1,!0,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988110336e-6],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]]);A(this,"_binaryPrefixes",{Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,1152921504606847e3,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]});A(this,"_unitPrefixes",{Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]})}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=q(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=`${l.getValue()}`,d=`${c.getValue()}`;if(Number.isNaN(f))return g.create(h.VALUE);let _,C=1,E,R=1;const{_from:y,_to:p}=this._lookupFromAndToUnits(m,d);if(_=y,E=p,_===null){const{_from:M,_fromMultiplier:D}=this._lookupFromPrefix(m);_=M,C=D}if(E===null){const{_to:M,_toMultiplier:D}=this._lookupToPrefix(d);E=M,R=D}if(_===null||E===null||_[3]!==E[3])return g.create(h.NA);let N;return _[3]==="temperature"?(N=this._getTemperatureConversion(f,_[1],E[1]),N=+N.toFixed(2)):N=f*_[6]*C/(E[6]*R),b.create(N)}_lookupFromAndToUnits(e,t){let r=null,n=null,s;for(let a=0;a<this._units.length;a++)s=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||s.indexOf(e)>=0)&&(r=this._units[a]),(this._units[a][1]===t||s.indexOf(t)>=0)&&(n=this._units[a]);return{_from:r,_to:n}}_lookupFromPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let u=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(u=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):u&&(r=u[1],n=e.substring(u[2].length));for(let l=0;l<this._units.length;l++)s=this._units[l][2]===null?[]:this._units[l][2],(this._units[l][1]===n||s.indexOf(n)>=0)&&(t=this._units[l]);return{_from:t,_fromMultiplier:r}}_lookupToPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let u=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(u=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):u&&(r=u[1],n=e.substring(u[2].length));for(let l=0;l<this._units.length;l++)s=this._units[l][2]===null?[]:this._units[l][2],(this._units[l][1]===n||s.indexOf(n)>=0)&&(t=this._units[l]);return{_to:t,_toMultiplier:r}}_getTemperatureConversion(e,t,r){switch(t){case"C":return this._centigradeConversion(e,r);case"F":return this._fahrenheitConversion(e,r);case"K":return this._kelvinConversion(e,r);case"Rank":return this._rankineConversion(e,r);case"Reau":return this._reaumurConversion(e,r);default:return e}}_centigradeConversion(e,t){switch(t){case"F":return e*9/5+32;case"K":return e+273.15;case"Rank":return(e+273.15)*9/5;case"Reau":return e*4/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case"C":return(e-32)*5/9;case"K":return(e-32)*5/9+273.15;case"Rank":return e+459.67;case"Reau":return(e-32)*4/9;default:return e}}_kelvinConversion(e,t){switch(t){case"C":return e-273.15;case"F":return(e-273.15)*9/5+32;case"Rank":return e*9/5;case"Reau":return(e-273.15)*4/5;default:return e}}_rankineConversion(e,t){switch(t){case"C":return(e-491.67)*5/9;case"F":return e-459.67;case"K":return e*5/9;case"Reau":return(e-491.67)*4/9;default:return e}}_reaumurConversion(e,t){switch(t){case"C":return e*5/4;case"F":return e*9/4+32;case"K":return e*5/4+273.15;case"Rank":return e*9/4+491.67;default:return e}}}class zg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=Math.trunc(+u.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${l}`)||l<-512||l>511)return g.create(h.NUM);let c;if(l<0){const f=(512+l).toString(2);c=`1${"0".repeat(9-f.length)}${f}`}else if(c=Number.parseInt(`${l}`,10).toString(2),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class Jg extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=Math.trunc(+u.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${l}`)||l<-549755813888||l>549755813887)return g.create(h.NUM);let c;if(l<0)c=(1099511627776+l).toString(16);else if(c=Number.parseInt(`${l}`,10).toString(16),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c.toLocaleUpperCase())}}class ed extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=q(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=Math.trunc(+u.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${l}`)||l<-536870912||l>536870911)return g.create(h.NUM);let c;if(l<0)c=(1073741824+l).toString(8);else if(c=Number.parseInt(`${l}`,10).toString(8),t){if(r<c.length)return g.create(h.NUM);c="0".repeat(r-c.length)+c}return x.create(c)}}class td extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),{isError:n,errorObject:s,variants:a}=q(e,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);const m=c===f?1:0;return b.create(m)}}class rd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r;if(t){const{isError:n,errorObject:s,variants:a}=q(e,t);if(n)return s;const[u,l]=a,c=+u.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);r=Zt(f)-Zt(c)}else{const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=+u.getValue();if(Number.isNaN(l))return g.create(h.VALUE);r=Zt(l)}return b.create(r)}}class nd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const u=Zt(a);return b.create(u)}}class sd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const u=Ma(a);return b.create(u)}}class ad extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const u=Ma(a);return b.create(u)}}var X=(i=>(i.BESSELI="BESSELI",i.BESSELJ="BESSELJ",i.BESSELK="BESSELK",i.BESSELY="BESSELY",i.BIN2DEC="BIN2DEC",i.BIN2HEX="BIN2HEX",i.BIN2OCT="BIN2OCT",i.BITAND="BITAND",i.BITLSHIFT="BITLSHIFT",i.BITOR="BITOR",i.BITRSHIFT="BITRSHIFT",i.BITXOR="BITXOR",i.COMPLEX="COMPLEX",i.CONVERT="CONVERT",i.DEC2BIN="DEC2BIN",i.DEC2HEX="DEC2HEX",i.DEC2OCT="DEC2OCT",i.DELTA="DELTA",i.ERF="ERF",i.ERF_PRECISE="ERF.PRECISE",i.ERFC="ERFC",i.ERFC_PRECISE="ERFC.PRECISE",i.GESTEP="GESTEP",i.HEX2BIN="HEX2BIN",i.HEX2DEC="HEX2DEC",i.HEX2OCT="HEX2OCT",i.IMABS="IMABS",i.IMAGINARY="IMAGINARY",i.IMARGUMENT="IMARGUMENT",i.IMCONJUGATE="IMCONJUGATE",i.IMCOS="IMCOS",i.IMCOSH="IMCOSH",i.IMCOT="IMCOT",i.IMCOTH="IMCOTH",i.IMCSC="IMCSC",i.IMCSCH="IMCSCH",i.IMDIV="IMDIV",i.IMEXP="IMEXP",i.IMLN="IMLN",i.IMLOG="IMLOG",i.IMLOG10="IMLOG10",i.IMLOG2="IMLOG2",i.IMPOWER="IMPOWER",i.IMPRODUCT="IMPRODUCT",i.IMREAL="IMREAL",i.IMSEC="IMSEC",i.IMSECH="IMSECH",i.IMSIN="IMSIN",i.IMSINH="IMSINH",i.IMSQRT="IMSQRT",i.IMSUB="IMSUB",i.IMSUM="IMSUM",i.IMTAN="IMTAN",i.IMTANH="IMTANH",i.OCT2BIN="OCT2BIN",i.OCT2DEC="OCT2DEC",i.OCT2HEX="OCT2HEX",i))(X||{});class id extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);const r=t!=null?t:b.create(0),{isError:n,errorObject:s,variants:a}=q(e,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=+l.getValue();if(Number.isNaN(c)||Number.isNaN(f))return g.create(h.VALUE);const m=c>=f?1:0;return b.create(m)}}class od extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=q(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!Sa(l))return g.create(h.NUM);const c=l.length===10&&l.substring(0,1).toLocaleUpperCase()==="F",f=c?Number.parseInt(l,16)-1099511627776:Number.parseInt(l,16);if(f<-512||f>511)return g.create(h.NUM);let m;if(c){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return x.create(m)}}class ud extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!Sa(a))return g.create(h.NUM);let u=Number.parseInt(a,16);return u>=549755813888&&(u-=1099511627776),b.create(u)}}class ld extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=q(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!Sa(l))return g.create(h.NUM);const c=Number.parseInt(l,16);if(c>536870911&&c<0xffe0000000)return g.create(h.NUM);let f;if(c>=0xffe0000000)f=(c-0xffc0000000).toString(8);else if(f=c.toString(8),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return x.create(f)}}class cd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Abs();return b.create(l)}}class fd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.getINum();return b.create(l)}}class md extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);if(u.getRealNum()===0&&u.getINum()===0)return g.create(h.DIV_BY_ZERO);const l=u.Argument();return b.create(l)}}class hd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Conjugate();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class gd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Cos();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class dd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Cosh();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Cd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Cot();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class _d extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Coth();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ad extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Csc();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ed extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Csch();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Rd extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=`${a.getValue()}`,c=`${u.getValue()}`,f=new ge(l),m=new ge(c);if(f.isError()||m.isError()||f.isDifferentSuffixes(m)||m.getRealNum()===0&&m.getINum()===0)return g.create(h.NUM);const d=f.Div(m);return typeof d=="number"||S.isRealNum(d)?b.create(+d):x.create(d)}}class yd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Exp();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class bd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Ln();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class pd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e);if(r)return n;const[a]=s;let u=t!=null?t:b.create(10);if(u.isArray()){const R=u.getRowCount(),y=u.getColumnCount();if(R>1||y>1)return g.create(h.VALUE);u=u.get(0,0)}const{isError:l,errorObject:c,variants:f}=B(u);if(l)return c;const[m]=f,d=`${a.getValue()}`,_=+m.getValue(),C=new ge(d);if(C.isError()||C.getRealNum()===0&&C.getINum()===0||_<=0)return g.create(h.NUM);const E=C.Log(_);return C.isError()?g.create(h.NUM):typeof E=="number"||S.isRealNum(E)?b.create(+E):x.create(E)}}class Nd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Log(2);return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Vd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError()||u.getRealNum()===0&&u.getINum()===0)return g.create(h.NUM);const l=u.Log(10);return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Od extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=`${a.getValue()}`,c=new ge(l);if(c.isError())return g.create(h.NUM);const f=+u.getValue();if(Number.isNaN(f))return g.create(h.VALUE);const m=c.Power(f);return c.isError()?g.create(h.NUM):typeof m=="number"||S.isRealNum(m)?b.create(+m):x.create(m)}}class Sd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(u=>{if(t=this._handleSingleObject(u,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||S.isRealNum(t)?b.create(+t):x.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new ge(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new ge(t),a=new ge(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Product(a)}return r}}class Md extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.getRealNum();return b.create(l)}}class Dd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sec();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class wd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sech();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Ld extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sin();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Pd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Sinh();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class jd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);if(u.getRealNum()===0&&u.getINum()===0)return b.create(0);const l=u.Sqrt();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Td extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=`${a.getValue()}`,c=`${u.getValue()}`,f=new ge(l),m=new ge(c);if(f.isError()||m.isError()||f.isDifferentSuffixes(m))return g.create(h.NUM);const d=f.Sub(m);return typeof d=="number"||S.isRealNum(d)?b.create(+d):x.create(d)}}class Ud extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(u=>{if(t=this._handleSingleObject(u,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||S.isRealNum(t)?b.create(+t):x.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new ge(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new ge(t),a=new ge(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Sum(a)}return r}}class xd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Tan();return typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class vd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,u=new ge(a);if(u.isError())return g.create(h.NUM);const l=u.Tanh();return u.isError()?g.create(h.NUM):typeof l=="number"||S.isRealNum(l)?b.create(+l):x.create(l)}}class Id extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=q(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!Oa(l))return g.create(h.NUM);const c=l.length===10&&l.substring(0,1)==="7",f=c?Number.parseInt(l,8)-1073741824:Number.parseInt(l,8);if(f<-512||f>511)return g.create(h.NUM);let m;if(c){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return x.create(m)}}class Fd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=q(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!Oa(a))return g.create(h.NUM);let u=Number.parseInt(a,8);return u>=536870912&&(u-=1073741824),b.create(u)}}class Bd extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=q(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=`${u.getValue()}`;if(!Oa(l))return g.create(h.NUM);const c=Number.parseInt(l,8);let f;if(c>=536870912)f=`ff${(c+3221225472).toString(16)}`;else if(f=c.toString(16),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return x.create(f.toLocaleUpperCase())}}const Ku=[[Ig,X.BESSELI],[Fg,X.BESSELJ],[Bg,X.BESSELK],[kg,X.BESSELY],[$g,X.BIN2DEC],[Yg,X.BIN2HEX],[Hg,X.BIN2OCT],[Gg,X.BITAND],[Wg,X.BITLSHIFT],[Qg,X.BITOR],[qg,X.BITRSHIFT],[Xg,X.BITXOR],[Kg,X.COMPLEX],[Zg,X.CONVERT],[zg,X.DEC2BIN],[Jg,X.DEC2HEX],[ed,X.DEC2OCT],[td,X.DELTA],[rd,X.ERF],[nd,X.ERF_PRECISE],[sd,X.ERFC],[ad,X.ERFC_PRECISE],[id,X.GESTEP],[od,X.HEX2BIN],[ud,X.HEX2DEC],[ld,X.HEX2OCT],[cd,X.IMABS],[fd,X.IMAGINARY],[md,X.IMARGUMENT],[hd,X.IMCONJUGATE],[gd,X.IMCOS],[dd,X.IMCOSH],[Cd,X.IMCOT],[_d,X.IMCOTH],[Ad,X.IMCSC],[Ed,X.IMCSCH],[Rd,X.IMDIV],[yd,X.IMEXP],[bd,X.IMLN],[pd,X.IMLOG],[Vd,X.IMLOG10],[Nd,X.IMLOG2],[Od,X.IMPOWER],[Sd,X.IMPRODUCT],[Md,X.IMREAL],[Dd,X.IMSEC],[wd,X.IMSECH],[Ld,X.IMSIN],[Pd,X.IMSINH],[jd,X.IMSQRT],[Td,X.IMSUB],[Ud,X.IMSUM],[xd,X.IMTAN],[vd,X.IMTANH],[Id,X.OCT2BIN],[Fd,X.OCT2DEC],[Bd,X.OCT2HEX]];var ee=(i=>(i.ACCRINT="ACCRINT",i.ACCRINTM="ACCRINTM",i.AMORDEGRC="AMORDEGRC",i.AMORLINC="AMORLINC",i.COUPDAYBS="COUPDAYBS",i.COUPDAYS="COUPDAYS",i.COUPDAYSNC="COUPDAYSNC",i.COUPNCD="COUPNCD",i.COUPNUM="COUPNUM",i.COUPPCD="COUPPCD",i.CUMIPMT="CUMIPMT",i.CUMPRINC="CUMPRINC",i.DB="DB",i.DDB="DDB",i.DISC="DISC",i.DOLLARDE="DOLLARDE",i.DOLLARFR="DOLLARFR",i.DURATION="DURATION",i.EFFECT="EFFECT",i.FV="FV",i.FVSCHEDULE="FVSCHEDULE",i.INTRATE="INTRATE",i.IPMT="IPMT",i.IRR="IRR",i.ISPMT="ISPMT",i.MDURATION="MDURATION",i.MIRR="MIRR",i.NOMINAL="NOMINAL",i.NPER="NPER",i.NPV="NPV",i.ODDFPRICE="ODDFPRICE",i.ODDFYIELD="ODDFYIELD",i.ODDLPRICE="ODDLPRICE",i.ODDLYIELD="ODDLYIELD",i.PDURATION="PDURATION",i.PMT="PMT",i.PPMT="PPMT",i.PRICE="PRICE",i.PRICEDISC="PRICEDISC",i.PRICEMAT="PRICEMAT",i.PV="PV",i.RATE="RATE",i.RECEIVED="RECEIVED",i.RRI="RRI",i.SLN="SLN",i.SYD="SYD",i.TBILLEQ="TBILLEQ",i.TBILLPRICE="TBILLPRICE",i.TBILLYIELD="TBILLYIELD",i.VDB="VDB",i.XIRR="XIRR",i.XNPV="XNPV",i.YIELD="YIELD",i.YIELDDISC="YIELDDISC",i.YIELDMAT="YIELDMAT",i))(ee||{});function ss(i,o,e,t){const r=vt(i,o,e),{days:n}=_e(r,i,t);return n}function Xe(i,o,e,t){let r;if(t===1){const n=vt(i,o,e);let s=ae(n);s=or(s,12/e);const a=Re(s);n<0&&e===1?r=365:r=a-n}else t===3?r=365/e:r=360/e;return r}function Zu(i,o,e){const t=ae(i);let r=ae(o);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=or(r,-12/e);return r=or(r,12/e),Re(r)}function er(i,o,e){let t=0;const r=ae(i);let n=ae(o);for(;n>r;)n=or(n,-12/e),t++;return t}function vt(i,o,e){const t=ae(i);let r=ae(o);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=or(r,-12/e);return Re(r)}function zu(i,o,e,t,r,n){const s=ss(i,o,r,n),a=Xe(i,o,r,n),u=er(i,o,r),l=(a-s)/a-1,c=t/r+1,f=e*100/r;let m=0,d=0;for(let E=1;E<=u;E++){const R=E+l,y=f/c**R;m+=R*y,d+=y}const _=u+l,C=100/c**_;return m+=_*C,d+=C,m/d/r}function Xr(i,o,e,t,r){let n;if(i===0)n=(e+t)/o;else{const s=(1+i)**o;n=r===1?(t*i/(s-1)+e*i/(1-1/s))/(1+i):t*i/(s-1)+e*i/(1-1/s)}return-n}function tr(i,o,e,t,r){let n;if(i===0)n=t+e*o;else{if(i===-1&&o===0)return Number.NaN;const s=(1+i)**o;n=r===1?t*s+e*(1+i)*(s-1)/i:t*s+e*(s-1)/i}return-n}function Ju(i,o,e,t,r,n){const s=Xr(i,e,t,r,n);return(o===1?n===1?0:-t:n===1?tr(i,o-2,s,t,1)-s:tr(i,o-1,s,t,0))*i}function el(i,o){let e=0;for(let t=1;t<=o.length;t++)e+=o[t-1]/(1+i)**t;return e}function tl(i,o,e,t,r,n,s,a,u){const l=rr(e,t,u),c=Xe(i,t,a,u);return l<c?kd(i,o,e,t,r,n,s,a,u,l,c):$d(i,o,e,t,r,n,s,a,u,c)}function kd(i,o,e,t,r,n,s,a,u,l,c){let f=0;const m=er(i,o,a),d=rr(i,t,u);f+=s/(1+n/a)**(m-1+d/c),f+=100*r/a*l/c/(1+n/a)**(d/c);for(let C=2;C<=m;C++)f+=100*r/a/(1+n/a)**(C-1+d/c);const _=rr(e,i,u);return f-=100*r/a*_/c,f}function $d(i,o,e,t,r,n,s,a,u,l){let c=0;const f=er(t,o,a),m=Yd(t,i,12/a);let d;if(u===2||u===3){const y=Zu(i,t,a);d=rr(i,y,u)}else{const y=vt(i,t,a),{days:p}=_e(y,i,u);d=l-p}c+=s/(1+n/a)**(f+m+d/l);const _=er(e,t,a);let C=t,E=0,R=0;for(let y=_;y>=1;y--){const p=nr(C,-12/a,!1),N=u===1?rr(p,C,u):l,M=y>1?N:rr(e,C,u);E+=M/N;const D=e>p?e:p,L=i<C?i:C,P=rr(D,L,u);R+=P/N,C=p}c+=100*r/a*E/(1+n/a)**(m+d/l);for(let y=1;y<=f;y++)c+=100*r/a/(1+n/a)**(y+m+d/l);return c-=100*r/a*R,c}function rr(i,o,e){const{days:t}=_e(i,o,e);return i<o?t:0}function rl(i,o,e){const t=ae(i),r=t.getUTCFullYear(),n=t.getUTCMonth(),s=t.getUTCDate(),a=ir(r,n,s),u=ae(o),l=u.getUTCFullYear(),c=u.getUTCMonth(),f=u.getUTCDate(),m=ir(l,c,f);return!(s!==f&&!(a&&m)||Math.abs((l-r)*12+(c-n))%(12/e)!==0)}function Nr(i,o,e){return vt(i,o,e)>=0}function nr(i,o,e){let t=ae(i);if(t=or(t,o),e){const r=t.getUTCFullYear(),n=t.getUTCMonth(),s=Sr(r,n);t.setUTCDate(s)}return Re(t)}function Yd(i,o,e,t){const r=ae(i),n=ae(o),s=r.getUTCFullYear(),a=r.getUTCMonth(),u=r.getUTCDate(),l=n.getUTCFullYear(),c=n.getUTCMonth(),f=n.getUTCDate(),m=ir(s,a,u),d=!m&&a!==1&&u>28&&u<Sr(s,a)?ir(l,c,f):m,_=nr(o,0,d);let C=1+ +(o<_),E=nr(_,e,d);for(;!(e>0?E>=o:E<=o);)E=nr(E,e,d),C++;return C}function $a(i,o){let n=1,s=0,a=i,u;for(;n>1e-7&&s<500;){const l=(o(a+1e-7)-o(a-1e-7))/2e-7;u=a-o(a)/l,s++,n=Math.abs(u-a),a=u}return Number.isNaN(a)||Math.abs(a)===1/0||s===500?Hd(i,o):a}function Hd(i,o){const r=Number.MAX_VALUE,n=-1,s=1.6;let a=i-.01<=n?n+1e-7:i-.01,u=i+.01>=r?r-1e-7:i+.01,l,c,f=0;if(i<=n||i>=r)return g.create(h.NUM);for(let E=0;E<60;E++){l=a<=n?n+1e-7:a,c=u>=r?r-1e-7:u;const R=o(l),y=o(c);if(R*y<=0)break;if(R*y>0)a=l+s*(l-c),u=c+s*(c-l);else return g.create(h.NUM);if(E===59)return g.create(h.NUM)}l=l,c=c;let m=o(l);const d=o(c);let _,C;if(Math.abs(m)<1e-7||Math.abs(d)<1e-7)return g.create(h.NUM);do C=l+(c-l)/2,_=o(C),m*_<0?c=C:l=C,m=o(l),f++;while(Math.abs(_)>1e-7&&f<60);return C}function as(i,o,e,t,r,n,s){const a=er(i,o,n),u=Xe(i,o,n,s),l=ss(i,o,n,s);if(a===1){const m=u-l,d=100*e/n+r,_=t/n*m/u+1,C=100*e/n*l/u;return d/_-C}const c=u-l;let f=r/(1+t/n)**(a-1+c/u);for(let m=1;m<=a;m++)f+=100*e/n/(1+t/n)**(m-1+c/u);return f-=100*e/n*l/u,f}function Ya(i,o,e,t,r){let n=0,s=r/e;s>=1?(s=1,n=t===1?i:0):n=i*(1-s)**(t-1);const a=i*(1-s)**t;let u=0;return a<o?u=n-o:u=n-a,u<0&&(u=0),u}class Gd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,u,l){const c=u!=null?u:b.create(0),f=l!=null?l:F.create(!0),{isError:m,errorObject:d,variants:_}=q(e,t,r,n,s,a,c);if(m)return d;const[C,E,R,y,p,N,M]=_,D=G(C);if(typeof D!="number")return D;const L=G(E);if(typeof L!="number")return L;const P=G(R);if(typeof P!="number")return P;const j=+y.getValue(),I=+p.getValue(),v=Math.floor(+N.getValue()),Y=Math.floor(+M.getValue()),Q=+f.getValue();return Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q)?g.create(h.VALUE):j<=0||I<=0||![1,2,4].includes(v)||Y<0||Y>4||Math.floor(D)>=Math.floor(P)?g.create(h.NUM):this._getResult(D,L,P,j,I,v,Y,Q)}_getResult(e,t,r,n,s,a,u,l){let c=vt(e,t,a);if(c<=0)return b.create(0);c=vt(r,t,a);const f=12/a,m=ae(t),d=m.getUTCFullYear(),_=m.getUTCMonth(),C=m.getUTCDate(),E=ir(d,_,C);let R=nr(t,-f,E);if(r>t&&l)for(R=t;R<r;)R=nr(R,f,E);let y=e>R?e:R,{days:p}=_e(y,r,u);if(c>=e){const{days:j}=_e(y,r,u?4:0);p=j}r<y&&(p=-p);let N=Xe(R,t,a,u),M=p/N,D=R,L=e;for(;D>e;){L=D,D=nr(D,-f,E),y=e>D?e:D;const{days:j}=_e(y,L,u);if(u===0)L>=y||e<=D?p=j:p=-j,N=Xe(D,L,a,u);else if(p=L<y?-j:j,u===3)N=365/a;else{const{days:I}=_e(D,L,u);N=L<D?-I:I}M+=e<=D?l?1:0:p/N}const P=s*n/a*M;return b.create(P)}}class Wd extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:u,errorObject:l,variants:c}=q(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||Math.floor(E)>Math.floor(R))return g.create(h.NUM);if(Math.floor(E)===Math.floor(R))return b.create(0);const{days:M,yearDays:D}=_e(E,R,N),L=p*y*M/D;return b.create(L)}}class Qd extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,u){const l=u!=null?u:b.create(0),{isError:c,errorObject:f,variants:m}=q(e,t,r,n,s,a,l);if(c)return f;const[d,_,C,E,R,y,p]=m,N=G(_);if(typeof N!="number")return N;const M=G(C);if(typeof M!="number")return M;const D=+d.getValue(),L=+E.getValue();let P=+R.getValue();const j=+y.getValue(),I=Math.floor(+p.getValue());return Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I)?g.create(h.VALUE):D<=0||L<0||D<L||Math.floor(N)>Math.floor(M)||P<0||j<=0||![0,1,3,4].includes(I)?g.create(h.NUM):(P>1?P=Math.floor(P):P=Math.ceil(P),this._getResult(D,N,M,L,P,j,I))}_getResult(e,t,r,n,s,a,u){const l=e-n,c=e*a,{days:f,yearDays:m}=_e(t,r,u),d=f/m,_=Math.ceil(l/c-d);if(_<0)return b.create(0);let C=c;return s===0?C=c*d:s===_?C=l-c*(d+s-1):s>_&&(C=0),b.create(C)}}class qd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=ss(_,C,E,R);return b.create(y)}}class Xd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=Xe(_,C,E,R);return b.create(y)}}class Kd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=ae(_),p=ae(C);for(p.setUTCFullYear(y.getUTCFullYear()),p<y&&p.setUTCFullYear(p.getUTCFullYear()+1);p>y;)p.setUTCMonth(p.getUTCMonth()-12/E);p.setUTCMonth(p.getUTCMonth()+12/E);const N=Re(p),{days:M}=_e(_,N,R);return b.create(M)}}class Zd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=Zu(_,C,E);return b.create(y)}}class zd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C)||vt(_,C,E)<0)return g.create(h.NUM);const p=er(_,C,E);return b.create(p)}}class Jd extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:b.create(0),{isError:a,errorObject:u,variants:l}=q(e,t,r,s);if(a)return u;const[c,f,m,d]=l,_=G(c);if(typeof _!="number")return _;const C=G(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),R=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(R))return g.create(h.VALUE);if(![1,2,4].includes(E)||R<0||R>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);let y=vt(_,C,E);return y<0&&(y=0),b.create(y)}}class e1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:u,errorObject:l,variants:c}=q(e,t,r,n,s,a);if(u)return l;const[f,m,d,_,C,E]=c,R=+f.getValue(),y=+m.getValue(),p=+d.getValue(),N=+_.getValue(),M=+C.getValue(),D=+E.getValue();return Number.isNaN(R)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)?g.create(h.VALUE):R<=0||y<=0||p<=0||N<1||M<1||N>M||N>y||M>y||![0,1].includes(D)?g.create(h.NUM):Math.trunc(N)!==N&&Math.trunc(M)!==M&&Math.trunc(N)===Math.trunc(M)?b.create(0):this._getResult(R,y,p,N,M,D)}_getResult(e,t,r,n,s,a){const u=Xr(e,t,r,0,a);let l=0,c=Math.ceil(n);c===1&&(a===0&&(l=-r),c++);let f=!1;for(let m=c;m<=s;m++){const d=a===1?tr(e,m-2,u,r,1):tr(e,m-1,u,r,0);if(d===0){f=!0;break}l+=a===1?d-u:d}return l*=e,(l<u*(s-n+1)||f)&&(l=u*(s-n+1)),b.create(l)}}class t1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:u,errorObject:l,variants:c}=q(e,t,r,n,s,a);if(u)return l;const[f,m,d,_,C,E]=c,R=+f.getValue(),y=+m.getValue(),p=+d.getValue(),N=+_.getValue(),M=+C.getValue(),D=+E.getValue();return Number.isNaN(R)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)?g.create(h.VALUE):R<=0||y<=0||p<=0||N<1||M<1||N>M||![0,1].includes(D)?g.create(h.NUM):Math.trunc(N)!==N&&Math.trunc(M)!==M&&Math.trunc(N)===Math.trunc(M)?b.create(0):this._getResult(R,y,p,N,M,D)}_getResult(e,t,r,n,s,a){const u=Xr(e,t,r,0,a);let l=0,c=Math.ceil(n);c===1&&(l=a===0?u+r*e:u,c++);for(let f=c;f<=s;f++)l+=a===1?u-(tr(e,f-2,u,r,1)-u)*e:u-tr(e,f-1,u,r,0)*e;return b.create(l)}}class r1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(12);a.isNull()&&(a=b.create(12));const u=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(u,l,e,g.create(h.NA)),f=O(u,l,t,g.create(h.NA)),m=O(u,l,r,g.create(h.NA)),d=O(u,l,n,g.create(h.NA)),_=O(u,l,a,g.create(h.NA)),C=c.map((E,R,y)=>{const p=f.get(R,y),N=m.get(R,y),M=d.get(R,y),D=_.get(R,y),{isError:L,errorObject:P,variants:j}=B(E,p,N,M,D);if(L)return P;const[I,v,Y,Q,se]=j,te=+I.getValue(),W=+v.getValue(),fe=+Y.getValue();let Ce=+Q.getValue();const pe=Math.floor(+se.getValue());return te<0||W<0||fe<=0||Ce<=0||Math.floor(Ce)>Math.floor(fe)||pe<1||pe>12?g.create(h.NUM):(Ce<1&&(Ce=1),Ce=Math.floor(Ce),this._getResult(te,W,fe,Ce,pe,R,y))});return u===1&&l===1?C.get(0,0):C}_getResult(e,t,r,n,s,a,u){const l=+(1-(t/e)**(1/r)).toFixed(3),c=e*l*s/12;let f=c,m=0;const d=n===r?r-1:n;for(let C=2;C<=d;C++)m=(e-f)*l,f+=m;let _;return n===1?_=c:n===r?_=(e-f)*l:_=m,Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):a===0&&u===0?b.create(_,We(this.getLocale())):b.create(_)}}class n1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(2);a.isNull()&&(a=b.create(2));const u=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(u,l,e,g.create(h.NA)),f=O(u,l,t,g.create(h.NA)),m=O(u,l,r,g.create(h.NA)),d=O(u,l,n,g.create(h.NA)),_=O(u,l,a,g.create(h.NA)),C=c.map((E,R,y)=>{const p=f.get(R,y),N=m.get(R,y),M=d.get(R,y),D=_.get(R,y),{isError:L,errorObject:P,variants:j}=B(E,p,N,M,D);if(L)return P;const[I,v,Y,Q,se]=j,te=+I.getValue(),W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue();if(te<0||W<0||fe<=0||Ce<=0||Ce>fe||pe<=0)return g.create(h.NUM);const Ve=Ya(te,W,fe,Ce,pe);return Number.isNaN(Ve)||!Number.isFinite(Ve)?g.create(h.NUM):R===0&&y===0?b.create(Ve,We(this.getLocale())):b.create(Ve)});return u===1&&l===1?C.get(0,0):C}}class s1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:u,errorObject:l,variants:c}=q(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||Math.floor(E)>=Math.floor(R))return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=(p-y)/p*(D/M);return b.create(L)}}class a1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);if(c>=0&&c<1)return g.create(h.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let f=Number.parseInt(`${l}`,10);f+=l%1*10**Math.ceil(Math.log(c)/Math.LN10)/c;const m=10**(Math.ceil(Math.log(c)/Math.LN2)+1);return f=Math.round(f*m)/m,b.create(f)}}class i1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c<0)return g.create(h.NUM);if(c>=0&&c<1)return g.create(h.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let f=Number.parseInt(`${l}`,10);return f+=l%1*10**-Math.ceil(Math.log(c)/Math.LN10)*c,b.create(f)}}class o1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=+_.getValue(),M=+C.getValue(),D=Math.floor(+E.getValue()),L=Math.floor(+R.getValue());if(Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);if(N<0||M<0||![1,2,4].includes(D)||L<0||L>4||Math.floor(y)>=Math.floor(p)||y<=0||p<=366)return g.create(h.NUM);const P=zu(y,p,N,M,D,L);return b.create(P)}}class u1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(l<=0||c<1)return g.create(h.NUM);c=Number.parseInt(`${c}`,10);const f=(1+l/c)**c-1;return b.create(f)}}class l1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue(),Ve=+te.getValue(),de=tr(W,fe,Ce,pe,Ve?1:0);return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&p===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class c1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e);if(r)return n;const[a]=s,u=+a.getValue();if(Number.isNaN(u))return g.create(h.VALUE);let l=u;if(t.isArray()){const c=t.getArrayValue().flat();for(let f=0;f<c.length;f++){const m=c[f];if(m.isBoolean())return g.create(h.VALUE);const d=+m.getValue();if(Number.isNaN(d))return g.create(h.VALUE);l*=1+d}}else{if(t.isBoolean())return g.create(h.VALUE);const c=+t.getValue();if(Number.isNaN(c))return g.create(h.VALUE);l*=1+c}return b.create(l)}}class f1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:b.create(0),{isError:u,errorObject:l,variants:c}=q(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||Math.floor(E)>=Math.floor(R))return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=(p-y)/y*(D/M);return b.create(L)}}class m1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const u=s!=null?s:b.create(0),l=a!=null?a:b.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,r,g.create(h.NA)),C=O(c,f,n,g.create(h.NA)),E=O(c,f,u,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.map((p,N,M)=>{const D=d.get(N,M),L=_.get(N,M),P=C.get(N,M),j=E.get(N,M),I=R.get(N,M),{isError:v,errorObject:Y,variants:Q}=B(p,D,L,P,j,I);if(v)return Y;const[se,te,W,fe,Ce,pe]=Q,Ve=+se.getValue(),de=+te.getValue(),Be=+W.getValue(),Et=+fe.getValue(),It=+Ce.getValue(),Ft=+pe.getValue();if(de<1||Math.floor(de)>Math.ceil(Be))return g.create(h.NUM);const lt=Ju(Ve,de,Be,Et,It,Ft?1:0);return Number.isNaN(lt)||!Number.isFinite(lt)?g.create(h.NUM):N===0&&M===0?b.create(lt,We(this.getLocale())):b.create(lt)});return c===1&&f===1?y.get(0,0):y}}class h1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:b.create(.1);return r.isNull()&&(r=b.create(.1)),r.isArray()?r.map((n,s,a)=>this._handleSingleObject(e,n,s,a)):this._handleSingleObject(e,r)}_handleSingleObject(e,t,r=0,n=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return g.create(h.VALUE);if(!e.isArray())return g.create(h.NUM);const{_values:s,valuesHasError:a}=this._getValues(e);if(a)return g.create(h.VALUE);let u=t;if(u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()))return u;const l=+u.getValue(),{positive:c,negative:f}=this._checkValues(s);if(!c||!f)return g.create(h.NUM);const m=$a(l,d=>el(d,s));return typeof m!="number"?m:r===0&&n===0?b.create(m,"0%"):b.create(m)}_getValues(e){const t=[];let r=!1;return e.iterator(n=>{const s=n;if(s.isError())return r=!0,!1;if(s.isNull()||s.isBoolean()||s.isString()&&s.getValue()==="")return!0;const a=+s.getValue();if(Number.isNaN(a))return!0;t.push(a)}),{_values:t,valuesHasError:r}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}}class g1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.map((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C),{isError:p,errorObject:N,variants:M}=B(d,E,R,y);if(p)return N;const[D,L,P,j]=M,I=+D.getValue(),v=+L.getValue(),Y=+P.getValue(),Q=+j.getValue();if(Y===0)return g.create(h.DIV_BY_ZERO);const se=Q*I*(v/Y-1);return b.create(se)});return s===1&&a===1?m.get(0,0):m}}class d1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=+_.getValue(),M=+C.getValue(),D=Math.floor(+E.getValue()),L=Math.floor(+R.getValue());if(Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);if(N<0||M<0||![1,2,4].includes(D)||L<0||L>4||Math.floor(y)>=Math.floor(p))return g.create(h.NUM);let P=zu(y,p,N,M,D,L);return P/=1+M/D,b.create(P)}}class C1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{_values:n,numberValues:s,positive:a,negative:u}=this._getValues(e),l=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=O(l,c,t,g.create(h.NA)),m=O(l,c,r,g.create(h.NA)),d=f.map((_,C,E)=>{const R=m.get(C,E);if(e.isError())return e;if(R.isError())return R;if(n.isError())return n;if(!a||!u)return g.create(h.DIV_BY_ZERO);const y=+_.getValue(),p=+R.getValue();if(Number.isNaN(y)||Number.isNaN(p))return g.create(h.VALUE);if(p===-1)return g.create(h.DIV_BY_ZERO);const N=this._getResult(s,y,p);return C===0&&E===0?b.create(N,"0%"):b.create(N)});return l===1&&c===1?d.get(0,0):d}_getValues(e){let t=e,r=[],n=!1,s=!1;if(!e.isError())if(e.isNull())t=g.create(h.VALUE);else if(!e.isArray())t=g.create(h.DIV_BY_ZERO);else{const{numberValues:a,valuesHasError:u,errorObject:l,positive:c,negative:f}=this._checkValues(e);u&&(t=l),r=a,n=c,s=f}return{_values:t,numberValues:r,positive:n,negative:s}}_checkValues(e){const t=[];let r=!1,n=g.create(h.VALUE),s=!1,a=!1;return e.iterator(u=>{const l=u;if(l.isError())return r=!0,n=l,!1;if(l.isNull()||l.isBoolean()||l.isString()&&l.getValue()==="")return!0;const c=+l.getValue();if(Number.isNaN(c))return!0;c>0&&(s=!0),c<0&&(a=!0),t.push(c)}),{numberValues:t,valuesHasError:r,errorObject:n,positive:s,negative:a}}_getResult(e,t,r){const n=e.length,s=[],a=[];for(let d=0;d<n;d++)e[d]>0?a.push(e[d]):e[d]<0&&s.push(e[d]);const u=this._npv(r,e,"positive"),l=this._npv(t,e,"negative"),c=-u*(1+r)**n,f=l*(1+t);return(c/f)**(1/(n-1))-1}_npv(e,t,r){let n=0;for(let s=1;s<=t.length;s++){const a=t[s-1];(r==="positive"&&a>0||r==="negative"&&a<0)&&(n+=a/(1+e)**s)}return n}}class _1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue();let c=Math.floor(+u.getValue());if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(l<=0||c<1)return g.create(h.NUM);c=Number.parseInt(`${c}`,10);const f=((l+1)**(1/c)-1)*c;return b.create(f)}}class A1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue();let Ve=+te.getValue();if(Ve=Ve?1:0,W===0&&fe===0)return g.create(h.DIV_BY_ZERO);let de;if(W===0)de=-(Ce+pe)/fe;else{const Be=fe*(1+W*Ve)-pe*W,Et=Ce*W+fe*(1+W*Ve);de=Math.log(Be/Et)/Math.log(1+W)}return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class E1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsLocale",!0)}calculate(e,...t){if(e.isError())return e;const{isError:r,errorObject:n,values:s}=this._getValues(t);return e.isArray()?e.map((a,u,l)=>this._handleSingleObject(a,r,n,s,u,l)):this._handleSingleObject(e,r,n,s)}_handleSingleObject(e,t,r,n,s=0,a=0){let u=e;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(t)return r;const l=+e.getValue(),c=el(l,n);return Number.isNaN(c)||Math.abs(c)===1/0?g.create(h.DIV_BY_ZERO):s===0&&a===0?b.create(c,We(this.getLocale())):b.create(c)}_getValues(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return{isError:!0,errorObject:n};if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(u=>{const l=u;if(l.isError())return s=!0,a=l,!1;if(l.isNull()||l.isBoolean()||l.isString()&&l.getValue()==="")return!0;const c=+l.getValue();if(Number.isNaN(c))return!0;t.push(c)}),s)return{isError:s,errorObject:a}}else{const s=+n.getValue();if(Number.isNaN(s))return{isError:!0,errorObject:g.create(h.VALUE)};t.push(s)}}return{isError:!1,values:t}}}class R1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,u,l,c){let f=c!=null?c:b.create(0);f.isNull()&&(f=b.create(0));const{isError:m,errorObject:d,variants:_}=Fe(e,t,r,n,s,a,u,l,f);if(m)return d;const[C,E,R,y,p,N,M,D,L]=_,P=G(C);if(typeof P!="number")return P;const j=G(E);if(typeof j!="number")return j;const I=G(R);if(typeof I!="number")return I;const v=G(y);if(typeof v!="number")return v;const Y=+p.getValue(),Q=+N.getValue(),se=+M.getValue(),te=Math.floor(+D.getValue()),W=Math.floor(+L.getValue());if(Number.isNaN(Y)||Number.isNaN(Q)||Number.isNaN(se)||Number.isNaN(te)||Number.isNaN(W))return g.create(h.VALUE);if(Y<0||Q<0||se<=0||![1,2,4].includes(te)||W<0||W>4||!this._validDate(j,v,P,I,te))return g.create(h.NUM);const fe=tl(P,j,I,v,Y,Q,se,te,W);return b.create(fe)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&rl(e,t,s)&&Nr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}}class y1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,u,l,c){let f=c!=null?c:b.create(0);f.isNull()&&(f=b.create(0));const{isError:m,errorObject:d,variants:_}=Fe(e,t,r,n,s,a,u,l,f);if(m)return d;const[C,E,R,y,p,N,M,D,L]=_,P=G(C);if(typeof P!="number")return P;const j=G(E);if(typeof j!="number")return j;const I=G(R);if(typeof I!="number")return I;const v=G(y);if(typeof v!="number")return v;const Y=+p.getValue(),Q=+N.getValue(),se=+M.getValue(),te=Math.floor(+D.getValue()),W=Math.floor(+L.getValue());return Number.isNaN(Y)||Number.isNaN(Q)||Number.isNaN(se)||Number.isNaN(te)||Number.isNaN(W)?g.create(h.VALUE):Y<0||Q<=0||se<=0||![1,2,4].includes(te)||W<0||W>4||!this._validDate(j,v,P,I,te)?g.create(h.NUM):this._getResult(P,j,I,v,Y,Q,se,te,W)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&rl(e,t,s)&&Nr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}_getResult(e,t,r,n,s,a,u,l,c){const{days:f}=_e(e,t,c),m=(s*f*100-(a-100))/((a-100)*.25*(1+2*f)+f*100);function d(C){return a-tl(e,t,r,n,s,C,u,l,c)}const _=$a(m,C=>d(C));return typeof _!="number"?_:b.create(_)}}class b1 extends V{constructor(){super(...arguments);A(this,"minParams",7);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,u,l){let c=l!=null?l:b.create(0);c.isNull()&&(c=b.create(0));const{isError:f,errorObject:m,variants:d}=Fe(e,t,r,n,s,a,u,c);if(f)return m;const[_,C,E,R,y,p,N,M]=d,D=G(_);if(typeof D!="number")return D;const L=G(C);if(typeof L!="number")return L;const P=G(E);if(typeof P!="number")return P;const j=+R.getValue(),I=+y.getValue(),v=+p.getValue(),Y=Math.floor(+N.getValue()),Q=Math.floor(+M.getValue());if(Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q))return g.create(h.VALUE);if(j<0||I<0||v<=0||![1,2,4].includes(Y)||Q<0||Q>4||!this._validDate(L,D,P,Y))return g.create(h.NUM);const se=this._getResult(D,L,P,j,I,v,Y,Q);return b.create(se)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Nr(r,e,n)}_getResult(e,t,r,n,s,a,u,l){const c=this._getCoupDate(t,r,u),f=this._getFrac(r,e,c,u,l),m=this._getFrac(r,t,c,u,l),d=this._getFrac(e,t,c,u,l);return(a*u+100*n*(m-f*(1+s*d/u)))/(s*d+u)}_getCoupDate(e,t,r){const n=ae(e),s=ae(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return Re(s)}_getFrac(e,t,r,n,s){const a=ae(e),u=ae(t),l=ae(r);for(l.setUTCFullYear(a.getUTCFullYear()),l<a&&l.setUTCFullYear(l.getUTCFullYear()+1);l>a;)l.setUTCMonth(l.getUTCMonth()-12/n);let c=Re(l);l.setUTCMonth(l.getUTCMonth()+12/n);let f=Re(l);if(f>=t){const{days:p}=_e(e,t,s),N=Xe(c,f,n,s);return p/N}const{days:m}=_e(e,f,s),d=Xe(c,f,n,s);let _=m/d;const C=ae(f),E=ae(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<u;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;c=Re(C),f=Re(E);const{days:R}=_e(c,t,s),y=Xe(c,f,n,s);return _+=R/y,_}}class p1 extends V{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,u,l){let c=l!=null?l:b.create(0);c.isNull()&&(c=b.create(0));const{isError:f,errorObject:m,variants:d}=Fe(e,t,r,n,s,a,u,c);if(f)return m;const[_,C,E,R,y,p,N,M]=d,D=G(_);if(typeof D!="number")return D;const L=G(C);if(typeof L!="number")return L;const P=G(E);if(typeof P!="number")return P;const j=+R.getValue(),I=+y.getValue(),v=+p.getValue(),Y=Math.floor(+N.getValue()),Q=Math.floor(+M.getValue());if(Number.isNaN(j)||Number.isNaN(I)||Number.isNaN(v)||Number.isNaN(Y)||Number.isNaN(Q))return g.create(h.VALUE);if(j<0||I<=0||v<=0||![1,2,4].includes(Y)||Q<0||Q>4||!this._validDate(L,D,P,Y))return g.create(h.NUM);const se=this._getResult(D,L,P,j,I,v,Y,Q);return b.create(se)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Nr(r,e,n)}_getResult(e,t,r,n,s,a,u,l){const c=this._getCoupDate(t,r,u),f=this._getFrac(r,e,c,u,l),m=this._getFrac(r,t,c,u,l),d=this._getFrac(e,t,c,u,l);return(u*(a-s)+100*n*(m-f))/(d*s+100*n*f*d/u)}_getCoupDate(e,t,r){const n=ae(e),s=ae(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return Re(s)}_getFrac(e,t,r,n,s){const a=ae(e),u=ae(t),l=ae(r);for(l.setUTCFullYear(a.getUTCFullYear()),l<a&&l.setUTCFullYear(l.getUTCFullYear()+1);l>a;)l.setUTCMonth(l.getUTCMonth()-12/n);let c=Re(l);l.setUTCMonth(l.getUTCMonth()+12/n);let f=Re(l);if(f>=t){const{days:p}=_e(e,t,s),N=Xe(c,f,n,s);return p/N}const{days:m}=_e(e,f,s),d=Xe(c,f,n,s);let _=m/d;const C=ae(f),E=ae(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<u;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;c=Re(C),f=Re(E);const{days:R}=_e(c,t,s),y=Xe(c,f,n,s);return _+=R/y,_}}class N1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d),{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=+M.getValue();if(D<=-1)return g.create(h.NUM);const j=(Math.log(P)-Math.log(L))/Math.log(1+D);return Number.isNaN(j)||!Number.isFinite(j)?g.create(h.NUM):b.create(j)});return n===1&&s===1?c.get(0,0):c}}class V1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue(),Ve=+te.getValue();if(W<=-1)return g.create(h.NUM);const de=Xr(W,fe,Ce,pe,Ve?1:0);return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&p===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class O1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const u=s!=null?s:b.create(0),l=a!=null?a:b.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,r,g.create(h.NA)),C=O(c,f,n,g.create(h.NA)),E=O(c,f,u,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.map((p,N,M)=>{const D=d.get(N,M),L=_.get(N,M),P=C.get(N,M),j=E.get(N,M),I=R.get(N,M),{isError:v,errorObject:Y,variants:Q}=B(p,D,L,P,j,I);if(v)return Y;const[se,te,W,fe,Ce,pe]=Q,Ve=+se.getValue(),de=+te.getValue(),Be=+W.getValue(),Et=+fe.getValue(),It=+Ce.getValue(),Ft=+pe.getValue();if(de<1||Math.floor(de)>Math.ceil(Be)||de-Be>=1)return g.create(h.NUM);const lt=Xr(Ve,Be,Et,It,Ft?1:0)-Ju(Ve,de,Be,Et,It,Ft?1:0);return Number.isNaN(lt)||!Number.isFinite(lt)?g.create(h.NUM):N===0&&M===0?b.create(lt,We(this.getLocale())):b.create(lt)});return c===1&&f===1?y.get(0,0):y}}class S1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,u){let l=u!=null?u:b.create(0);l.isNull()&&(l=b.create(0));const{isError:c,errorObject:f,variants:m}=Fe(e,t,r,n,s,a,l);if(c)return f;const[d,_,C,E,R,y,p]=m,N=G(d);if(typeof N!="number")return N;const M=G(_);if(typeof M!="number")return M;const D=+C.getValue(),L=+E.getValue(),P=+R.getValue(),j=Math.floor(+y.getValue()),I=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I))return g.create(h.VALUE);if(D<0||L<0||P<=0||![1,2,4].includes(j)||I<0||I>4||N>=M||!Nr(N,M,j))return g.create(h.NUM);const v=as(N,M,D,L,P,j,I);return b.create(v)}}class M1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:u,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=p-y*p*M/D;return b.create(L)}}class D1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=G(_);if(typeof N!="number")return N;const M=+C.getValue(),D=+E.getValue(),L=Math.floor(+R.getValue());if(Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);const P=this._getDateCorrectOrder(p,y,N);if(M<0||D<0||L<0||L>4||!P)return g.create(h.NUM);const j=si(y,L),{days:I}=_e(y,p,L),{days:v}=_e(N,p,L),{days:Y}=_e(N,y,L),Q=(100+v/j*M*100)/(1+I/j*D)-Y/j*M*100;return b.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}class w1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:b.create(0),u=s!=null?s:b.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,e,g.create(h.NA)),m=O(l,c,t,g.create(h.NA)),d=O(l,c,r,g.create(h.NA)),_=O(l,c,a,g.create(h.NA)),C=O(l,c,u,g.create(h.NA)),E=f.map((R,y,p)=>{const N=m.get(y,p),M=d.get(y,p),D=_.get(y,p),L=C.get(y,p),{isError:P,errorObject:j,variants:I}=B(R,N,M,D,L);if(P)return j;const[v,Y,Q,se,te]=I,W=+v.getValue(),fe=+Y.getValue(),Ce=+Q.getValue(),pe=+se.getValue();let Ve=+te.getValue();Ve=Ve?1:0;const de=W===0?-Ce*fe-pe:((1-(1+W)**fe)/W*Ce*(1+W*Ve)-pe)/(1+W)**fe;return Number.isNaN(de)||!Number.isFinite(de)?g.create(h.NUM):y===0&&p===0?b.create(de,We(this.getLocale())):b.create(de)});return l===1&&c===1?E.get(0,0):E}}class L1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const u=n!=null?n:b.create(0),l=s!=null?s:b.create(0),c=a!=null?a:b.create(.1),f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,u,g.create(h.NA)),R=O(f,m,l,g.create(h.NA)),y=O(f,m,c,g.create(h.NA)),p=d.map((N,M,D)=>{const L=_.get(M,D),P=C.get(M,D),j=E.get(M,D),I=R.get(M,D),v=y.get(M,D),{isError:Y,errorObject:Q,variants:se}=B(N,L,P,j,I,v);if(Y)return Q;const[te,W,fe,Ce,pe,Ve]=se,de=+te.getValue(),Be=+W.getValue(),Et=+fe.getValue(),It=+Ce.getValue();let Ft=+pe.getValue();const lt=+Ve.getValue();if(Ft=Ft?1:0,de<=0)return g.create(h.NUM);const HR=Be>=0&&Et>=0&&It>=0,GR=Be<=0&&Et<=0&&It<=0;return HR||GR?g.create(h.NUM):this._getResult(de,Be,Et,It,Ft,lt,M,D)});return f===1&&m===1?p.get(0,0):p}_getResult(e,t,r,n,s,a,u,l){if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,r,n,u,l);let m=a,d=Number.POSITIVE_INFINITY;for(let _=0;_<100;_++){if(m<=-1)return g.create(h.NUM);const{value:C,derivative:E}=this._evaluateRateFunction(m,e,t,r,n,s,1e-10),R=Math.abs(C);if(R<1e-10||Math.abs(E)<1e-14)break;const y=this._getAdaptiveDampedStep(C,E,R,d);m-=y,d=R}return!Number.isFinite(m)||m<=-1?g.create(h.NUM):b.create(m,u===0&&l===0?"0%":void 0)}_computeSimpleGrowthRate(e,t,r,n,s){if(Math.sign(t)===Math.sign(r))return g.create(h.NUM);const a=(r/-t)**(1/e)-1;return b.create(a,n===0&&s===0?"0%":void 0)}_evaluateRateFunction(e,t,r,n,s,a,u){let l,c,f;if(Math.abs(e)<u)l=n*(1+t*e)+r*(1+e*a)*t+s,c=n*t+r*a*t;else{f=(1+e)**t,l=n*f+r*(1/e+a)*(f-1)+s;const m=t*(1+e)**(t-1);c=n*m+r*(1/e+a)*m+r*(-1/(e*e))*(f-1)}return{value:l,derivative:c}}_getAdaptiveDampedStep(e,t,r,n){const s=e/t;return r>.001||r>=n*.9?Math.max(Math.min(s,5),-5):Math.max(Math.min(s,.5),-.5)}}class P1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:u,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=y/(1-p*M/D);return L<0?g.create(h.NUM):b.create(L)}}class j1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d),{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=+M.getValue();if(D<=0)return g.create(h.NUM);if(L===0&&P===0)return b.create(0);const j=(P/L)**(1/D)-1;return Number.isNaN(j)||!Number.isFinite(j)||P/L<0?g.create(h.NUM):b.create(j)});return n===1&&s===1?c.get(0,0):c}}class T1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.map((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(_.isError())return _;if(C.isError())return C;const E=+f.getValue(),R=+_.getValue(),y=+C.getValue();if(Number.isNaN(E)||Number.isNaN(R)||Number.isNaN(y))return g.create(h.VALUE);if(y===0)return g.create(h.DIV_BY_ZERO);const p=(E-R)/y;return m===0&&d===0?b.create(p,We(this.getLocale())):b.create(p)});return n===1&&s===1?c.get(0,0):c}}class U1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4);A(this,"needsLocale",!0)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.map((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);if(E.isError())return E;if(R.isError())return R;if(y.isError())return y;const p=+d.getValue(),N=+E.getValue(),M=+R.getValue(),D=+y.getValue();if(Number.isNaN(p)||Number.isNaN(N)||Number.isNaN(M)||Number.isNaN(D))return g.create(h.VALUE);if(N<0||M<=0||D>M)return g.create(h.NUM);const L=(p-N)*(M-D+1)*2/(M*(M+1));return _===0&&C===0?b.create(L,We(this.getLocale())):b.create(L)});return s===1&&a===1?m.get(0,0):m}}class x1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[u,l,c]=a,f=G(u);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ae(f).getUTCFullYear(),R=an(E);if(_>R)return g.create(h.NUM);let y=365*d/(360-d*_);if(_>182){const p=100*(1-d*_/360),N=_/365;if(y=(-N+Math.sqrt(N*N-(N*2-1)*(1-100/p)))/(N-.5),Number.isNaN(y))return g.create(h.NUM)}return y<0?g.create(h.NUM):b.create(y)}}class v1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[u,l,c]=a,f=G(u);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ae(f).getUTCFullYear(),R=an(E);if(_>R)return g.create(h.NUM);const y=100*(1-d*_/360);return y<0?g.create(h.NUM):b.create(y,We(this.getLocale()))}}class I1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Fe(e,t,r);if(n)return s;const[u,l,c]=a,f=G(u);if(typeof f!="number")return f;const m=G(l);if(typeof m!="number")return m;const d=+c.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ae(f).getUTCFullYear(),R=an(E);if(_>R)return g.create(h.NUM);const y=(100-d)/d*360/_;return b.create(y)}}class F1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",7);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a,u){let l=a!=null?a:b.create(2);l.isNull()&&(l=b.create(2));let c=u!=null?u:F.create(!1);c.isNull()&&(c=F.create(!1));const f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,n,g.create(h.NA)),R=O(f,m,s,g.create(h.NA)),y=O(f,m,l,g.create(h.NA)),p=O(f,m,c,g.create(h.NA));return this._getResultArray(d,_,C,E,R,y,p,f,m)}_getResultArray(e,t,r,n,s,a,u,l,c){const f=e.map((m,d,_)=>{const C=t.get(d,_),E=r.get(d,_),R=n.get(d,_),y=s.get(d,_),p=a.get(d,_),N=u.get(d,_),{isError:M,errorObject:D,variants:L}=B(m,C,E,R,y,p,N);if(M)return D;const[P,j,I,v,Y,Q,se]=L,te=+P.getValue(),W=+j.getValue(),fe=+I.getValue(),Ce=+v.getValue(),pe=+Y.getValue(),Ve=+Q.getValue(),de=+se.getValue();if(te<0||W<0||fe<0||Ce<0||pe<0||pe>fe||Ce>pe||Ve<0)return g.create(h.NUM);if(fe===0&&Ce===0&&pe===0)return g.create(h.DIV_BY_ZERO);const Be=this._getResult(te,W,fe,Ce,pe,Ve,de);return d===0&&_===0?b.create(Be,We(this.getLocale())):b.create(Be)});return l===1&&c===1?f.get(0,0):f}_getResult(e,t,r,n,s,a,u){const l=Math.floor(n),c=Math.ceil(s);let f=0;if(e<t){if(n>=1||u)return f;const m=Math.abs(e-t);return f=m*(s-n)>m?m:m*(s-n),-f}if(u)for(let m=l+1;m<=c;m++){let d=Ya(e,t,r,m,a);m===l+1?d*=Math.min(s,l+1)-n:m===c&&(d*=s+1-c),f+=d}else{const m=e-this._getVdb(e,t,r,r,n,a);f=this._getVdb(m,t,r,r-n,s-n,a)}return f}_getVdb(e,t,r,n,s,a){const u=Math.ceil(s);let l=0,c=e-t,f=0,m=0,d=!1;for(let _=1;_<=u;_++){if(d)m=f;else{const C=Ya(e,t,r,_,a);f=c/(n-(_-1)),f>C?(m=f,d=!0):(m=C,c-=C)}_===u&&(m*=s+1-u),l+=m}return l}}class B1 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:n,errorObejct:s,_values:a,_dates:u}=this._checkErrors(e,t);if(n)return s;let l=r!=null?r:b.create(.1);l.isNull()&&(l=b.create(.1));const{isError:c,errorObject:f,variants:m}=q(l);if(c)return f;const[d]=m,_=+d.getValue();if(Number.isNaN(_))return g.create(h.VALUE);const{positive:C,negative:E}=this._checkValues(a);if(!C||!E||(a==null?void 0:a.length)!==(u==null?void 0:u.length)||_<0)return g.create(h.NUM);const R=$a(_,y=>this._iterF(a,u,y));return typeof R!="number"?R:b.create(R)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:u,_dates:l}=this._checkErrorDates(t);return a?{isError:a,errorObejct:u}:{isError:!1,_values:s,_dates:l}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const u=+a.getValue();if(Number.isNaN(u))return r=!0,n=g.create(h.VALUE),!1;t.push(u)}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_values:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!S.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{if(s!=null&&s.isError())return r=!0,n=s,!1;if(s!=null&&s.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const a=+s.getValue();if(Number.isNaN(a))return r=!0,n=g.create(h.VALUE),!1;if(a<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(a))}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_dates:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!S.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}_iterF(e,t,r){return e.reduce((n,s,a)=>n+s/(1+r)**((t[a]-t[0])/365),0)}}class k1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull()||r.isNull())return g.create(h.NA);const{isError:n,errorObject:s,variants:a}=q(e);if(n)return s;const[u]=a,l=+u.getValue();if(Number.isNaN(l))return g.create(h.VALUE);let{isError:c,errorObejct:f,_values:m,_dates:d}=this._checkErrors(t,r);if(c)return f;if(m=m,d=d,l<0||m.length!==d.length)return g.create(h.NUM);let _=0;const C=d[0];for(let E=0;E<d.length;E++){const R=d[E],y=m[E];_+=y/(1+l)**((R-C)/365)}return b.create(_)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:u,_dates:l}=this._checkErrorDates(t);return a?{isError:a,errorObejct:u}:{isError:!1,_values:s,_dates:l}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean()||a.isString()&&a.getValue()==="")return r=!0,n=g.create(h.VALUE),!1;const u=+a.getValue();if(Number.isNaN(u))return r=!0,n=g.create(h.VALUE),!1;t.push(u)}),r?{isError:r,errorObejct:n}:{isError:r,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!1,_values:[r]}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const u=+a.getValue();if(Number.isNaN(u))return r=!0,n=g.create(h.VALUE),!1;if(u<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(u))}),r?{isError:r,errorObejct:n}:{isError:r,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!1,_dates:[Math.floor(r)]}}}}class $1 extends V{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,u){let l=u!=null?u:b.create(0);l.isNull()&&(l=b.create(0));const{isError:c,errorObject:f,variants:m}=Fe(e,t,r,n,s,a,l);if(c)return f;const[d,_,C,E,R,y,p]=m,N=G(d);if(typeof N!="number")return N;const M=G(_);if(typeof M!="number")return M;const D=+C.getValue(),L=+E.getValue(),P=+R.getValue(),j=Math.floor(+y.getValue()),I=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(L)||Number.isNaN(P)||Number.isNaN(j)||Number.isNaN(I))return g.create(h.VALUE);if(D<0||L<=0||P<=0||![1,2,4].includes(j)||I<0||I>4||N>=M||!Nr(N,M,j))return g.create(h.NUM);const v=this._getResult(N,M,D,L,P,j,I);return b.create(v)}_getResult(e,t,r,n,s,a,u){if(er(e,t,a)>1){let E=r||.01,R=as(e,t,r,E,s,a,u),y=R-n;for(let p=0;p<100&&Math.abs(y)>1e-7;p++)R=as(e,t,r,1.01*E,s,a,u),E+=-y/(R-n-y)*E*.01,y=as(e,t,r,E,s,a,u)-n;return E}const c=ss(e,t,a,u),f=Xe(e,t,a,u),{days:m}=_e(e,t,u),d=n/100+c/f*r/a;return(s/100+r/a-d)/d*a*f/m}}class Y1 extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:b.create(0);a.isNull()&&(a=b.create(0));const{isError:u,errorObject:l,variants:c}=Fe(e,t,r,n,a);if(u)return l;const[f,m,d,_,C]=c,E=G(f);if(typeof E!="number")return E;const R=G(m);if(typeof R!="number")return R;const y=+d.getValue(),p=+_.getValue(),N=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);if(y<=0||p<=0||N<0||N>4||E>=R)return g.create(h.NUM);const{days:M,yearDays:D}=_e(E,R,N),L=(p/y-1)/(M/D);return b.create(L)}}class H1 extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=a!=null?a:b.create(0);u.isNull()&&(u=b.create(0));const{isError:l,errorObject:c,variants:f}=Fe(e,t,r,n,s,u);if(l)return c;const[m,d,_,C,E,R]=f,y=G(m);if(typeof y!="number")return y;const p=G(d);if(typeof p!="number")return p;const N=G(_);if(typeof N!="number")return N;const M=+C.getValue(),D=+E.getValue(),L=Math.floor(+R.getValue());if(Number.isNaN(M)||Number.isNaN(D)||Number.isNaN(L))return g.create(h.VALUE);const P=this._getDateCorrectOrder(p,y,N);if(M<0||D<=0||L<0||L>4||!P)return g.create(h.NUM);const j=si(y,L),{days:I}=_e(y,p,L),{days:v}=_e(N,p,L),{days:Y}=_e(N,y,L),Q=((1+v/j*M)/(D/100+Y/j*M)-1)/(I/j);return b.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}const nl=[[Gd,ee.ACCRINT],[Wd,ee.ACCRINTM],[Qd,ee.AMORLINC],[qd,ee.COUPDAYBS],[Xd,ee.COUPDAYS],[Kd,ee.COUPDAYSNC],[Zd,ee.COUPNCD],[zd,ee.COUPNUM],[Jd,ee.COUPPCD],[e1,ee.CUMIPMT],[t1,ee.CUMPRINC],[r1,ee.DB],[n1,ee.DDB],[s1,ee.DISC],[a1,ee.DOLLARDE],[i1,ee.DOLLARFR],[o1,ee.DURATION],[u1,ee.EFFECT],[l1,ee.FV],[c1,ee.FVSCHEDULE],[f1,ee.INTRATE],[m1,ee.IPMT],[h1,ee.IRR],[g1,ee.ISPMT],[d1,ee.MDURATION],[C1,ee.MIRR],[_1,ee.NOMINAL],[A1,ee.NPER],[E1,ee.NPV],[R1,ee.ODDFPRICE],[y1,ee.ODDFYIELD],[b1,ee.ODDLPRICE],[p1,ee.ODDLYIELD],[N1,ee.PDURATION],[V1,ee.PMT],[O1,ee.PPMT],[S1,ee.PRICE],[M1,ee.PRICEDISC],[D1,ee.PRICEMAT],[w1,ee.PV],[L1,ee.RATE],[P1,ee.RECEIVED],[j1,ee.RRI],[T1,ee.SLN],[U1,ee.SYD],[x1,ee.TBILLEQ],[v1,ee.TBILLPRICE],[I1,ee.TBILLYIELD],[F1,ee.VDB],[B1,ee.XIRR],[k1,ee.XNPV],[$1,ee.YIELD],[Y1,ee.YIELDDISC],[H1,ee.YIELDMAT]];class G1 extends V{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),r.isArray()){const n=r.getRowCount(),s=r.getColumnCount();if(n===1&&s===1){const a=r.get(0,0);return this._handleSingleObject(a,t)}return r.map(a=>a.isError()?a:this._handleSingleObject(a,t,!0))}return this._handleSingleObject(r,t)}_handleSingleObject(e,t,r=!1){let n=t;if(n.isError())return n;if(!n.isReferenceObject())return g.create(h.NA);const s=n.getCurrentActiveSheetData(),{columnData:a,defaultColumnWidth:u}=s;n=n.toArrayValueObject();const l=n.getCurrentRow(),c=n.getCurrentColumn();n=n.getFirstCell();const f=`${e.getValue()}`;let m;switch(f.toLocaleLowerCase()){case"address":return x.create(`$${S.Tools.chatAtABC(c)}$${l+1}`);case"col":return b.create(c+1);case"color":return b.create(0);case"contents":return n;case"filename":return g.create(h.VALUE);case"format":return x.create("G");case"parentheses":return b.create(0);case"prefix":return x.create("");case"protect":return b.create(1);case"row":return b.create(l+1);case"type":return m="v",n.isNull()&&(m="b"),n.isString()&&(m="l"),x.create(m);case"width":return this._getWidthResult(a,u,c,r);default:return g.create(h.VALUE)}}_getWidthResult(e,t,r,n){var u;let s=(u=e[r])==null?void 0:u.w;if(!s&&s!==0&&(s=t),n)return b.create(s);const a=[[s,s===t]];return Z.createByArray(a)}}class W1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"_errorTypeValueMap",new Map([[h.NULL,1],[h.DIV_BY_ZERO,2],[h.VALUE,3],[h.REF,4],[h.NAME,5],[h.NUM,6],[h.NA,7],[h.CONNECT,8],[h.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=e.getValue(),r=this._errorTypeValueMap.get(t);return r?b.create(r):g.create(h.NA)}}var be=(i=>(i.CELL="CELL",i.ERROR_TYPE="ERROR.TYPE",i.INFO="INFO",i.ISBETWEEN="ISBETWEEN",i.ISBLANK="ISBLANK",i.ISDATE="ISDATE",i.ISEMAIL="ISEMAIL",i.ISERR="ISERR",i.ISERROR="ISERROR",i.ISEVEN="ISEVEN",i.ISFORMULA="ISFORMULA",i.ISLOGICAL="ISLOGICAL",i.ISNA="ISNA",i.ISNONTEXT="ISNONTEXT",i.ISNUMBER="ISNUMBER",i.ISODD="ISODD",i.ISOMITTED="ISOMITTED",i.ISREF="ISREF",i.ISTEXT="ISTEXT",i.ISURL="ISURL",i.N="N",i.NA="NA",i.SHEET="SHEET",i.SHEETS="SHEETS",i.TYPE="TYPE",i))(be||{});class Q1 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:F.create(!0),u=s!=null?s:F.create(!0),{isError:l,errorObject:c,variants:f}=Wr(e,t,r,a,u);if(l)return c;const[m,d,_,C,E]=f;if(C.isString()||E.isString())return g.create(h.VALUE);if(d.compare(_,">").getValue()===!0)return g.create(h.NUM);const y=+C.getValue(),p=+E.getValue(),N=y?">=":">",M=p?"<=":"<";return m.compare(d,N).getValue()===!1||m.compare(_,M).getValue()===!1?F.create(!1):F.create(!0)}}class q1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNull()?F.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?F.create(!0):F.create(!1)):F.create(!1)}}class X1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==""?F.create(Es(t.getPattern())):t.isString()&&(tn(`${t.getValue()}`)||rn(`${t.getValue()}`))?F.create(!0):F.create(!1)}}class K1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),u=t.getColumnCount();if(a>1||u>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return F.create(!1);const r=`${t.getValue()}`;if(r.length>254)return F.create(!1);const n=S.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})$`,"i");return F.create(s.test(r))}}class Z1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?F.create(!1):e.isError()?F.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?F.create(!1):t.isError()?F.create(!0):F.create(!1)):F.create(!1)}}class z1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?F.create(!0):e.isArray()?e.mapValue(t=>t.isError()?F.create(!0):F.create(!1)):F.create(!1)}}class J1 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2===0;return F.create(n)}}class e0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){var u;if(e.isError())return e;if(!e.isReferenceObject())return g.create(h.NA);const t=(u=e.getCurrentActiveSheetData())==null?void 0:u.cellData.getMatrix(),{startRow:r,startColumn:n}=e.getRangePosition(),s=e.toArrayValueObject(),a=s.mapValue((l,c,f)=>{var d;const m=(d=t==null?void 0:t[r+c])==null?void 0:d[n+f];return m!=null&&m.f||m!=null&&m.si?F.create(!0):F.create(!1)});return s.getRowCount()===1&&s.getColumnCount()===1?a.get(0,0):a}}class t0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isBoolean()?F.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?F.create(!0):F.create(!1)):F.create(!1)}}class r0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?F.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?F.create(!0):F.create(!1)):F.create(!1)}}class n0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?F.create(!0):e.isArray()?e.mapValue(t=>t.isString()?F.create(!1):F.create(!0)):F.create(!1)}}class s0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNumber()?F.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?F.create(!0):F.create(!1)):F.create(!1)}}class a0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2!==0;return F.create(n)}}class i0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?F.create(!0):F.create(!1)}}class o0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isString()?F.create(!0):e.isArray()?e.mapValue(t=>t.isString()?F.create(!0):F.create(!1)):F.create(!1)}}class u0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),u=t.getColumnCount();if(a>1||u>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return F.create(!1);const r=`${t.getValue()}`.replace(/^\s+|\s+$/g,"");if(r.length>1e3)return F.create(!1);const n=S.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,"i");return F.create(s.test(r))}}class l0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return b.create(0);const r=+t.getValue();return b.create(r)}}class c0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return g.create(h.NA)}}class f0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsSheetsInfo",!0)}calculate(e){var u;if(e!=null&&e.isError())return e;const{sheetOrder:t,sheetNameMap:r}=this.getSheetsInfo();if(!e){const l=t.findIndex(c=>c===this.subUnitId);return b.create(l+1)}if(e.isReferenceObject()){const l=e.getForcedSheetId(),c=e.getDefaultSheetId(),f=t.findIndex(m=>l?m===l:m===c);return b.create(f+1)}if(e.isArray())return g.create(h.NA);const n=`${e.getValue()}`.toLocaleLowerCase(),s=(u=Object.entries(r).find(([l,c])=>c.toLocaleLowerCase()===n))==null?void 0:u[0];if(!s)return g.create(h.NA);const a=t.findIndex(l=>l===s);return b.create(a+1)}}class m0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0);A(this,"needsSheetsInfo",!0)}calculate(){const{sheetOrder:e}=this.getSheetsInfo();return b.create(e.length)}}class h0 extends V{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){const t=e.getRowCount(),r=e.getColumnCount();if(t===1&&r===1){const n=e.getFirstCell();if(n.isError())return b.create(16);if(n.isBoolean())return b.create(4);if(n.isString())return b.create(2);if(n.isNumber()||n.isNull())return b.create(1)}else return b.create(64)}else{if(e.isArray())return b.create(64);if(e.isError())return b.create(16);if(e.isBoolean())return b.create(4);if(e.isString())return b.create(2);if(e.isNumber()||e.isNull())return b.create(1)}return b.create(128)}}const sl=[[G1,be.CELL],[W1,be.ERROR_TYPE],[Q1,be.ISBETWEEN],[q1,be.ISBLANK],[X1,be.ISDATE],[K1,be.ISEMAIL],[Z1,be.ISERR],[z1,be.ISERROR],[J1,be.ISEVEN],[e0,be.ISFORMULA],[t0,be.ISLOGICAL],[r0,be.ISNA],[n0,be.ISNONTEXT],[s0,be.ISNUMBER],[a0,be.ISODD],[i0,be.ISREF],[o0,be.ISTEXT],[u0,be.ISURL],[l0,be.N],[c0,be.NA],[f0,be.SHEET],[m0,be.SHEETS],[h0,be.TYPE]];class g0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t&&!!s.getValue(),r=!1)}return r?g.create(h.VALUE):F.create(t)}}class d0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,u=r.isArray()?r.getColumnCount():1;r=O(a,u,r);const l=[[]];for(let c=0;c<u;c++){const f=[];for(let _=0;_<a;_++){const C=r.get(_,c);f.push([C])}let m=Z.create({calculateValueList:f,rowCount:a,columnCount:1,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_,startColumn:C+c,endRow:_+a-1,endColumn:C+c};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=b.create(0)),l[0].push(d)}return u===1?l[0][0]:Z.create({calculateValueList:l,rowCount:1,columnCount:u,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class C0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,u=r.isArray()?r.getColumnCount():1;r=O(a,u,r);const l=[];for(let c=0;c<a;c++){const f=[[]];for(let _=0;_<u;_++){const C=r.get(c,_);f[0].push(C)}let m=Z.create({calculateValueList:f,rowCount:1,columnCount:u,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_+c,startColumn:C,endRow:_+c,endColumn:C+u-1};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=b.create(0)),l.push([d])}return a===1?l[0][0]:Z.create({calculateValueList:l,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class _0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return F.create(!1)}}var Ee=(i=>(i.AND="AND",i.BYCOL="BYCOL",i.BYROW="BYROW",i.FALSE="FALSE",i.IF="IF",i.IFERROR="IFERROR",i.IFNA="IFNA",i.IFS="IFS",i.LAMBDA="LAMBDA",i.LET="LET",i.MAKEARRAY="MAKEARRAY",i.MAP="MAP",i.NOT="NOT",i.OR="OR",i.REDUCE="REDUCE",i.SCAN="SCAN",i.SWITCH="SWITCH",i.TRUE="TRUE",i.XOR="XOR",i))(Ee||{});class A0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r=F.create(!1)){let n=e;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();f===1&&m===1&&(n=e.get(0,0))}if(!n.isArray())return this._handleSingleObject(n,t,r);const s=Math.max(n.isArray()?n.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),u=O(s,a,n,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA));return u.mapValue((f,m,d)=>{const _=l.get(m,d),C=c.get(m,d);return this._handleSingleObject(f,_,C)})}_handleSingleObject(e,t,r){return e.isError()?e:e.getValue()?t:r}}class E0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((u,l,c)=>{u!=null&&u.isError()&&s.set(l,c,a.get(l,c))}),s}}class R0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==h.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===h.NA?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((u,l,c)=>{u!=null&&u.isError()&&u.getErrorType()===h.NA&&s.set(l,c,a.get(l,c))}),s}}class y0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(...e){if(e.length%2!==0)return g.create(h.NA);for(let a=0;a<e.length;a++)if(e[a].isError())return e[a];const t=Math.max(...e.map(a=>a.isArray()?a.getRowCount():1)),r=Math.max(...e.map(a=>a.isArray()?a.getColumnCount():1)),n=e.map(a=>O(t,r,a,g.create(h.NA))),s=n[0].map((a,u,l)=>{for(let c=0;c<n.length;c+=2){const f=n[c].get(u,l)||ce.create(),m=n[c+1].get(u,l)||ce.create();if(f.isNull())continue;if(f.isError())return f;const d=f.getValue();if(f.isString()){if(`${d}`.toLocaleUpperCase()==="TRUE")return m;if(`${d}`.toLocaleUpperCase()==="FALSE")continue;return g.create(h.VALUE)}if(+d)return m.isNull()?g.create(h.NA):m}return g.create(h.NA)});return t===1&&r===1?s.get(0,0):s}}class b0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class p0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class N0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return g.create(h.VALUE);const n=e[2],s=[];for(let a=0;a<t;a++){s[a]==null&&(s[a]=[]);for(let u=0;u<r;u++){let l=n.execute(b.create(a+1),b.create(u+1));l.isArray()&&(l=l.get(0,0)),s[a][u]=l}}return new Ao(s)}isAsync(){return!0}}let V0=class extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const t=[];let r=null,n=0,s=0;for(let u=0;u<e.length;u++){const l=e[u];let c=l;if(c.isReferenceObject()&&(c=l.toArrayValueObject()),c.isError())return c;if(u===e.length-1){if(!(l.isValueObject()&&l.isLambda()))return g.create(h.VALUE);r=l}else t.push(l),n=Math.max(n,c.isArray()?c.getRowCount():1),s=Math.max(s,c.isArray()?c.getColumnCount():1)}const a=this._getResultArray(t,r,n,s);return a instanceof g?a:n===1&&s===1?a[0][0]:Z.create({calculateValueList:a,rowCount:n,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,r,n){const s=[];for(let a=0;a<r;a++){const u=[];for(let l=0;l<n;l++){const c=[];let f=!1;for(let d=0;d<e.length;d++){let _=e[d],C=null;if(_.isReferenceObject()&&(C=_,_=_.toArrayValueObject()),!_.isArray())if(a===0&&l===0){c.push(C||_);continue}else{u.push(g.create(h.NA)),f=!0;break}let E=_.get(a,l);if(!E){u.push(g.create(h.NA)),f=!0;break}if(C){const{startRow:R,startColumn:y}=C.getRangePosition(),p={startRow:R+a,startColumn:y+l,endRow:R+a,endColumn:y+l};E=this.createReferenceObject(C,p)}c.push(E)}if(f||c.length===0)continue;let m=t.execute(...c);if(m.isArray()){const d=m.getRowCount(),_=m.getColumnCount();if(d>1||_>1)return g.create(h.CALC);m=m.get(0,0)}m.isNull()&&(m=b.create(0)),u.push(m)}s.push(u)}return s}};class O0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=+e.getValue();return Number.isNaN(t)?g.create(h.VALUE):F.create(!t)}}class S0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t||!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t||!!s.getValue(),r=!1)}return r?new g(h.VALUE):new F(t)}}class M0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n,s;e.isReferenceObject()?(n=e.toArrayValueObject(),s=e):(n=e,s=null);let a,u;return t.isReferenceObject()?(a=t.toArrayValueObject(),u=t):(a=t,u=null),n.isArray()?n.mapValue(l=>this._handleSingleValueObject(l,a,r,s,u)):this._handleSingleValueObject(n,a,r,s,u)}_handleSingleValueObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);const a=r,u=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;let c=e;n&&(c=n);for(let f=0;f<u;f++)for(let m=0;m<l;m++){let d=t.isArray()?t.get(f,m):t;if(d.isError())return d;if(s){const{startRow:C,startColumn:E}=s.getRangePosition(),R={startRow:C+f,startColumn:E+m,endRow:C+f,endColumn:E+m};d=this.createReferenceObject(s,R)}let _=a.execute(c,d);if(_.isError())return _;_.isNull()&&(_=b.create(0)),c=_}return c.isReferenceObject()?c.toArrayValueObject():c}}class D0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e,s=null;e.isReferenceObject()&&(n=e.toArrayValueObject(),s=e),n=n;let a=t,u=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),u=t),a=a,n.isError())return n;if(a.isError())return a;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.CALC);n=n.get(0,0)}return this._getResult(n,a,r,s,u)}_getResult(e,t,r,n,s){const a=[],u=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;let c=e;n&&(c=n);for(let f=0;f<u;f++){const m=[];for(let d=0;d<l;d++){if(c.isError()){m.push(c);continue}let _=t.isArray()?t.get(f,d):t;if(_.isError()){c=_,m.push(_);continue}if(s){const{startRow:E,startColumn:R}=s.getRangePosition(),y={startRow:E+f,startColumn:R+d,endRow:E+f,endColumn:R+d};_=this.createReferenceObject(s,y)}let C=r.execute(c,_);if(C.isArray()){const E=C.getRowCount(),R=C.getColumnCount();if(E>1||R>1)return g.create(h.CALC);C=C.get(0,0)}C.isNull()&&(C=b.create(0)),c=C,m.push(C)}a.push(m)}return u===1&&l===1?a[0][0]:Z.create({calculateValueList:a,rowCount:u,columnCount:l,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class w0 extends V{constructor(){super(...arguments);A(this,"minParams",3)}calculate(e,...t){if(e.isError())return e;const r=t.length%2!==0,n=r?t[t.length-1]:ce.create();return!e.isArray()&&!t.some(s=>s.isArray())?this._handleNonArrayInputs(e,t,n,r):this._handleArrayInputs(e,t,n,r)}_handleNonArrayInputs(e,t,r,n){for(let s=0;s<t.length-(n?1:0);s+=2){const a=t[s],u=t[s+1];if(!a.isNull()){if(a.isError())return a;if(`${e.getValue()}`.toLocaleLowerCase()===`${a.getValue()}`.toLocaleLowerCase())return u.isNull()?g.create(h.NA):u}}return r.isNull()?g.create(h.NA):r}_handleArrayInputs(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,...t.map(f=>f.isArray()?f.getRowCount():1),r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(f=>f.isArray()?f.getColumnCount():1),r.isArray()?r.getColumnCount():1),u=O(s,a,e),l=t.map(f=>O(s,a,f,g.create(h.NA))),c=O(s,a,r,g.create(h.NA));return u.map((f,m,d)=>{for(let C=0;C<l.length-(n?1:0);C+=2){const E=l[C].get(m,d)||ce.create(),R=l[C+1].get(m,d)||ce.create();if(!E.isNull()){if(E.isError()||f.isError())return E.isError()?E:f;if(`${f.getValue()}`.toLocaleLowerCase()===`${E.getValue()}`.toLocaleLowerCase())return R.isNull()?g.create(h.NA):R}}const _=c.get(m,d)||ce.create();return _.isNull()?g.create(h.NA):_})}}class L0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return F.create(!0)}}class P0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(a.getValue()&&t++,r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(s.getValue()&&t++,r=!1)}return r?g.create(h.VALUE):F.create(t%2===1)}}const al=[[g0,Ee.AND],[d0,Ee.BYCOL],[C0,Ee.BYROW],[_0,Ee.FALSE],[A0,Ee.IF],[E0,Ee.IFERROR],[R0,Ee.IFNA],[y0,Ee.IFS],[b0,Ee.LAMBDA],[p0,Ee.LET],[N0,Ee.MAKEARRAY],[V0,Ee.MAP],[O0,Ee.NOT],[S0,Ee.OR],[M0,Ee.REDUCE],[D0,Ee.SCAN],[w0,Ee.SWITCH],[L0,Ee.TRUE],[P0,Ee.XOR]];class j0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",5)}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=r!=null?r:b.create(1),u=n!=null?n:F.create(!0),l=s!=null?s:x.create(""),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,a,g.create(h.NA)),C=O(c,f,u,g.create(h.NA)),E=O(c,f,l,g.create(h.NA));return m.map((R,y,p)=>{const N=d.get(y,p)||g.create(h.NA),M=_.get(y,p)||g.create(h.NA),D=C.get(y,p)||g.create(h.NA),L=E.get(y,p)||g.create(h.NA);return R.isError()?R:N.isError()?N:M.isError()?M:D.isError()?D:L.isError()?L:this._calculateSingleCell(R,N,M,D,L)})}_calculateSingleCell(e,t,r,n,s){const a=Number.parseInt(`${Number(e.getValue())-1}`),u=Number.parseInt(`${Number(t.getValue())-1}`),l=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(a)||Number.isNaN(u)||Number.isNaN(l)||l<1||l>4)return g.create(h.VALUE);const c=T0(l),f=this.getZeroOrOneByOneDefault(n),m=`${s.getValue()}`,d=Ui(m),_={startRow:a,startColumn:u,endRow:a,endColumn:u,startAbsoluteRefType:c,endAbsoluteRefType:c},C=n&&!f?Ch(_):pt(_);return x.create(d!==""?`${d}!${C}`:C)}}function T0(i){switch(i){case 1:return S.AbsoluteRefType.ALL;case 2:return S.AbsoluteRefType.ROW;case 3:return S.AbsoluteRefType.COLUMN;case 4:return S.AbsoluteRefType.NONE;default:return S.AbsoluteRefType.ALL}}class U0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?b.create(1):g.create(h.VALUE)}}class x0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),!r.isArray()){const l=r.convertToNumberObjectValue();return l.isError()?l:t[Math.trunc(+l.getValue())-1]||g.create(h.VALUE)}let n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;t.forEach((l,c)=>{if(l.isArray()){const f=l;n=Math.max(n,f.getRowCount()),s=Math.max(s,f.getColumnCount())}else n=Math.max(n,1),s=Math.max(s,1)});const a=O(n,s,r,g.create(h.NA)),u=t.map(l=>{let c=l;return c.isReferenceObject()&&(c=c.toArrayValueObject()),O(n,s,c,g.create(h.NA))});return a.map((l,c,f)=>{if(l.isError())return l;const m=l.convertToNumberObjectValue();if(m.isError())return m;const d=u[Math.trunc(+m.getValue())-1];let _=(d==null?void 0:d.get(c,f))||g.create(h.VALUE);return _!=null&&_.isNull()&&(_=b.create(0)),_})}}class v0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<t.length;a++){let u=t[a];if(u.isArray()){const f=u.getRowCount(),m=u.getColumnCount();if(f>1||m>1)return g.create(h.VALUE);u=u.get(0,0)}if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;const l=Math.trunc(+u.getValue());if(l===0||Math.abs(l)>n)return g.create(h.VALUE);let c=e;n>1&&(l<0?c=e.slice(void 0,[l+n,l+1+n]):c=e.slice(void 0,[l-1,l]));for(let f=0;f<r;f++)s[f]||(s[f]=[]),e.isArray()?s[f].push(c.get(f,0)):s[f].push(e)}return Z.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class I0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=[];for(let s=0;s<t.length;s++){let a=t[s];if(a.isArray()){const c=a.getRowCount(),f=a.getColumnCount();if(c>1||f>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const u=Math.trunc(+a.getValue());if(u===0||Math.abs(u)>r)return g.create(h.VALUE);let l=e;r>1&&(u<0?l=e.slice([u+r,u+1+r]):l=e.slice([u-1,u])),e.isArray()?n.push(l.getArrayValue()[0]):n.push([e])}return Z.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class F0 extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.column+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),n=[];for(let a=0;a<r;a++)n.push(b.create(t+a+1));const s={calculateValueList:[n],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Z.create(s)}}class B0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 g.create(h.NA);const t=e.getColumnCount();return b.create(t)}}class k0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(0),s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(u,l,t,g.create(h.NA)),f=O(u,l,n,g.create(h.NA));if(u>1||l>1)return c.mapValue((y,p,N)=>{const M=f.get(p,N);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:D,errorObject:L}=this._checkRowsColumns(y,M,s,a);return D?L:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const m=t.isArray()?t.get(0,0):t,d=n.isArray()?n.get(0,0):n,{isError:_,errorObject:C,rowsValue:E,columnsValue:R}=this._checkRowsColumns(m,d,s,a);return _?C:this._getResultArray(e,E,R,s,a)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)>=r||Math.abs(a)>=n?{isError:!0,errorObject:g.create(h.CALC)}:{isError:!1,rowsValue:s,columnsValue:a}}_getResultArray(e,t,r,n,s){const a=t>=0?[t,n]:[0,n+t],u=r>=0?[r,s]:[0,s+r];let l;return t===0&&r===0?l=e:t===0?l=e.slice(void 0,u):r===0?l=e.slice(a,void 0):l=e.slice(a,u),l=l.map(c=>c.isNull()?b.create(0):c),n-t===1&&s-r===1?l.get(0,0):l}}class $0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;let u=t,l=r!=null?r:b.create(a);const c=n!=null?n:g.create(h.NA);t.isNull()&&(u=b.create(s)),l.isNull()&&(l=b.create(a));const f=Math.max(u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,u,g.create(h.NA)),_=O(f,m,l,g.create(h.NA));if(f>1||m>1)return d.mapValue((D,L,P)=>{const j=_.get(L,P);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:I,errorObject:v}=this._checkRowsColumnsPadWith(D,j,c,s,a);return I?v:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const C=u.isArray()?u.get(0,0):u,E=l.isArray()?l.get(0,0):l,{isError:R,errorObject:y,rowsValue:p,columnsValue:N,padWithObject:M}=this._checkRowsColumnsPadWith(C,E,c,s,a);return R?y:this._getResultArray(e,p,N,M,s,a)}_checkRowsColumnsPadWith(e,t,r,n,s){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const a=Math.trunc(+e.getValue()),u=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(u))return{isError:!0,errorObject:g.create(h.VALUE)};if(Math.abs(a)<n||Math.abs(u)<s)return{isError:!0,errorObject:g.create(h.VALUE)};let l=r;if(r.isArray()){const c=r.getRowCount(),f=r.getColumnCount();if(c>1||f>1)return{isError:!0,errorObject:g.create(h.VALUE)};l=r.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:u,padWithObject:l}}_getResultArray(e,t,r,n,s,a){let u=[];e.isArray()?u=e.map(f=>f.isNull()?b.create(0):f).getArrayValue():u=[[e]];const l=Math.max(0,t-s),c=Math.max(0,r-a);for(let f=0;f<l;f++)u.push(new Array(a).fill(n));for(let f=0;f<c;f++)u.forEach(m=>{m.push(n)});return t===1&&r===1?u[0][0]:Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Y0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:g.create(h.CALC);if(e.isError())return e;if(t.isError())return t;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=t.isArray()?t.getRowCount():1,l=t.isArray()?t.getColumnCount():1;return u>1&&l>1||u===1&&l!==a||l===1&&u!==s?g.create(h.VALUE):s===1&&a===1?this._getResultArrayByR1C1(e,t,n):u===1?l!==a?g.create(h.VALUE):this._getResultArrayByR1(s,a,e,t,n):l===1?u!==s?g.create(h.VALUE):this._getResultArrayByC1(s,a,e,t,n):n}_getResultArrayByR1C1(e,t,r){let n=e,s=t;return n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),s.isString()&&(s=s.convertToNumberObjectValue()),s.isError()?s:+s.getValue()?n:r}_getResultArrayByR1(e,t,r,n,s){const a=[];for(let u=0;u<t;u++){let l=n.get(0,u);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(+l.getValue())for(let f=0;f<e;f++){a[f]||(a[f]=[]);const m=r.get(f,u);a[f].push(m)}}return a.length===0?s:Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArrayByC1(e,t,r,n,s){const a=[];for(let u=0;u<e;u++){let l=n.get(u,0);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;if(!+l.getValue())continue;const f=[];for(let m=0;m<t;m++){const d=r.get(u,m);f.push(d)}a.push(f)}return a.length===0?s:Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class H0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsFormulaDataModel",!0)}calculate(e){var f,m;if(!e.isReferenceObject())return g.create(h.NA);const t=e.getUnitId(),r=e.getSheetId(),s=(m=(f=e.getUnitData()[t])==null?void 0:f[r])==null?void 0:m.cellData,{startRow:a,startColumn:u}=e.getRangePosition(),c=e.toArrayValueObject().mapValue((d,_,C)=>{const E=s.getValue(a+_,u+C);if(E!=null&&E.f||E!=null&&E.si){const R=this._formulaDataModel.getFormulaStringByCell(a+_,u+C,r,t);return x.create(R)}return g.create(h.NA)});return c.getRowCount()===1&&c.getColumnCount()===1?c.get(0,0):c}}var ne=(i=>(i.ADDRESS="ADDRESS",i.AREAS="AREAS",i.CHOOSE="CHOOSE",i.CHOOSECOLS="CHOOSECOLS",i.CHOOSEROWS="CHOOSEROWS",i.COLUMN="COLUMN",i.COLUMNS="COLUMNS",i.DROP="DROP",i.EXPAND="EXPAND",i.FILTER="FILTER",i.FORMULATEXT="FORMULATEXT",i.GETPIVOTDATA="GETPIVOTDATA",i.HLOOKUP="HLOOKUP",i.HSTACK="HSTACK",i.HYPERLINK="HYPERLINK",i.IMAGE="IMAGE",i.INDEX="INDEX",i.INDIRECT="INDIRECT",i.LOOKUP="LOOKUP",i.MATCH="MATCH",i.OFFSET="OFFSET",i.ROW="ROW",i.ROWS="ROWS",i.RTD="RTD",i.SORT="SORT",i.SORTBY="SORTBY",i.TAKE="TAKE",i.TOCOL="TOCOL",i.TOROW="TOROW",i.TRANSPOSE="TRANSPOSE",i.UNIQUE="UNIQUE",i.VLOOKUP="VLOOKUP",i.VSTACK="VSTACK",i.WRAPCOLS="WRAPCOLS",i.WRAPROWS="WRAPROWS",i.XLOOKUP="XLOOKUP",i.XMATCH="XMATCH",i))(ne||{});class G0 extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray()||r.isError()||n!=null&&n.isError())return g.create(h.NA);const s=this.getZeroOrOneByOneDefault(n);if(s==null)return g.create(h.VALUE);const a=this.getIndexNumValue(r);if(a instanceof g)return a;const u=t.slice([0,1]),l=t.slice([a-1,a]);return u==null||l==null?g.create(h.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,s)):this._handleSingleObject(e,u,l,s)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class W0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getRowCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<t;l++){r[l]||(r[l]=[]);for(let c=0;c<u;c++){let f=s;s.isArray()&&(f=s.get(l,c)),l>a-1||!f?r[l].push(g.create(h.NA)):r[l].push(f)}}}return Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Q0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=e;if(e.isArray()&&(r=e.get(0,0)),r.isError())return r;let n=t;if(t!=null&&t.isArray()&&(n=t.get(0,0)),n!=null&&n.isError())return n;let s=`${r.getValue()}`;r.isNull()&&(s="");let a=s;return n&&(a=`${n.getValue()}`,n.isNull()?a="0":n.isBoolean()&&(a=a.toLocaleUpperCase())),x.create(a,{isHyperlink:!0,hyperlinkUrl:s})}}class q0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1,s!=null&&s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1,s!=null&&s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=t?O(a,u,t,g.create(h.NA)):void 0,f=r?O(a,u,r,g.create(h.NA)):void 0,m=n?O(a,u,n,g.create(h.NA)):void 0,d=s?O(a,u,s,g.create(h.NA)):void 0,_=l.mapValue((C,E,R)=>{if(C.isError())return C;const y=c?c.get(E,R):void 0;if(y!=null&&y.isError())return y;const p=f?f.get(E,R):void 0;if(p!=null&&p.isError())return p;const N=m?m.get(E,R):void 0;if(N!=null&&N.isError())return N;const M=d?d.get(E,R):void 0;return M!=null&&M.isError()?M:this._handleSingleObject(C,y,p,N,M)});return a===1&&u===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){if(!e.isString())return g.create(h.VALUE);const a=e.getValue();let u="";t&&(t.isBoolean()?u=t.getValue()?"TRUE":"FALSE":t.isNull()||(u=`${t.getValue()}`));let l=r!=null?r:b.create(0);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const c=Math.abs(Math.trunc(+l.getValue()));if(c<0||c>3||[0,1,2].includes(c)&&(n||s))return g.create(h.VALUE);let f=n!=null?n:b.create(0);if(f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=Math.ceil(+f.getValue());let d=s!=null?s:b.create(0);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=Math.ceil(+d.getValue());return c===3&&m<1&&_<1?g.create(h.VALUE):x.create("",{isImage:!0,imageInfo:{source:a,altText:u,sizing:c,height:m,width:_}})}}class X0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4);A(this,"needsReferenceObject",!0)}calculate(e,t,r,n){if(e.isError())return e;const s=this._getReferenceCounts(e);let a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let u=r;u!=null&&u.isReferenceObject()&&(u=r.toArrayValueObject());let l=n!=null?n:b.create(1);l.isReferenceObject()&&(l=n.toArrayValueObject());const c=Math.max(a.isArray()?a.getRowCount():1,u!=null&&u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(a.isArray()?a.getColumnCount():1,u!=null&&u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1);if(c===1&&f===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,u?u.isArray()?u.get(0,0):u:void 0,l.isArray()?l.get(0,0):l,s);{const m=O(c,f,a,g.create(h.NA)),d=u?O(c,f,u,g.create(h.NA)):[],_=O(c,f,l,g.create(h.NA));return m.mapValue((C,E,R)=>{const y=u?d.get(E,R):void 0,p=_.get(E,R),N=this._handleSingleObject(e,C,y,p,s);return N.isReferenceObject()?N.getCellByPosition():N})}}_handleSingleObject(e,t,r,n,s){let a,u,l;if(r){const{isError:C,errorObject:E,variants:R}=B(t,r,n);if(C)return E;a=R[0],u=R[1],l=R[2]}else{const{isError:C,errorObject:E,variants:R}=B(t,n);if(C)return E;a=R[0],l=R[1]}const c=Math.floor(+l.getValue());if(c<0)return g.create(h.VALUE);if(c>s.length)return g.create(h.REF);const f=s[c-1];let m=0,d=0;if(f.rowCount===1&&!r?d=Math.floor(+a.getValue()):(m=Math.floor(+a.getValue()),r&&(d=Math.floor(+u.getValue()))),m<0||d<0)return g.create(h.VALUE);if(m>f.rowCount||d>f.columnCount)return g.create(h.REF);let _=e;return c>1&&(_=e.getCubeValues()[c-1]),_.isReferenceObject()?this._calculateReferenceObject(_,m,d):this._calculateArrayObject(_,m,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(r=>({rowCount:r.getRowCount(),columnCount:r.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,r){const{startRow:n,endRow:s,startColumn:a,endColumn:u}=e.getRangePosition();let l=0,c=0,f=0,m=0;if(t===0?(l=n,c=s):l=c=n+t-1,r===0?(f=a,m=u):f=m=a+r-1,l>s||f>u)return g.create(h.REF);const d={startRow:l,startColumn:f,endRow:c,endColumn:m};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,r){return!e.isArray()||t===0&&r===0?e:t===0?e.slice(void 0,[r-1,r]):r===0?e.slice([t-1,t],void 0):e.get(t-1,r-1)}}class K0 extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let r=this.getZeroOrOneByOneDefault(t);r==null&&(r=1);let n=e;if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s>1||a>1)return e.map(()=>g.create(h.VALUE));n=e.getFirstCell()}return this._handleSingleObject(n,r)}_handleSingleObject(e,t){const r=`${e.getValue()}`;if(r.trim()==="")return g.create(h.REF);const n=this._convertToDefinedName(r);if(t===0){const f=Bo(n),{range:m,sheetName:d,unitId:_}=f,C=new Br(m);return C.setForcedUnitIdDirect(_),C.setForcedSheetName(d),this._setDefault(C)}if(wr(n))return this._setDefault(new oa(n));if(pi(n))return this._setDefault(new la(n));if(Ni(n))return this._setDefault(new ua(n));const s=Yt(n),{range:a,sheetName:u,unitId:l}=s;if(Number.isNaN(a.startRow)||a.endRow+1>1048576||Number.isNaN(a.startColumn)||a.endColumn+1>16384)return g.create(h.REF);const c=new Br(a);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?g.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 r=t.formulaOrRefString;return r==null?e:r.startsWith(z.EQUALS)?r.slice(1):r}}class Z0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?g.create(h.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?g.create(h.REF):this._handleVector(e,t,r):this._handleArray(e,t):g.create(h.VALUE)}_handleVector(e,t,r){let n=r;if(n==null)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return g.create(h.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const r=t.getRowCount(),n=t.getColumnCount();let s,a;return n>r?(s=t.slice([0,1]),a=t.slice([r-1,r])):(s=t.slice(void 0,[0,1]),a=t.slice(void 0,[n-1,n])),s==null||a==null?g.create(h.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,s,a)):this.binarySearch(e,s,a)}}class z0 extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray())return g.create(h.VALUE);const n=t.getRowCount(),s=t.getColumnCount();if(n!==1&&s!==1||r!=null&&r.isError())return g.create(h.NA);const a=this.getMatchTypeValue(r);return a==null?g.create(h.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,r){const n=e.isNull()?b.create(0):e,s=this._getSearchModeValue(r),a=t.orderSearch(n,s);if(a==null)return g.create(h.NA);if(a instanceof g)return a;const u=t.getRowCount()===1?a.column+1:a.row+1;return b.create(u)}_getSearchModeValue(e){switch(e){case 1:return Le.MIN;case 0:return Le.NORMAL;case-1:return Le.MAX}}}class J0 extends Wt{constructor(e,t=[]){super(e);A(this,"_areas",[]);this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(t=>t.dispose())}),this._areas=[],super.dispose()}getAreas(){return this._areas}setAreas(e){this._areas=e}addArea(e){Array.isArray(e)?this._areas.push(e):this._areas.push([e])}_flatAreas(){return this._areas.flat()}isMultiArea(){return!0}isRange(){return!1}isCell(){return!1}isRow(){return!1}isColumn(){return!1}getRowCount(){let e=0;for(const t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(const t of this._flatAreas())t.isError()||(e+=t.getColumnCount());return e}isExceedRange(){return this._flatAreas().some(e=>e.isError()?!1:e.isExceedRange())}setRefOffset(e=0,t=0){super.setRefOffset(e,t),this._flatAreas().forEach(r=>{r.isError()||r.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(r=>!r.isError())}getUnitId(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getUnitId())!=null?t:super.getUnitId()}getSheetId(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getSheetId())!=null?t:super.getSheetId()}getActiveSheetRowCount(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getActiveSheetRowCount())!=null?t:0}getActiveSheetColumnCount(){var e,t;return(t=(e=this._getReferenceArea())==null?void 0:e.getActiveSheetColumnCount())!=null?t:0}iterator(e){for(const t of this._areas){let r=!1;for(const n of t){if(n.isError())continue;let s=!1;if(n.iterator((a,u,l)=>{const c=e(a,u,l);return c===!1?(s=!0,r=!0,!1):c}),s)break}if(r)return}}getFirstCell(){const e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var n,s;const e=this._areas.length;if(e===0)return at([],0,0);const t=(s=(n=this._areas[0])==null?void 0:n.length)!=null?s:0,r=[];for(let a=0;a<e;a++){const u=this._areas[a];if(u){r[a]=r[a]||[];for(let l=0;l<t;l++){const c=u[l];if(!c)continue;if(c.isError()){r[a][l]=c;continue}let f=null;c.iterator(m=>(f=m!=null?m:null,!1)),f!=null&&(r[a][l]=f),r[a][l]=ce.create()}}}return at(r,e,t)}getRangePosition(){const e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const a of e){if(a.isError())continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=a.getRangePosition();!Number.isFinite(u)||!Number.isFinite(l)||!Number.isFinite(c)||!Number.isFinite(f)||(u<t&&(t=u),l<r&&(r=l),c>n&&(n=c),f>s&&(s=s<f?f:s))}return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s)?super.getRangePosition():{startRow:t,startColumn:r,endRow:n,endColumn:s}}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}getRangeData(){const e=this._flatAreas();if(!e.length)return super.getRangeData();let t=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const a of e){if(a.isError())continue;const{startRow:u,startColumn:l,endRow:c,endColumn:f}=a.getRangeData();!Number.isFinite(u)||!Number.isFinite(l)||!Number.isFinite(c)||!Number.isFinite(f)||(u<t&&(t=u),l<r&&(r=l),c>n&&(n=c),f>s&&(s=f))}return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(s)?super.getRangeData():{startRow:t,startColumn:r,endRow:n,endColumn:s}}}class eC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;if(!e.isReferenceObject())return g.create(h.VALUE);const a=e.getRowCount(),u=e.getColumnCount();let l=t;l.isReferenceObject()&&(l=l.toArrayValueObject());let c=r;c.isReferenceObject()&&(c=c.toArrayValueObject());let f=n!=null?n:b.create(a);f.isReferenceObject()&&(f=f.toArrayValueObject()),f.isNull()&&(f=b.create(a));let m=s!=null?s:b.create(u);m.isReferenceObject()&&(m=m.toArrayValueObject()),m.isNull()&&(m=b.create(u));const d=Math.max(l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1),_=Math.max(l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1);if(l=l,c=c,f=f,m=m,d===1&&_===1)return l=l.isArray()?l.get(0,0):l,c=c.isArray()?c.get(0,0):c,f=f.isArray()?f.get(0,0):f,m=m.isArray()?m.get(0,0):m,this._handleSingleObject(e,l,c,f,m);const C=O(d,_,l,g.create(h.NA)),E=O(d,_,c,g.create(h.NA)),R=O(d,_,f,g.create(h.NA)),y=O(d,_,m,g.create(h.NA)),p=[];return C.iterator((N,M,D)=>{const L=E.get(M,D),P=R.get(M,D),j=y.get(M,D);if(p[M]=p[M]||[],N==null){p[M][D]=g.create(h.NA);return}if(N.isError()){p[M][D]=N;return}if(L.isError()){p[M][D]=L;return}if(P.isError()){p[M][D]=P;return}if(j.isError()){p[M][D]=j;return}const I=this._handleSingleObject(e,N,L,P,j);p[M][D]=I}),new J0("",p)}_handleSingleObject(e,t,r,n,s){const{startRow:a,startColumn:u}=e.getRangePosition();let l=t;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+l.getValue(),m=+c.getValue();if(typeof f!="number"||typeof m!="number")return g.create(h.VALUE);const d=a+f,_=u+m;if(d<0||_<0)return g.create(h.REF);const C=this.getIndexNumValue(n),E=this.getIndexNumValue(s);if(typeof C!="number"||typeof E!="number")return g.create(h.VALUE);if(C===0||E===0)return g.create(h.REF);const R=C>0?d+C-1:d+C+1,y=E>0?_+E-1:_+E+1;if(R<0||y<0)return g.create(h.REF);const p=d<R?d:R,N=_<y?_:y,M=d>R?d:R,D=_>y?_:y,L={startRow:p,startColumn:N,endRow:M,endColumn:D};return this.createReferenceObject(e,L)}}class tC extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return b.create(this.row+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentRow(),r=e.getRowCount(),n=[];for(let a=0;a<r;a++)n.push([b.create(t+a+1)]);const s={calculateValueList:n,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return Z.create(s)}}class rC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(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 g.create(h.NA);const t=e.getRowCount();return b.create(t)}}class nC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){let s=t!=null?t:b.create(1);const a=r!=null?r:b.create(1),u=n!=null?n:F.create(!1);if(s.isNull()&&(s=b.create(1)),u.isArray()){const l=u.getRowCount(),c=u.getColumnCount();if(l===1&&c===1){const f=u.get(0,0);return this._handleSingleObject(e,s,a,f)}return u.map(f=>{const m=this._handleSingleObject(e,s,a,f);return m.isArray()?m.get(0,0):m})}return this._handleSingleObject(e,s,a,u)}_handleSingleObject(e,t,r,n){if(e.isError())return e;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=this._checkArrayError(t);if(u.isError())return u;const l=Math.floor(+u.getValue());if(l<1)return g.create(h.VALUE);const c=this._checkArrayError(r);if(c.isError())return c;const f=Math.floor(+c.getValue());if(f!==-1&&f!==1)return g.create(h.VALUE);let m=n;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(!e.isArray()||s===1&&a===1)return e;const d=+m.getValue();return this._getResult(e,l,f,d,s,a)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,r,n,s,a){if(n){if(t>s)return g.create(h.VALUE);const u=e.transpose().getArrayValue();return u.sort(this._sort(t-1,r)),Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return g.create(h.VALUE);const u=e.getArrayValue();return u.sort(this._sort(t-1,r)),Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){const r=Nn();return t===1?this._sortAsc(e,r):this._sortDesc(e,r)}_sortAsc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return 1;if(a.isError())return-1;const u=s.getValue(),l=a.getValue();return s.isBoolean()&&u===!0?1:a.isBoolean()&&l===!0?-1:s.isBoolean()&&u===!1?1:a.isBoolean()&&l===!1?-1:s.isNumber()&&a.isNumber()?+u-+l:t(u,l)}}_sortDesc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return-1;if(a.isError())return 1;const u=s.getValue(),l=a.getValue();return s.isBoolean()&&u===!0?-1:a.isBoolean()&&l===!0?1:s.isBoolean()&&u===!1?-1:a.isBoolean()&&l===!1?1:s.isNumber()&&a.isNumber()?+l-+u:t(l,u)}}}class sC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){t.length===1&&t.push(b.create(1));const r=this._getVariantsError(e,...t),{maxRowLength:n,maxColumnLength:s}=bm(t);if(r.isError()){const l=O(n,s,r);return n===1&&s===1?l.get(0,0):l}const a=t.map((l,c)=>c%2===0?l:O(n,s,l,g.create(h.NA))),u=this._getResultArray(e,a,n,s);return n===1&&s===1?u[0][0]:Z.create({calculateValueList:u,rowCount:u.length,columnCount:u[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let u=0;u<t.length;u++){const l=t[u];if(l.isError())return l}if(t.length<2||t.length%2!==0)return g.create(h.VALUE);const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((s>1||a>1)&&(s>1&&a>1||s===1&&a!==n||a===1&&s!==r))return g.create(h.VALUE);for(let u=2;u<t.length;u++){if(u%2===1)continue;const l=t[u].isArray()?t[u].getRowCount():1,c=t[u].isArray()?t[u].getColumnCount():1;if(l!==s||c!==a)return g.create(h.VALUE)}return F.create(!0)}_getResultArray(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=t[0].isArray()?t[0].getRowCount():1,l=t[0].isArray()?t[0].getColumnCount():1,c=[];for(let f=0;f<r;f++){c[f]=[];for(let m=0;m<n;m++){const{isError:d,errorObject:_,byArrays:C,sortOrders:E}=this._getByArraysAndSortOrders(t,f,m,l);if(d){c[f].push(_);continue}if(!e.isArray()||s===1&&a===1){c[f].push(e);continue}let R=e.getArrayValue();u===1&&l===1||(u===1?(R=R.concat(C),R=this._transposeArray(R),R.sort(this._sort(s,E)),R=this._transposeArray(R).slice(0,s)):l===1&&(R=this._transposeArray(R),R=R.concat(C),R=this._transposeArray(R),R.sort(this._sort(a,E)),R=R.map(p=>p.slice(0,a))));const y=Z.create({calculateValueList:R,rowCount:R.length,columnCount:R[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(r>1||n>1){c[f].push(y.get(0,0));continue}c[f].push(y)}}return c}_getByArraysAndSortOrders(e,t,r,n){const s=[],a=[];let u=!1,l=null;for(let c=0;c<e.length;c++){if(c%2===1)continue;const f=e[c];let m=e[c+1].get(t,r);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError()){u=!0,l=m;break}const d=Math.floor(+m.getValue());if(d!==-1&&d!==1){u=!0,l=g.create(h.VALUE);break}if(a.push(d),f.isArray()){let _=f.getArrayValue();n===1&&(_=this._transposeArray(_)),s.push(_[0])}else s.push([f])}return{isError:u,errorObject:l,byArrays:s,sortOrders:a}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_sort(e,t){const r=Nn();return(n,s)=>{let a=n[e],u=s[e],l=this._compare(a,u,t[0],r);if(l===0&&t.length>1){for(let c=1;c<t.length;c++)if(a=n[e+c],u=s[e+c],l=this._compare(a,u,t[c],r),l!==0)return l}return l}}_compare(e,t,r,n){return r===1?this._asc(e,t,n):this._desc(e,t,n)}_asc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return 1;if(t.isError())return-1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?1:t.isBoolean()&&s===!0?-1:e.isBoolean()&&n===!1?1:t.isBoolean()&&s===!1?-1:e.isNumber()&&t.isNumber()?+n-+s:r(n,s)}_desc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return-1;if(t.isError())return 1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?-1:t.isBoolean()&&s===!0?1:e.isBoolean()&&n===!1?-1:t.isBoolean()&&s===!1?1:e.isNumber()&&t.isNumber()?+s-+n:r(s,n)}}class aC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=t,u=r!=null?r:b.create(s);t.isNull()&&(a=b.create(n)),u.isNull()&&(u=b.create(s));const l=Math.max(a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1),c=Math.max(a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1),f=O(l,c,a,g.create(h.NA)),m=O(l,c,u,g.create(h.NA));if(l>1||c>1)return f.mapValue((p,N,M)=>{const D=m.get(N,M);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:L,errorObject:P}=this._checkRowsColumns(p,D,n,s);return L?P:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const d=a.isArray()?a.get(0,0):a,_=u.isArray()?u.get(0,0):u,{isError:C,errorObject:E,rowsValue:R,columnsValue:y}=this._checkRowsColumns(d,_,n,s);return C?E:this._getResultArray(e,R,y,n,s)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)===0||Math.abs(a)===0?{isError:!0,errorObject:g.create(h.CALC)}:(s>r&&(s=r),a>n&&(a=n),{isError:!1,rowsValue:s,columnsValue:a})}_getResultArray(e,t,r,n,s){if(!e.isArray())return e;const a=t>=0?[0,t]:[n+t,n],u=r>=0?[0,r]:[s+r,s];let l;return t===n&&r===s?l=e:t===n?l=e.slice(void 0,u):r===s?l=e.slice(a,void 0):l=e.slice(a,u),l=l.map(c=>c.isNull()?b.create(0):c),t===1&&r===1?l.get(0,0):l}}class iC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(0),s=r!=null?r:F.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,n,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),R=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(R))return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return R?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||u>1||y.length===1?y[0]:Z.create({calculateValueList:y.map(p=>[p]),rowCount:y.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&u===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<s;u++)for(let l=0;l<n;l++){const c=r.get(l,u);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<n;u++)for(let l=0;l<s;l++){const c=r.get(u,l);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class oC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(0),s=r!=null?r:F.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,n,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);if(e.isError())return e;if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),R=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(R)||e.isNull())return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return R?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||u>1||y.length===1?y[0]:Z.create({calculateValueList:[y],rowCount:1,columnCount:y.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&u===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<s;u++)for(let l=0;l<n;l++){const c=r.get(l,u);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let u=0;u<n;u++)for(let l=0;l<s;l++){const c=r.get(u,l);this._isIgnore(c,t)||a.push(c.isNull()?b.create(0):c)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class uC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t===1&&r===1?e.get(0,0):e.transpose()}return e}}class lC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:F.create(!1),s=r!=null?r:F.create(!1),a=e.isArray()?e.getRowCount():1,u=e.isArray()?e.getColumnCount():1,l=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),c=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),f=O(l,c,n,g.create(h.NA)),m=O(l,c,s,g.create(h.NA)),d=f.map((_,C,E)=>{let R=_,y=m.get(C,E);if(e.isError())return e;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+R.getValue(),N=+y.getValue();let M;return!p&&a===1||p&&u===1?M=e:M=this._getResult(e,p,N),(l>1||c>1)&&(M!=null&&M.isArray())?M.get(0,0):M});return l===1&&c===1?d.get(0,0):d}_getResult(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=e.getArrayValue(),u=n,l=s;t&&(a=this._transposeArray(a),u=s,l=n);const c=this._getRepeatRows(a,u,l);if(c.length>0){const f=[];c.forEach(m=>{m.forEach((d,_)=>{(_!==0||r)&&f.push(d)})}),a=a.filter((m,d)=>!f.includes(d))}return a.length===0?g.create(h.CALC):(t&&(a=this._transposeArray(a)),Z.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,r){let n=[];for(let s=0;s<r;s++)if(s===0){const a=new Array(t).fill(null).map((u,l)=>({r:l,valueObject:e[l][s]}));n=this._getRepeatRowsByObjects(a)}else{if(n.length===0)break;let a=[];n.forEach(u=>{const l=u.map(f=>({r:f,valueObject:e[f][s]})),c=this._getRepeatRowsByObjects(l);a=a.concat(c)}),n=a}return n}_getRepeatRowsByObjects(e){const t=new Map;return e.forEach(r=>{const n=r.r,s=r.valueObject;let a=s.getValue();if(s.isNull()?a=null:s.isString()&&S.isRealNum(a)&&(a=+a),!t.has(a))t.set(a,[n]);else{const u=t.get(a);u.push(n),t.set(a,u)}}),Array.from(t.values()).filter(r=>r.length>1)}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}}class cC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return g.create(h.VALUE);if(r.isError())return r;if(n!=null&&n.isError())return n;const s=n!=null?n:F.create(!0);return Eo(e)&&Eo(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)}_handleArrayColIndexNum(e,t,r,n){const s=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(n);if(a==null)return g.create(h.VALUE);let u;const l=[];return r.iterator((c,f,m)=>{if(c==null)return u=g.create(h.VALUE),!1;const d=this._handleTableArray(s,t,c,a);if(d.isError())return u=d,!1;l[f]===void 0&&(l[f]=[]),l[f][m]=d}),u||at(l,l.length,l[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e),l=O(s,a,n);return u.map((c,f,m)=>{if(c.isError())return c;const d=l.get(f,m);if(d==null)return g.create(h.VALUE);if(d.isError())return d;const _=this.getZeroOrOneByOneDefault(d);return _==null?g.create(h.VALUE):this._handleTableArray(c,t,r,_)})}_handleTableArray(e,t,r,n){let s=this.getIndexNumValue(r);if(s instanceof g)return s;if(s=Math.floor(s),s<1)return g.create(h.VALUE);const a=t.slice(void 0,[0,1]);if(a==null)return g.create(h.VALUE);const u=t.slice(void 0,[s-1,s]);return u==null?g.create(h.REF):this._handleSingleObject(e,a,u,n)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class fC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getColumnCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++){const c=[];for(let f=0;f<t;f++){let m=s;s.isArray()&&(m=s.get(l,f)),f>u-1||!m?c.push(g.create(h.NA)):c.push(m)}r.push(c)}}return Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class mC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(u,l,t,g.create(h.NA)),f=O(u,l,n,g.create(h.NA)),m=c.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const R=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(R))return g.create(h.VALUE);if(R<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,R,E);return u>1||l>1||p.length===1&&p[0].length===1?p[0][0]:Z.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return u===1&&l===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let u=0;u<n;u++)for(let l=0;l<s;l++){a[l]||(a[l]=[]);const c=u*s+l;c<e.length?a[l].push(e[c].isNull()?b.create(0):e[c]):a[l].push(r)}return a}}class hC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,u=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),c=O(u,l,t,g.create(h.NA)),f=O(u,l,n,g.create(h.NA)),m=c.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const R=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(R))return g.create(h.VALUE);if(R<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,R,E);return u>1||l>1||p.length===1&&p[0].length===1?p[0][0]:Z.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return u===1&&l===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let u=0;u<n;u++){const l=[];for(let c=0;c<s;c++){const f=u*s+c;f<e.length?l.push(e[f].isNull()?b.create(0):e[f]):l.push(r)}a.push(l)}return a}}class gC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=n!=null?n:g.create(h.NA);n!=null&&n.isNull()&&(u=g.create(h.NA));let l=s!=null?s:b.create(0);s!=null&&s.isNull()&&(l=b.create(0));let c=a!=null?a:b.create(1);if(a!=null&&a.isNull()&&(c=b.create(1)),e.isError())return e;const f=t.isArray()?t.getRowCount():1,m=t.isArray()?t.getColumnCount():1,d=r.isArray()?r.getRowCount():1,_=r.isArray()?r.getColumnCount():1;if(f!==1&&m!==1||f===1&&m>1&&m!==_||m===1&&f>1&&f!==d)return g.create(h.VALUE);if(l.isError())return l;if(c.isError())return c;const C=this.getIndexNumValue(l);if(C instanceof g)return C;const E=this.getIndexNumValue(c);return E instanceof g?E:this._getResult(e,fa(t),fa(r),u,C,E,f,m,d,_)}_getResult(e,t,r,n,s,a,u,l,c,f){const m=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(m>1||d>1){let R;return u===1?R=r.slice([0,1]):R=r.slice(void 0,[0,1]),R==null?g.create(h.NA):e.map(y=>{const p=this._checkErrorCombination(s,a);if(p)return p;const N=this._handleSingleObject(y,t,R,s,a);return N.isError()?n:N})}const _=e.isArray()?e.get(0,0):e;if(l===f&&u===c){const R=this._checkErrorCombination(s,a);if(R)return R;const y=this._handleSingleObject(_,t,r,s,a);return y.isError()?n:y}let C=0;l===f&&(C=1);const E=this._handleExpandObject(_,t,r,s,a,C);return E==null?g.create(h.NA):E}_handleExpandObject(e,t,r,n,s,a=0){if((s===2||s===-2)&&n!==2){const u=Xs(s),l=qs(n);return this.binarySearchExpand(e,t,r,a,u,l)}return n===2?this.fuzzySearchExpand(e,t,r,s!==-1,a):n===-1||n===1?this.orderSearchExpand(e,t,r,n===1?Le.MAX:Le.MIN,s===-1,a):this.equalSearchExpand(e,t,r,s!==-1,a)}_handleSingleObject(e,t,r,n,s){if((s===2||s===-2)&&n!==2){const a=Xs(s),u=qs(n);return this.binarySearch(e,t,r,a,u)}return n===2?this.fuzzySearch(e,t,r,s!==-1):n===-1||n===1?this.orderSearch(e,t,r,n===1?Le.MAX:Le.MIN,s===-1):this.equalSearch(e,t,r,s!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?g.create(h.VALUE):null}}class dC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){let s=b.create(0);r&&!r.isNull()&&(s=r);let a=b.create(1);n&&!n.isNull()&&(a=n);const u=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=O(u,l,e,g.create(h.NA)),f=O(u,l,s,g.create(h.NA)),m=O(u,l,a,g.create(h.NA)),d=c.mapValue((_,C,E)=>{if(_.isError())return _;const R=f.get(C,E),y=m.get(C,E);return R.isError()?R:y.isError()?y:this._handleSingleObject(_,t,R,y)});return u===1&&l===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(s!==1&&a!==1)return g.create(h.VALUE);let u=r;if((r.isString()||r.isBoolean()||r.isNull())&&(u=r.convertToNumberObjectValue()),u.isError())return u;let l=n;if((n.isString()||n.isBoolean()||n.isNull())&&(l=n.convertToNumberObjectValue()),l.isError())return l;const c=u.getValue(),f=l.getValue();return![-1,0,1,2].includes(c)||![-1,1,2].includes(f)?g.create(h.VALUE):this._getResult(e,t,c,f)}_getResult(e,t,r,n){const s=fa(t);let a;if((n===2||n===-2)&&r!==2){const u=Xs(n),l=qs(r);a=s.binarySearch(e,u,l)}else if(r===2){const u=s.compare(e,H.EQUALS);let l;if(n!==-1?l=u.getFirstTruePosition():l=u.getLastTruePosition(),l==null)return g.create(h.NA);a=s.getRowCount()===1?l.column:l.row}else if(r===-1||r===1){const u=s.orderSearch(e,r===1?Le.MAX:Le.MIN,n===-1);if(u==null)return g.create(h.NA);if(u instanceof g)return u;a=s.getRowCount()===1?u.column:u.row}else{const u=s.isEqual(e);let l;if(n!==-1?l=u.getFirstTruePosition():l=u.getLastTruePosition(),l==null)return g.create(h.NA);a=s.getRowCount()===1?l.column:l.row}return a==null?g.create(h.NA):b.create(a+1)}}const il=[[j0,ne.ADDRESS],[U0,ne.AREAS],[x0,ne.CHOOSE],[v0,ne.CHOOSECOLS],[I0,ne.CHOOSEROWS],[F0,ne.COLUMN],[B0,ne.COLUMNS],[k0,ne.DROP],[$0,ne.EXPAND],[Y0,ne.FILTER],[H0,ne.FORMULATEXT],[G0,ne.HLOOKUP],[W0,ne.HSTACK],[Q0,ne.HYPERLINK],[q0,ne.IMAGE],[X0,ne.INDEX],[K0,ne.INDIRECT],[Z0,ne.LOOKUP],[z0,ne.MATCH],[eC,ne.OFFSET],[tC,ne.ROW],[rC,ne.ROWS],[nC,ne.SORT],[sC,ne.SORTBY],[aC,ne.TAKE],[iC,ne.TOCOL],[oC,ne.TOROW],[uC,ne.TRANSPOSE],[lC,ne.UNIQUE],[cC,ne.VLOOKUP],[fC,ne.VSTACK],[mC,ne.WRAPCOLS],[hC,ne.WRAPROWS],[gC,ne.XLOOKUP],[dC,ne.XMATCH]];class CC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}}class _C extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}}class AC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}}class EC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:ol(r)):ol(t)}}function ol(i){let o=i.getValue();if(i.isBoolean()&&(o=o?1:0),!Number.isFinite(o))return g.create(h.VALUE);o=Number(o);let e=Math.atan(1/o);return o<0&&(e+=Math.PI),Number.isNaN(e)?g.create(h.VALUE):b.create(e)}class RC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:ul(r)):ul(t)}}function ul(i){let o=i.getValue();if(i.isBoolean()&&(o=o?1:0),!Number.isFinite(o))return g.create(h.VALUE);if(o=Number(o),Math.abs(o)<=1)return g.create(h.NUM);const e=1/2*Math.log((o+1)/(o-1));return Number.isNaN(e)?g.create(h.VALUE):b.create(e)}const yC={1:Se.AVERAGE,2:Se.COUNT,3:Se.COUNTA,4:Se.MAX,5:Se.MIN,6:Se.PRODUCT,7:Se.STDEV_S,8:Se.STDEV_P,9:Se.SUM,10:Se.VAR_S,11:Se.VAR_P,12:Se.MEDIAN,13:Se.MODE_SNGL};class bC extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,t,...r){const{isError:n,multiAreaRefs:s,normalRefs:a}=tu(r);let u;e.isReferenceObject()?u=e.toArrayValueObject():u=e;let l;t.isReferenceObject()?l=t.toArrayValueObject():l=t;const c=Math.max(u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,u,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.mapValue((C,E,R)=>{if(C.isError())return C;const y=d.get(E,R);return y.isError()?y:s.length>0?g.create(h.VALUE):this._handleSingleObject(C,y,r,n,a)});return _.getRowCount()===1&&_.getColumnCount()===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;const u=Math.floor(+a.getValue());if(u<1||u>19||u>=1&&u<=13&&n||u>=14&&u<=19&&r.length!==2)return g.create(h.VALUE);let l=t;if(t.isString()&&(l=t.convertToNumberObjectValue()),l.isError())return l;const c=Math.floor(+l.getValue());if(c<0||c>7)return g.create(h.VALUE);const f=this._getAggregateOptions(c);return u>=14&&u<=19?this._handleLargeSmallPercentileQuartile(u,f,r[0],r[1]):au({type:yC[u],...f,formulaDataModel:this._formulaDataModel},s)}_getAggregateOptions(e){switch(e){case 1:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!0};case 2:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!0};case 3:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!0};case 4:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!1};case 5:return{ignoreRowHidden:!0,ignoreErrorValues:!1,ignoreNested:!1};case 6:return{ignoreRowHidden:!1,ignoreErrorValues:!0,ignoreNested:!1};case 7:return{ignoreRowHidden:!0,ignoreErrorValues:!0,ignoreNested:!1};default:return{ignoreRowHidden:!1,ignoreErrorValues:!1,ignoreNested:!0}}}_handleLargeSmallPercentileQuartile(e,t,r,n){let s;if(n.isReferenceObject()?s=n.toArrayValueObject():s=n,s.isError())return s;if(s.isArray()){const l=s.getRowCount(),c=s.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);s=s.get(0,0)}const a=Jt(r,t,this._formulaDataModel);if(!Array.isArray(a))return a;const u=+s.getValue();switch(e){case 14:return ou(a,u);case 15:return uu(a,u);case 16:return lu(a,u);case 17:return fu(a,u);case 18:return cu(a,u);case 19:return mu(a,u);default:return g.create(h.VALUE)}}}class pC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return b.create(0);if(e.isBoolean()||e.isNumber())return g.create(h.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return g.create(h.VALUE);const r=t.startsWith("-");r&&(t=t.slice(1));let n=0;for(let s=0;s<t.length;s++){const a=Xn.get(t[s])||0,u=Xn.get(t[s+1])||0,l=Xn.get(t[s+2])||0,c=Xn.get(t[s+3])||0;if(!a||l>=u&&l>a||a===u&&a===l&&a===c||a===u/2)return g.create(h.VALUE);a<u?n-=a:n+=a}return b.create(r?-n:n)}}class NC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}}class VC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}}class OC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}}class SC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.atan2(r))}}class MC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}}class DC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(0);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.map((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return this._handleSingleObject(m,C,E)});return f.getRowCount()===1&&f.getColumnCount()===1?f.getArrayValue()[0][0]:f}_handleSingleObject(e,t,r){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let a=r;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const u=Math.floor(+n.getValue()),l=Math.floor(+s.getValue()),c=Math.floor(+a.getValue());if(u<0||u>=2**53||l<2||l>36||c<0)return g.create(h.NUM);let f=u.toString(l);return f.length<c&&(f=new Array(c-f.length+1).join("0")+f),x.create(f.toLocaleUpperCase())}}class wC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0||C===0)return b.create(0);const E=$e(_/C,0)*C;return b.create(E)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}}class LC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(1),s=r!=null?r:b.create(0);if(e.isError())return e;if(n.isError())return n;if(s.isError())return s;const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,n,g.create(h.NA)),f=O(a,u,s,g.create(h.NA)),m=l.map((d,_,C)=>{let E=d,R=c.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),N=+R.getValue(),M=+y.getValue();return p===0||N===0?b.create(0):this._getResult(p,N,M)});return a===1&&u===1?m.get(0,0):m}_getResult(e,t,r){let n;return e<0&&r!==0?n=(t<0?$e(Math.abs(e)/Math.abs(t),0):-$e(Math.abs(e)/t,0))*t:n=(t<0?-$e(e/Math.abs(t),0):$e(e/t,0))*t,b.create(n)}}class PC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return b.create(0);const R=(E<0?-$e(C/Math.abs(E),0):$e(C/E,0))*E;return b.create(R)});return n===1&&s===1?l.get(0,0):l}}class jC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_<C)return g.create(h.NUM);const E=zt(_,C);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class TC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{let m=l,d=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_===0&&_<C)return g.create(h.NUM);const E=zt(_+C-1,_-1);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):b.create(E)});return r===1&&n===1?u.get(0,0):u}}class UC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}}class xC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}}class vC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.tan().getReciprocal()}}class IC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()===0?g.create(h.DIV_BY_ZERO):t.tanh().getReciprocal()}}class FC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.sin().getReciprocal()}}class BC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return r===0?g.create(h.DIV_BY_ZERO):!Number.isNaN(r)&&!Number.isFinite(Math.sinh(r))?b.create(0):t.sinh().getReciprocal()}}class kC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{if(l.isError())return l;let m=a.get(c,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const d=`${l.getValue()}`,_=Math.floor(+m.getValue());if(S.isRealNum(d)&&(+d<0||+d>=2**53||!Number.isInteger(+d))||d.toLocaleLowerCase()==="true"||d.toLocaleLowerCase()==="false"||_<2||_>36)return g.create(h.NUM);if(d.replace(/\s/g,"")==="")return b.create(0);if(!this._isValidCharForRadix(d,_))return g.create(h.NUM);const C=Number.parseInt(d,_);return Number.isNaN(C)?g.create(h.NUM):b.create(C)});return r===1&&n===1?u.get(0,0):u}_isValidCharForRadix(e,t){for(const r of e){const n=r.toUpperCase().charCodeAt(0);if(t<=10&&!(n>=48&&n<48+t)||t>10&&!(n>=48&&n<58||n>=65&&n<65+t-10))return!1}return!0}}class $C extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(180/Math.PI);return Number.isNaN(n)?g.create(h.VALUE):b.create(n)}}class YC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=(r<0?-$e(Math.abs(r)/2,0):$e(r/2,0))*2;return Number.isNaN(n)?g.create(h.VALUE):n===0?b.create(0):b.create(n)}}class HC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}}class GC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=br(r);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):b.create(n)}}class WC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()){const r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=br(r,2);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):b.create(n)}}class QC extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=a.get(c,f),d=l;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=+d.getValue(),C=+m.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0)return b.create(0);if(C===0)return g.create(h.DIV_BY_ZERO);const E=Qe(_/C,0)*C;return b.create(E)});return r===1&&n===1?u.get(0,0):u}}class qC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:b.create(1),s=r!=null?r:b.create(0),a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,n,g.create(h.NA)),f=O(a,u,s,g.create(h.NA)),m=l.map((d,_,C)=>{let E=d,R=c.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(R.isString()&&(R=R.convertToNumberObjectValue()),R.isError())return R;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),N=+R.getValue(),M=+y.getValue();if(p===0||N===0)return b.create(0);let D;return p<0&&M!==0?D=(N<0?Qe(Math.abs(p)/Math.abs(N),0):-Qe(Math.abs(p)/N,0))*N:D=(N<0?-Qe(p/Math.abs(N),0):Qe(p/N,0))*N,b.create(D)});return a===1&&u===1?m.get(0,0):m}}class XC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return b.create(0);const R=(E<0?-Qe(C/Math.abs(E),0):Qe(C/E,0))*E;return b.create(R)});return n===1&&s===1?l.get(0,0):l}}class KC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(!n.isNull())if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(u=>{if(u!=null&&u.isNull())return!0;const{isError:l,errorObject:c,number:f}=this._handleSingleObject(u);if(l)return s=!0,a=c,!1;t=Da(t,f)}),s)return a}else{const{isError:s,errorObject:a,number:u}=this._handleSingleObject(n);if(s)return a;t=Da(t,u)}}return b.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0||r>=2**53?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class ZC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());return b.create(r)}}class zC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=!0;for(let n=0;n<e.length;n++){const s=e[n];if(!s.isNull())if(s.isArray()){let a=!1,u=g.create(h.VALUE);if(s.iterator(l=>{if(l!=null&&l.isNull())return!0;const{isError:c,errorObject:f,number:m}=this._handleSingleObject(l);if(c)return a=!0,u=f,!1;t=$o(t,m),r=!1}),a)return u}else{const{isError:a,errorObject:u,number:l}=this._handleSingleObject(s);if(a)return u;t=$o(t,l),r=!1}}return r?b.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?g.create(h.VALUE):b.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class JC extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}}class e_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(10);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C<=0||E<=0)return g.create(h.NUM);const R=Math.log(E);if(R===0)return g.create(h.DIV_BY_ZERO);const y=Math.log(C)/R;return b.create(y)});return n===1&&s===1?l.get(0,0):l}}class t_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}}class r_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const u=[];for(let l=0;l<r;l++){let c=e.isArray()?e.get(a,l):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+c.getValue();u.push(f)}n.push(u)}if(t!==r)return g.create(h.VALUE);const s=wa(n);return b.create(s)}}class n_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const u=[];for(let l=0;l<r;l++){let c=e.isArray()?e.get(a,l):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const f=+c.getValue();u.push(f)}n.push(u)}if(t!==r)return g.create(h.VALUE);const s=Rh(n);return s===null?g.create(h.NUM):Z.createByArray(s)}}class s_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(n!==s)return g.create(h.VALUE);const u=this._getMatrix(e,r,n),l=this._getMatrix(t,s,a);if(u instanceof g)return u;if(l instanceof g)return l;const c=pr(u,l);return Z.createByArray(c)}_getMatrix(e,t,r){const n=[];for(let s=0;s<t;s++){const a=[];for(let u=0;u<r;u++){let l=e.isArray()?e.get(s,u):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const c=+l.getValue();a.push(c)}n.push(a)}return n}}class a_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.mod(n)}}class i_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(a===0)return b.create(0);if(s>0&&a<0||s<0&&a>0)return g.create(h.NUM);const u=xt(s/a,0)*a;return b.create(u)}}class o_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=1;for(let s=0;s<e.length;s++){const a=e[s];if(!a.isNull())if(a.isArray()){let u=!1,l=g.create(h.VALUE);if(a.iterator(c=>{if(c!=null&&c.isNull())return!0;const{isError:f,errorObject:m,number:d}=this._handleSingleObject(c);if(f)return u=!0,l=m,!1;if(t+=d,t>170)return u=!0,l=g.create(h.NUM),!1;r*=br(d)}),u)return l}else{const{isError:u,errorObject:l,number:c}=this._handleSingleObject(a);if(u)return l;if(t+=c,t>170)return g.create(h.NUM);r*=br(c)}}const n=br(t)/r;return b.create(n)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class u_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount(),n=e.mapValue(s=>{const a=this._handleSingleObject(s);return a.isError()?a:t>1||r>1?a.get(0,0):a});return t===1&&r===1?n.get(0,0):n}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());if(r<=0)return g.create(h.VALUE);const n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<r;a++)n[s][a]=s===a?1:0}return Z.createByArray(n)}}class l_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);let n=r<0?-$e(Math.abs(r),0):$e(r,0);return Number.isNaN(n)?g.create(h.VALUE):(Math.abs(n)%2===0&&(r<0?n--:n++),b.create(n))}}class c_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return b.create(Math.PI)}}class f_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.pow(n)}}class m_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(1),r=!0;for(let n=0;n<e.length;n++){let s=e[n];if(s.isError())return s;if(s.isArray()){let a=!1,u=null;if(s.iterator(l=>{if(l!=null&&l.isError())return a=!0,u=l,!1;if(!l||l.isNull()||l.isString()||l.isBoolean())return!0;t=t.multiply(l),r=!1}),a)return u}else{if(s.isNull())continue;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;t=t.multiply(s),r=!1}if(t.isError())return t}return r?b.create(0):t}}class h_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=q(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=+u.getValue();if(Number.isNaN(l)||Number.isNaN(c))return g.create(h.VALUE);if(c===0)return g.create(h.DIV_BY_ZERO);const f=Math.trunc(l/c);return b.create(f)}}class g_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(Math.PI/180);return Number.isNaN(n)?g.create(h.VALUE):b.create(n)}}class d_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return b.create(Math.random())}}class C_ extends V{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",5);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n,s){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=e!=null?e:b.create(1),u=t!=null?t:b.create(1),l=r!=null?r:b.create(0),c=n!=null?n:b.create(1),f=s!=null?s:b.create(0);return this._calculateResult(a,u,l,c,f)}_calculateResult(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(a===1&&u===1)return this._calculateSingleCell(e,t,r,n,s);const l=O(a,u,e,g.create(h.NA)),c=O(a,u,t,g.create(h.NA)),f=O(a,u,r,g.create(h.NA)),m=O(a,u,n,g.create(h.NA)),d=O(a,u,s,g.create(h.NA));return l.map((_,C,E)=>{const R=c.get(C,E),y=f.get(C,E),p=m.get(C,E),N=d.get(C,E),M=this._handleError(_,R,y,p,N);if(M.errorObject)return M.errorObject;let{minValue:D,maxValue:L,wholeNumberValue:P}=M,j;return P?(D=Math.ceil(D),L=Math.floor(L),j=Math.floor(Math.random()*(L-D+1))+D):j=Math.random()*(L-D)+D,j<D||j>L?g.create(h.VALUE):b.create(j)})}_calculateSingleCell(e,t,r,n,s){let a=e;a.isArray()&&(a=a.get(0,0));let u=t;u.isArray()&&(u=u.get(0,0));let l=r;l.isArray()&&(l=l.get(0,0));let c=n;c.isArray()&&(c=c.get(0,0));let f=s;f.isArray()&&(f=f.get(0,0));const m=this._handleError(a,u,l,c,f);if(m.errorObject)return m.errorObject;let{rowsValue:d,columnsValue:_,minValue:C,maxValue:E,wholeNumberValue:R}=m;if(R&&(C=Math.ceil(C),E=Math.floor(E),C>E))return g.create(h.VALUE);const y=[];for(let p=0;p<d;p++){const N=[];for(let M=0;M<_;M++)R?N.push(Math.floor(Math.random()*(E-C+1))+C):N.push(Math.random()*(E-C)+C);y.push(N)}return d===1&&_===1?b.create(y[0][0]):Z.createByArray(y)}_handleError(e,t,r,n,s){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let u=t;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return{errorObject:u};let l=r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return{errorObject:l};let c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let f=s;return f.isString()&&(f=f.convertToNumberObjectValue()),f.isError()?{errorObject:f}:this._getValue(a,u,l,c,f)}_getValue(e,t,r,n,s){const a=Math.floor(+e.getValue()),u=Math.floor(+t.getValue());if(a===0||u===0)return{errorObject:g.create(h.CALC)};const l=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||u<0||a*u>10**7)return{errorObject:g.create(h.VALUE)};if(a>l||u>c)return{errorObject:g.create(h.REF)};const f=+r.getValue(),m=+n.getValue(),d=+s.getValue();return f>m?{errorObject:g.create(h.VALUE)}:d&&(!Number.isInteger(f)||!Number.isInteger(m))?{errorObject:g.create(h.VALUE)}:{rowsValue:a,columnsValue:u,minValue:f,maxValue:m,wholeNumberValue:d}}}class __ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const l=n.getRowCount(),c=n.getColumnCount();if(l>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);let s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(s>a)return g.create(h.NUM);s=Math.ceil(s),a=Math.floor(a);const u=Math.floor(Math.random()*(a-s+1))+s;return b.create(u)}}class A_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e);if(r)return n;const[a]=s;let u=Math.floor(+a.getValue()),l=t;if(l.isString()&&(l=l.convertToNumberObjectValue(),l.isError()))return l;let c=Math.floor(+l.getValue());if(l.isBoolean()&&(c=l.getValue()?0:4),u<0||u>3999||c<0||c>4)return g.create(h.VALUE);const f=Mh[c];let m=f.length-1,d="";for(;u>0;){m=this._binarySearch(u,0,m,f);const _=f[m];u-=_,d+=Sh.get(_)}return x.create(d)}_binarySearch(e,t,r,n){let s=t,a=r;for(;a-s>1;){const u=Math.floor((s+a)/2),l=n[u];if(l===e)return u;l>e?a=u:s=u}return s!==a&&n[a]<=e?a:s}}class E_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.round(n)}}class R_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=B(l,m);if(d)return _;const[E,R]=C,y=+E.getValue(),p=Math.trunc(+R.getValue()),N=this._roundBank(y,p);return b.create(N)});return r===1&&n===1?u.get(0,0):u}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;const r=1e-8,n=10**t,s=+(e*n).toFixed(8),a=Math.floor(s),u=s-a;let l=Math.round(s);return u>.5-r&&u<.5+r&&(l=a%2===0?a:a+1),t?l/n:l}}class y_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.floor(n)}}class b_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.ceil(n)}}class p_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):t.cos().getReciprocal()}}class N_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Number.isFinite(Math.cosh(r))?Math.abs(r)>=2**27?g.create(h.NUM):t.cosh().getReciprocal():b.create(0)}}class V_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n){let s=e,a=t!=null?t:b.create(1),u=r!=null?r:b.create(1),l=n!=null?n:b.create(1);s.isNull()&&(s=b.create(1)),a.isNull()&&(a=b.create(1)),u.isNull()&&(u=b.create(1)),l.isNull()&&(l=b.create(1));const c=Math.max(s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,s,g.create(h.NA)),d=O(c,f,a,g.create(h.NA)),_=O(c,f,u,g.create(h.NA)),C=O(c,f,l,g.create(h.NA)),E=m.mapValue((R,y,p)=>{const N=d.get(y,p),M=_.get(y,p),D=C.get(y,p);return R.isError()?R:N.isError()?N:M.isError()?M:D.isError()?D:this._getResult(R,N,M,D,c,f)});return c===1&&f===1?E.get(0,0):E}_getResult(e,t,r,n,s,a){const{isError:u,errorObject:l,variants:c}=B(e,t,r,n);if(u)return l;const[f,m,d,_]=c,C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue()),R=+d.getValue(),y=+_.getValue();if(C<0||E<0||C*E>10**7)return g.create(h.VALUE);if(C===0||E===0)return g.create(h.CALC);const p=this._rowCount-this.row,N=this._columnCount-this.column;if(C>p||E>N)return g.create(h.REF);const M=[];for(let D=0;D<C;D++){M[D]=[];for(let L=0;L<E;L++)M[D][L]=R+(D*E+L)*y}return s>1||a>1?b.create(M[0][0]):Z.createByArray(M)}}class O_ extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isNull()||t.isNull()||r.isNull()||n.isNull())return g.create(h.NA);const{isError:s,errorObject:a,variants:u}=q(e,t,r);if(s)return a;const{isError:l,errorObject:c,variants:f}=B(...u);if(l)return c;const[m,d,_]=f,C=+m.getValue(),E=+d.getValue(),R=+_.getValue(),y=[];if(n.isArray()){let N=!1,M=g.create(h.VALUE);if(n.iterator(D=>{const{isError:L,errorObject:P,coefficientsObject:j}=this._handleSingleObject(D);if(L)return N=!0,M=P,!1;const I=+j.getValue();y.push(I)}),N)return M}else{const{isError:N,errorObject:M,coefficientsObject:D}=this._handleSingleObject(n);if(N)return M;const L=+D.getValue();y.push(L)}let p=0;for(let N=0;N<y.length;N++)p+=y[N]*C**(E+N*R);return Number.isNaN(p)||!Number.isFinite(p)?g.create(h.NUM):b.create(p)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),coefficientsObject:null};let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?{isError:!0,errorObject:t,coefficientsObject:null}:{isError:!1,errorObject:null,coefficientsObject:t}}}class S_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();return a>0?b.create(1):a<0?b.create(-1):b.create(0)}}class M_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}}class D_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}}class w_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}}class L_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(r<0)return g.create(h.NUM);const n=Math.sqrt(r*Math.PI);return b.create(n)}}const P_={1:Se.AVERAGE,2:Se.COUNT,3:Se.COUNTA,4:Se.MAX,5:Se.MIN,6:Se.PRODUCT,7:Se.STDEV,8:Se.STDEVP,9:Se.SUM,10:Se.VAR,11:Se.VARP};class j_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,...t){let r;e.isReferenceObject()?r=e.toArrayValueObject():r=e;const{isError:n,multiAreaRefs:s,normalRefs:a}=tu(t);if(!n&&s.length>0)return this._handleMultiAreaRefs(r,s,t);if(r.isArray()){const u=r.mapValue(l=>this._handleSingleObject(l,{isError:n,refs:a}));return u.getRowCount()===1&&u.getColumnCount()===1?u.get(0,0):u}return this._handleSingleObject(r,{isError:n,refs:a})}_handleSingleObject(e,t){const{isError:r=!1,refs:n}=t;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;if(r)return g.create(h.VALUE);let a=Math.floor(+s.getValue());if(a<1||a>11&&a<101||a>111)return g.create(h.VALUE);let u=!1;return a>=101&&(a-=100,u=!0),au({type:P_[a],ignoreRowHidden:u,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},n)}_handleMultiAreaRefs(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:u}=this._getMultiAreaInfo(t),l=Math.max(n,u),c=[];for(let f=0;f<l;f++){const m=f<n?f:n-1,d=[];for(let _=0;_<s;_++){if(n>1&&f>=n){d.push(g.create(h.NA));continue}const C=e.isArray()?e.get(m,_):e,E=[];for(let y=0;y<r.length;y++){const p=r[y],N=a.get(p);if(N){const M=f<N.rowAreas.length?f:N.rowAreas.length-1,D=N.rowAreas[M];if(D.isError()){d.push(D);break}E.push(D);continue}E.push(p)}const R=this._handleSingleObject(C,{isError:!1,refs:E});d.push(R)}c.push(d)}return c.length===1?c[0][0]:at(c,c.length,s)}_getMultiAreaInfo(e){const t=new Map;let r=1;return e.forEach(n=>{const s=n.getAreas().map(a=>{if(!a||a.length===0)return n;const u=a.find(l=>!l.isError());return u!=null?u:a[0]});t.set(n,{ref:n,rowAreas:s}),r=Math.max(r,s.length||1)}),{multiAreaInfoMap:t,maxAreasLen:r}}}class T_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()||(n.isArray()&&(n=n.sum()),n.isError()))return n;if(t=t.plus(n),t.isError())return t}return t}}class U_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=vn(n,t);s=In(s,n,t);const a=n.getRowCount(),u=n.getColumnCount();let l=n;if(r){l=r.toArrayValueObject();const c=l.getRowCount(),f=l.getColumnCount();if(a!==c||u!==f){const m=r.getRangeData();m.endRow=m.startRow+a-1,m.endColumn=m.startColumn+u-1,r.setRangeData(m),l=r.toArrayValueObject()}}return l.pick(s).sum()}}class x_ extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=kr(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=$r(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>e.pick(s).sum()));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class v_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=this._initArray1(e);if(t.length===0)return r.sum();const n=r.getRowCount(),s=r.getColumnCount(),a=this._getResultArrayByArray1(n,s,r);if(a instanceof g)return a;const u=a,l=this._validateVariants(t,n,s);return l||this._sumProduct(u,t,n,s)}_validateVariants(e,t,r){for(const n of e){if(n.isError())return n;if(n.isArray()){const s=n,a=s.getRowCount(),u=s.getColumnCount();if(a!==t&&u!==r)return g.create(h.VALUE)}}return null}_sumProduct(e,t,r,n){let s=0;for(let a=0;a<r;a++)for(let u=0;u<n;u++){let l=e[a][u];for(let c=0;c<t.length;c++){const f=t[c],m=this._getVariantCell(f,a,u);if(!m)return g.create(h.VALUE);if(m.isError())return m;m.isNumber()?l*=m.getValue():l=0}s+=l}return b.create(s)}_getVariantCell(e,t,r){if(!e.isArray())return e;const s=e.get(t,r);return s!=null?s:null}_initArray1(e){let t=e;return t.isArray()||(t=Z.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t}_getResultArrayByArray1(e,t,r){const n=[];for(let s=0;s<e;s++){const a=[];for(let u=0;u<t;u++){const l=r.get(s,u);if(l.isError())return l;l.isNumber()?a.push(l.getValue()):a.push(0)}n.push(a)}return n}}class I_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);const r=b.create(2);for(let n=0;n<e.length;n++){let s=e[n];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()?s.iterator(a=>{if(a==null||a.isString()||a.isBoolean()||a.isNull())return!0;if(a.isError())return t=a,!1;t=t.plus(a.pow(r))}):t=t.plus(s.pow(r)),t.isError())return t}return t}}class F_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,l=a*u;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],_=[];let C=0;return c.iterator((E,R,y)=>{const p=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const N=+E.getValue(),M=+p.getValue();d.push(N),_.push(M),C+=N**2-M**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):b.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const u=s**2-a**2;return b.create(u)}}class B_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,l=a*u;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],_=[];let C=0;return c.iterator((E,R,y)=>{const p=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const N=+E.getValue(),M=+p.getValue();d.push(N),_.push(M),C+=N**2+M**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):b.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const u=s**2+a**2;return b.create(u)}}class k_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,l=a*u;if(s!==l)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const c=e.flatten(),f=t.flatten();let m=ce.create();const d=[],_=[];let C=0;return c.iterator((E,R,y)=>{const p=f.get(R,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const N=+E.getValue(),M=+p.getValue();d.push(N),_.push(M),C+=(N-M)**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):b.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!S.isRealNum(s)||r.isBoolean()||n.isString()&&!S.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const u=(s-a)**2;return b.create(u)}}class $_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}}class Y_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}}class H_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.map((c,f,m)=>{let d=u.get(f,m),_=c;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue(),R=10**Math.trunc(E),y=Tn(C,R),p=Math.trunc(Cr(C,R)+y)/R;return b.create(p)});return n===1&&s===1?l.get(0,0):l}}const ll=[[CC,$.ABS],[_C,$.ACOS],[AC,$.ACOSH],[EC,$.ACOT],[RC,$.ACOTH],[bC,$.AGGREGATE],[pC,$.ARABIC],[NC,$.ASIN],[VC,$.ASINH],[OC,$.ATAN],[SC,$.ATAN2],[MC,$.ATANH],[DC,$.BASE],[wC,$.CEILING],[LC,$.CEILING_MATH],[PC,$.CEILING_PRECISE],[jC,$.COMBIN],[TC,$.COMBINA],[UC,$.COS],[xC,$.COSH],[vC,$.COT],[IC,$.COTH],[FC,$.CSC],[BC,$.CSCH],[kC,$.DECIMAL],[$C,$.DEGREES],[YC,$.EVEN],[HC,$.EXP],[GC,$.FACT],[WC,$.FACTDOUBLE],[QC,$.FLOOR],[qC,$.FLOOR_MATH],[XC,$.FLOOR_PRECISE],[KC,$.GCD],[ZC,$.INT],[zC,$.LCM],[JC,$.LN],[e_,$.LOG],[t_,$.LOG10],[r_,$.MDETERM],[n_,$.MINVERSE],[s_,$.MMULT],[a_,$.MOD],[i_,$.MROUND],[o_,$.MULTINOMIAL],[u_,$.MUNIT],[l_,$.ODD],[c_,$.PI],[f_,$.POWER],[m_,$.PRODUCT],[h_,$.QUOTIENT],[g_,$.RADIANS],[d_,$.RAND],[C_,$.RANDARRAY],[__,$.RANDBETWEEN],[A_,$.ROMAN],[E_,$.ROUND],[R_,$.ROUNDBANK],[y_,$.ROUNDDOWN],[b_,$.ROUNDUP],[p_,$.SEC],[N_,$.SECH],[O_,$.SERIESSUM],[V_,$.SEQUENCE],[S_,$.SIGN],[M_,$.SIN],[D_,$.SINH],[w_,$.SQRT],[L_,$.SQRTPI],[j_,$.SUBTOTAL],[T_,$.SUM],[U_,$.SUMIF],[x_,$.SUMIFS],[v_,$.SUMPRODUCT],[I_,$.SUMSQ],[F_,$.SUMX2MY2],[B_,$.SUMX2PY2],[k_,$.SUMXMY2],[$_,$.TAN],[Y_,$.TANH],[H_,$.TRUNC]];class G_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"_compareType",H.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Ha extends yt{constructor(e){super("");A(this,"_values",[]);this._values=e}static create(e){return new Ha(e)}isCube(){return!0}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}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 r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=b.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),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 W_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return n;if(!n.isArray())return g.create(h.VALUE);t.push(n)}return Ha.create(t)}}class Q_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?g.create(h.DIV_BY_ZERO):e.divided(t)}}class q_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class X_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class K_ extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const cl=[[G_,Ie.COMPARE],[Q_,Ie.DIVIDED],[q_,Ie.MINUS],[X_,Ie.MULTIPLY],[K_,Ie.PLUS],[W_,Ie.CUBE]];var T=(i=>(i.AVEDEV="AVEDEV",i.AVERAGE="AVERAGE",i.AVERAGE_WEIGHTED="AVERAGE.WEIGHTED",i.AVERAGEA="AVERAGEA",i.AVERAGEIF="AVERAGEIF",i.AVERAGEIFS="AVERAGEIFS",i.BETA_DIST="BETA.DIST",i.BETA_INV="BETA.INV",i.BINOM_DIST="BINOM.DIST",i.BINOM_DIST_RANGE="BINOM.DIST.RANGE",i.BINOM_INV="BINOM.INV",i.CHISQ_DIST="CHISQ.DIST",i.CHISQ_DIST_RT="CHISQ.DIST.RT",i.CHISQ_INV="CHISQ.INV",i.CHISQ_INV_RT="CHISQ.INV.RT",i.CHISQ_TEST="CHISQ.TEST",i.CONFIDENCE_NORM="CONFIDENCE.NORM",i.CONFIDENCE_T="CONFIDENCE.T",i.CORREL="CORREL",i.COUNT="COUNT",i.COUNTA="COUNTA",i.COUNTBLANK="COUNTBLANK",i.COUNTIF="COUNTIF",i.COUNTIFS="COUNTIFS",i.COVARIANCE_P="COVARIANCE.P",i.COVARIANCE_S="COVARIANCE.S",i.DEVSQ="DEVSQ",i.EXPON_DIST="EXPON.DIST",i.F_DIST="F.DIST",i.F_DIST_RT="F.DIST.RT",i.F_INV="F.INV",i.F_INV_RT="F.INV.RT",i.F_TEST="F.TEST",i.FISHER="FISHER",i.FISHERINV="FISHERINV",i.FORECAST="FORECAST",i.FORECAST_ETS="FORECAST.ETS",i.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",i.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",i.FORECAST_ETS_STAT="FORECAST.ETS.STAT",i.FORECAST_LINEAR="FORECAST.LINEAR",i.FREQUENCY="FREQUENCY",i.GAMMA="GAMMA",i.GAMMA_DIST="GAMMA.DIST",i.GAMMA_INV="GAMMA.INV",i.GAMMALN="GAMMALN",i.GAMMALN_PRECISE="GAMMALN.PRECISE",i.GAUSS="GAUSS",i.GEOMEAN="GEOMEAN",i.GROWTH="GROWTH",i.HARMEAN="HARMEAN",i.HYPGEOM_DIST="HYPGEOM.DIST",i.INTERCEPT="INTERCEPT",i.KURT="KURT",i.LARGE="LARGE",i.LINEST="LINEST",i.LOGEST="LOGEST",i.LOGNORM_DIST="LOGNORM.DIST",i.LOGNORM_INV="LOGNORM.INV",i.MARGINOFERROR="MARGINOFERROR",i.MAX="MAX",i.MAXA="MAXA",i.MAXIFS="MAXIFS",i.MEDIAN="MEDIAN",i.MIN="MIN",i.MINA="MINA",i.MINIFS="MINIFS",i.MODE_MULT="MODE.MULT",i.MODE_SNGL="MODE.SNGL",i.NEGBINOM_DIST="NEGBINOM.DIST",i.NORM_DIST="NORM.DIST",i.NORM_INV="NORM.INV",i.NORM_S_DIST="NORM.S.DIST",i.NORM_S_INV="NORM.S.INV",i.PEARSON="PEARSON",i.PERCENTILE_EXC="PERCENTILE.EXC",i.PERCENTILE_INC="PERCENTILE.INC",i.PERCENTRANK_EXC="PERCENTRANK.EXC",i.PERCENTRANK_INC="PERCENTRANK.INC",i.PERMUT="PERMUT",i.PERMUTATIONA="PERMUTATIONA",i.PHI="PHI",i.POISSON_DIST="POISSON.DIST",i.PROB="PROB",i.QUARTILE_EXC="QUARTILE.EXC",i.QUARTILE_INC="QUARTILE.INC",i.RANK_AVG="RANK.AVG",i.RANK_EQ="RANK.EQ",i.RSQ="RSQ",i.SKEW="SKEW",i.SKEW_P="SKEW.P",i.SLOPE="SLOPE",i.SMALL="SMALL",i.STANDARDIZE="STANDARDIZE",i.STDEV_P="STDEV.P",i.STDEV_S="STDEV.S",i.STDEVA="STDEVA",i.STDEVPA="STDEVPA",i.STEYX="STEYX",i.T_DIST="T.DIST",i.T_DIST_2T="T.DIST.2T",i.T_DIST_RT="T.DIST.RT",i.T_INV="T.INV",i.T_INV_2T="T.INV.2T",i.T_TEST="T.TEST",i.TREND="TREND",i.TRIMMEAN="TRIMMEAN",i.VAR_P="VAR.P",i.VAR_S="VAR.S",i.VARA="VARA",i.VARPA="VARPA",i.WEIBULL_DIST="WEIBULL.DIST",i.Z_TEST="Z.TEST",i))(T||{}),is=(i=>(i.ENCODEURL="ENCODEURL",i.FILTERXML="FILTERXML",i.WEBSERVICE="WEBSERVICE",i))(is||{});const Z_=new Set([$.ACOT,$.ACOTH,$.ARABIC,$.BASE,$.CEILING_MATH,$.CEILING_PRECISE,$.COMBINA,$.COT,$.COTH,$.CSC,$.CSCH,$.DECIMAL,$.FLOOR_MATH,$.FLOOR_PRECISE,$.MUNIT,$.RANDARRAY,$.SEC,$.SECH,$.SEQUENCE,ne.CHOOSECOLS,ne.CHOOSEROWS,ne.DROP,ne.EXPAND,ne.FILTER,ne.FORMULATEXT,ne.HSTACK,ne.SORT,ne.SORTBY,ne.TAKE,ne.TOCOL,ne.TOROW,ne.UNIQUE,ne.VSTACK,ne.WRAPCOLS,ne.WRAPROWS,ne.XLOOKUP,ne.XMATCH,X.BITAND,X.BITLSHIFT,X.BITOR,X.BITRSHIFT,X.BITXOR,X.ERF_PRECISE,X.ERFC_PRECISE,X.IMCOSH,X.IMCOT,X.IMCSC,X.IMCSCH,X.IMSEC,X.IMSECH,X.IMSINH,X.IMTAN,be.ISFORMULA,be.SHEET,be.SHEETS,Ee.IFNA,Ee.IFS,Ee.SWITCH,Ee.XOR,T.BETA_DIST,T.BETA_INV,T.BINOM_DIST,T.BINOM_DIST_RANGE,T.BINOM_INV,T.CHISQ_DIST,T.CHISQ_DIST_RT,T.CHISQ_INV,T.CHISQ_INV_RT,T.CHISQ_TEST,T.CONFIDENCE_NORM,T.CONFIDENCE_T,T.COVARIANCE_P,T.COVARIANCE_S,T.EXPON_DIST,T.F_DIST,T.F_DIST_RT,T.F_INV,T.F_INV_RT,T.F_TEST,T.FORECAST_LINEAR,T.GAMMA,T.GAMMA_DIST,T.GAMMA_INV,T.GAMMALN_PRECISE,T.GAUSS,T.HYPGEOM_DIST,T.LOGNORM_DIST,T.LOGNORM_INV,T.MAXIFS,T.MINIFS,T.MODE_MULT,T.MODE_SNGL,T.NEGBINOM_DIST,T.NORM_DIST,T.NORM_INV,T.NORM_S_DIST,T.NORM_S_INV,T.PERCENTILE_EXC,T.PERCENTILE_INC,T.PERCENTRANK_EXC,T.PERCENTRANK_INC,T.PERMUTATIONA,T.PHI,T.POISSON_DIST,T.QUARTILE_EXC,T.QUARTILE_INC,T.RANK_AVG,T.RANK_EQ,T.SKEW_P,T.STDEV_P,T.STDEV_S,T.T_DIST,T.T_DIST_2T,T.T_DIST_RT,T.T_INV,T.T_INV_2T,T.T_TEST,T.VAR_P,T.VAR_S,T.WEIBULL_DIST,T.Z_TEST,J.ARRAYTOTEXT,is.ENCODEURL,J.NUMBERVALUE,J.TEXTAFTER,J.TEXTBEFORE,J.TEXTJOIN,J.TEXTSPLIT,J.UNICHAR,J.UNICODE,J.VALUETOTEXT,Ae.DAYS,Ae.ISOWEEKNUM,ee.PDURATION,ee.RRI,Ee.BYCOL,Ee.BYROW,Ee.MAKEARRAY,Ee.MAP,Ee.REDUCE,Ee.SCAN]);class z_ extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let a=0;a<e.length;a++){let u=e[a];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(u=J_(u),u.isError())return u;if(e[a]=u,t=t.plus(u.sum()),t.isError())return t;r=r.plus(u.count())}else u.isNull()||(t=t.plus(u),r=r.plus(b.create(1)))}if(r.getValue()===0)return g.create(h.NUM);const n=t.divided(r);if(n.isError())return n;let s=b.create(0);for(let a=0;a<e.length;a++){let u=e[a];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(s=s.plus(u.minus(n).abs().sum()),s.isError())return s}else u.isNull()||(s=s.plus(u.minus(n).abs()))}return s.divided(r)}}function J_(i){const o=[];o[0]=[];let e=null;return i.iterator((t,r,n)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&o[0].push(t)}),e||at(o,1,o[0].length)}class eA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(t=t.plus(s.sum()),t.isError())return t;r=r.plus(s.count())}else s.isNull()||(t=t.plus(s),r=r.plus(b.create(1)))}return t.divided(r)}}class tA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",254)}calculate(...e){let t=!1,r;e.length%2!==0&&(t=!0,r=g.create(h.NA));const n=[],s=[];for(let a=0;a<e.length;a+=2){const u=e[a],l=u.isArray()?u.getRowCount():1,c=u.isArray()?u.getColumnCount():1;for(let _=0;_<l;_++)for(let C=0;C<c;C++){const E=u.isArray()?u.get(_,C):u;if(E.isError())return E;if(t)continue;const R=E.isNull()?"":E.getValue();n.push(R)}if(a+1>=e.length)continue;const f=e[a+1],m=f.isArray()?f.getRowCount():1,d=f.isArray()?f.getColumnCount():1;(m!==l||d!==c)&&(t=!0,r=g.create(h.VALUE));for(let _=0;_<m;_++)for(let C=0;C<d;C++){const E=f.isArray()?f.get(_,C):f;if(E.isError())return E;if(t)continue;const R=E.isNull()?"":E.getValue();s.push(R)}}return t?r:this._getResult(n,s)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let u=0;u<r;u++){const l=e[u],c=t[u];if(!(typeof l!="number"&&typeof c!="number")){if(typeof l!="number"||typeof c!="number"||c<0)return g.create(h.VALUE);n+=l*c,s+=c}}if(s===0)return g.create(h.DIV_BY_ZERO);const a=n/s;return b.create(a)}}class rA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0),r=b.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;let u=a;if(u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()&&(u=b.create(0))),u.isBoolean()&&(u=u.convertToNumberObjectValue()),u.isError())return t=u,!1;t=t.plus(u),r=r.plus(b.create(1))}),t.isError())return t}else s.isNull()||(t=t.plus(s),r=r.plus(b.create(1)))}return t.divided(r)}}class nA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=vn(n,t);s=In(s,n,t);const a=n.getRowCount(),u=n.getColumnCount();let l=n;if(r){l=r.toArrayValueObject();const d=l.getRowCount(),_=l.getColumnCount();if(a!==d||u!==_){const C=r.getRangeData();C.endRow=C.startRow+a-1,C.endColumn=C.startColumn+u-1,r.setRangeData(C),l=r.toArrayValueObject()}}const c=l.pick(s),f=c.sum(),m=c.count();return f.divided(m)}}class sA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=kr(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=$r(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s),u=a.sum(),l=a.count();return u.divided(l)}));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class aA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=s!=null?s:b.create(0),l=a!=null?a:b.create(1);u.isNull()&&(u=b.create(0)),l.isNull()&&(l=b.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,u.isArray()?u.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,u.isArray()?u.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,e,g.create(h.NA)),d=O(c,f,t,g.create(h.NA)),_=O(c,f,r,g.create(h.NA)),C=O(c,f,n,g.create(h.NA)),E=O(c,f,u,g.create(h.NA)),R=O(c,f,l,g.create(h.NA)),y=m.mapValue((p,N,M)=>{const D=d.get(N,M),L=_.get(N,M),P=C.get(N,M),j=E.get(N,M),I=R.get(N,M);return this._handleSingleObject(p,D,L,P,j,I)});return c===1&&f===1?y.get(0,0):y}_handleSingleObject(e,t,r,n,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;if(a.isError())return a;const{isError:u,errorObject:l,variants:c}=B(e,t,r,n,s,a);if(u)return l;const[f,m,d,_,C,E]=c,R=+f.getValue(),y=+m.getValue(),p=+d.getValue(),N=+_.getValue(),M=+C.getValue(),D=+E.getValue();if(y<=0||p<=0||R<M||R>D||M===D)return g.create(h.NUM);let L;return N?L=Go((R-M)/(D-M),y,p):L=Dh((R-M)/(D-M),y,p)/(D-M),b.create(L)}}class iA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){let s=n!=null?n:r;s.isNull()&&(s=r);const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,t,g.create(h.NA)),f=O(a,u,r,g.create(h.NA)),m=O(a,u,s,g.create(h.NA)),d=l.mapValue((_,C,E)=>{const R=c.get(C,E),y=f.get(C,E),p=m.get(C,E);return _.isError()?_:R.isError()?R:y.isError()?y:p.isError()?p:this._handleSingleObject(_,R,y,p)});return a===1&&u===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=+c.getValue(),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||_<0||_>1||C<0||C>d||E<0||E<C||E>d)return g.create(h.NUM);let R=0;for(let y=C;y<=E;y++)R+=xa(y,d,_);return b.create(R)}}class oA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=+c.getValue();if(f<0||m<1||m>10**10)return g.create(h.NUM);let _;return d?_=va(f,m):_=wh(f,m),b.create(_)}}class uA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=qo(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class lA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:R,variants:y}=B(f,_,C);if(E)return R;const[p,N,M]=y,D=+p.getValue(),L=+N.getValue(),P=Math.floor(+M.getValue());if(D<=0||D>=1||L<=0||P<1)return g.create(h.NUM);if(P===1)return g.create(h.DIV_BY_ZERO);const j=Math.abs(Jn(D/2,P-1)*L/Math.sqrt(P));return b.create(j)});return n===1&&s===1?c.get(0,0):c}}class cA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++){const _=e[d]-a,C=t[d]-u;l+=_*C,c+=_**2,f+=C**2}const m=Math.sqrt(c*f);return m===0?g.create(h.DIV_BY_ZERO):b.create(l/m)}}class fA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){const n=e[r];n.isError()||(n.isArray()?t=t.plus(n.count()):n.isString()?n.convertToNumberObjectValue().isError()||(t=t.plus(b.create(1))):n.isNull()||(t=t.plus(b.create(1))))}return t}}class mA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isError()){t=t.plus(b.create(1));continue}n.isArray()?(n=n.countA(),t=t.plus(n)):n.isNull()||(t=t.plus(b.create(1)))}return t}}class hA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?b.create(1):e.isArray()?e.countBlank():b.create(0)}}class gA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){if(!e.isReferenceObject())return g.create(h.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=e.toArrayValueObject();let n=vn(r,t);n=In(n,r,t);const s=r.pick(n);return this._countA(s)}_countA(e){let t=b.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class dA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const{isError:t,errorObject:r,rangeIsDifferentSize:n,criteriaMaxRowLength:s,criteriaMaxColumnLength:a,variants:u}=kr(e);if(t)return r;if(n)return s===1&&a===1?g.create(h.VALUE):O(s,a,g.create(h.VALUE));const l=$r(u,s,a,!0);return this._aggregateResults(l)}_aggregateResults(e){const t=e.map(r=>r.map(n=>CA(n)));return t.length===1&&t[0].length===1?t[0][0]:Z.create({calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}function CA(i){let o=0;return i.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&o++}),b.create(o)}class _A extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length<=1)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let c=0;c<r;c++)n+=e[c],s+=t[c];const a=n/r,u=s/r;let l=0;for(let c=0;c<r;c++){const f=e[c]-a,m=t[c]-u;l+=f*m}return b.create(l/(r-1))}}class AA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0,n=!0;for(let u=0;u<e.length;u++){const l=e[u];if(l.isArray()){let c=!1,f=g.create(h.VALUE);if(l.iterator(m=>{const d=this._handleSingleObject(m);if(d.isError())return c=!0,f=d,!1;if(d.isNull())return!0;const _=d.getValue();t.push(_),r+=_,n=!1}),c)return f}else{const c=this._handleSingleObject(l);if(c.isError())return c;if(c.isNull())continue;const f=c.getValue();t.push(f),r+=f,n=!1}}if(n)return g.create(h.NUM);const s=r/t.length;let a=0;for(let u=0;u<t.length;u++)a+=(t[u]-s)**2;return b.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return ce.create();const t=e.getValue();return S.isRealNum(t)?b.create(+t):ce.create()}}class EA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=Math.floor(+c.getValue()),C=Math.floor(+f.getValue()),E=+m.getValue();if(d<0||_<1||_>10**10||C<1||C>10**10)return g.create(h.NUM);let R;return E?R=Ia(d,_,C):R=Lh(d,_,C),Number.isNaN(R)||!Number.isFinite(R)?g.create(h.NUM):b.create(R)}}class RA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=Math.floor(+c.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=Xo(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class yA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=s.getValue();if(a<=-1||a>=1)return g.create(h.NUM);const u=Math.log((1+a)/(1-a))/2;return b.create(u)}}class bA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Math.exp(2*a)-1,l=Math.exp(2*a)+1;return!Number.isFinite(u)&&u>0&&!Number.isFinite(l)&&l>0?b.create(1):b.create(u/l)}}class fl extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,a=r.isArray()?r.getRowCount():1,u=r.isArray()?r.getColumnCount():1;let l=t;t.isArray()&&n===1&&s===1&&(l=t.get(0,0));let c=r;return r.isArray()&&a===1&&u===1&&(c=r.get(0,0)),e.isArray()?e.mapValue(f=>this._handleSingleObject(f,l,c,n,s,a,u)):this._handleSingleObject(e,l,c,n,s,a,u)}_handleSingleObject(e,t,r,n,s,a,u){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let l=e;if(e.isString()&&(l=e.convertToNumberObjectValue()),l.isError())return l;const c=+l.getValue();if((n*s===1||a*u===1)&&(t.isNull()||r.isNull()))return g.create(h.VALUE);if(n*s!==a*u)return g.create(h.NA);const{isError:f,errorObject:m,array1Values:d,array2Values:_,noCalculate:C}=Ze(t,r,n*s,s,u);if(f)return m;if(C)return g.create(h.DIV_BY_ZERO);const E=Ko(c,d,_);return Number.isFinite(E)?b.create(E):g.create(h.DIV_BY_ZERO)}}class pA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,values:s}=this._getValues(e);if(r)return n;if(e.isNull()||t.isNull())return g.create(h.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);const u=this._getNewBinsArrayValues(a),l=new Array(u.length).fill(0);for(let c=0;c<s.length;c++){const f=s[c],m=u.findIndex(d=>f>d.start&&f<=d.end);l[m]++}return Z.createByArray(l.map(c=>[c]))}_getValues(e,t=!1){const r=[],n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;for(let a=0;a<n;a++)for(let u=0;u<s;u++){const l=e.isArray()?e.get(a,u):e;if(l.isError()){if(!t)return{isError:!0,errorObject:l,values:r};continue}if(l.isNull()||l.isBoolean())continue;const c=l.getValue();S.isRealNum(c)&&r.push(+c)}return{isError:!1,errorObject:null,values:r}}_getNewBinsArrayValues(e){const t=e.map((n,s)=>({value:n,index:s})).sort((n,s)=>n.value-s.value),r=[];for(let n=0;n<t.length;n++){const s=t[n].index;if(n===0){r[s]={start:-1/0,end:t[n].value};continue}r[s]={start:t[n-1].value,end:t[n].value}}return r.push({start:t[t.length-1].value,end:1/0}),r}}class NA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a===0||a<0&&a%1===0)return g.create(h.NUM);const u=Zn(a);return Number.isNaN(u)||!Number.isFinite(u)?g.create(h.NUM):b.create(u)}}class ml extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0)return g.create(h.NUM);const u=ut(a);return Math.abs(u)<1e-15?b.create(0):b.create(u)}}class VA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Qr(a,0,1)-.5;return b.create(u)}}class OA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=0,n=!1;for(let a=0;a<e.length;a++){const u=e[a];if(u.isArray()){let l=!1,c=g.create(h.VALUE);if(u.iterator(f=>{if(f!=null&&f.isError())return l=!0,c=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!S.isRealNum(m))return!0;+m<=0&&(n=!0),t*=+m,r++}),l)return c}else{if(u.isError())return u;if(u.isString()){const c=u.convertToNumberObjectValue();if(c.isError())return c}if(u.isNull()||u.isBoolean())continue;const l=u.getValue();if(!S.isRealNum(l))continue;+l<=0&&(n=!0),t*=+l,r++}}if(r===0||n)return g.create(h.NUM);const s=t**(1/r);return b.create(s)}}class SA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=es(e,t,r);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;const c=this._getNewXsValues(l,r);if(c instanceof g)return c;let f=n!=null?n:F.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(u,l,c,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=ns(e,t,r,n,!0);if(a instanceof g)return a;const{coefficients:u,newX:l}=a,c=u[0].length,f=u[0][c-1];let m=[];for(let d=0;d<l.length;d++){m[d]=[];let _=f;for(let C=c-2;C>=0;C--)_*=u[0][c-2-C]**l[d][C];m[d].push(_)}return s&&(m=_t(m)),Z.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l}=rs(a,s,n,!0),c=r.map(f=>f.map(m=>l*u**m));return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?ts(e.length,e[0].length):At(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:At(t)}}class MA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0,n=!1;for(let a=0;a<e.length;a++){const u=e[a];if(u.isArray()){let l=!1,c=g.create(h.VALUE);if(u.iterator(f=>{if(f!=null&&f.isError())return l=!0,c=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!S.isRealNum(m))return!0;+m<=0&&(n=!0),t+=1/+m,r++}),l)return c}else{if(u.isError())return u;if(u.isString()){const c=u.convertToNumberObjectValue();if(c.isError())return c}if(u.isNull()||u.isBoolean())continue;const l=u.getValue();if(!S.isRealNum(l))continue;+l<=0&&(n=!0),t+=1/+l,r++}}if(r===0)return g.create(h.NA);if(n)return g.create(h.NUM);const s=r/t;return b.create(s)}}class DA extends V{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,t,g.create(h.NA)),f=O(a,u,r,g.create(h.NA)),m=O(a,u,n,g.create(h.NA)),d=O(a,u,s,g.create(h.NA)),_=l.mapValue((C,E,R)=>{const y=c.get(E,R),p=f.get(E,R),N=m.get(E,R),M=d.get(E,R);return C.isError()?C:y.isError()?y:p.isError()?p:N.isError()?N:M.isError()?M:this._handleSingleObject(C,y,p,N,M)});return a===1&&u===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){const{isError:a,errorObject:u,variants:l}=B(e,t,r,n,s);if(a)return u;const[c,f,m,d,_]=l,C=Math.floor(+c.getValue()),E=Math.floor(+f.getValue()),R=Math.floor(+m.getValue()),y=Math.floor(+d.getValue()),p=+_.getValue();if(C<0||C>E||C>R||C<E-y+R||E<=0||E>y||R<=0||R>y||y<=0)return g.create(h.NUM);let N;return p?N=vh(C,E,R,y):N=Ba(C,E,R,y),Number.isNaN(N)&&(N=0),b.create(N)}}class wA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=Ko(0,e,t);return Number.isFinite(r)?b.create(r):g.create(h.DIV_BY_ZERO)}}class LA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=3?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let u=0;for(let c=0;c<r;c++)u+=((e[c]-n)/a)**4;const l=r*(r+1)/((r-1)*(r-2)*(r-3))*u-3*(r-1)**2/((r-2)*(r-3));return b.create(l)}}class PA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Jt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return ou(e,u)}}class jA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=es(e,t);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;let c=r!=null?r:F.create(!0);c.isArray()&&(c=c.get(0,0));let f=n!=null?n:F.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=B(c,f);if(m)return d;const[C,E]=_;return this._getResult(u,l,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=ns(e,t,t,r,!1);if(s instanceof g)return s;const{coefficients:a,X:u,XTXInverse:l}=s;let c=[];if(n){const f=e.flat(),m=f.length,d=r?f.reduce((v,Y)=>v+Y,0)/m:0,_=l.length,C=m-_,E=a[0].length,R=new Array(E-2).fill(h.NA),y=a[0][E-1],p=[];for(let v=0;v<u.length;v++){let Y=y;for(let Q=E-2;Q>=0;Q--)Y+=a[0][E-2-Q]*u[v][Q];p.push(Y)}let N=0,M=0;for(let v=0;v<m;v++)N+=(f[v]-d)**2,M+=(f[v]-p[v])**2;const D=N-M,L=N===0?0:D/N,P=[];for(let v=_-1;v>=0;v--){const Y=C>0?Math.sqrt(M/C*l[v][v]):0;P.push(Y)}if(r){const v=P.shift();P.push(v)}else P.push(h.NA);const j=C>0?Math.sqrt(M/C):0,I=C>0?D/(E-1)/(M/C):h.NUM;c=[a[0],[...P],[L,j,...R],[I,C,...R],[D,M,...R]]}else c=[a[0]];return Z.createByArray(c)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l}=rs(a,s,r,!1);if(Number.isNaN(u))return g.create(h.NA);let c=[];if(n){const f=s.length;let m=0,d=0,_=f-1;if(r){let P=0,j=0;for(let I=0;I<f;I++)P+=s[I],j+=a[I];m=P/f,d=j/f,_=f-2}let C=0,E=0,R=0;for(let P=0;P<f;P++)C+=(s[P]-m)**2,E+=(s[P]-(u*a[P]+l))**2,R+=(a[P]-d)**2;const y=C-E,p=y===C?1:y/C;let N=0,M=0,D=0;_>0&&(R>0&&(N=Math.sqrt(E/_/R),M=Math.sqrt(E/_*(1/f+d**2/R))),D=Math.sqrt(E/_));const L=_>0?y/1/(E/_):h.NUM;r||(M=h.NA),c=[[u,l],[N,M],[p,D],[L,_],[y,E]]}else c=[[u,l]];return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?ts(e.length,e[0].length):At(t)}}class TA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=es(e,t);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;let c=r!=null?r:F.create(!0);c.isArray()&&(c=c.get(0,0));let f=n!=null?n:F.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=B(c,f);if(m)return d;const[C,E]=_;return this._getResult(u,l,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=ns(e,t,t,r,!0);if(s instanceof g)return s;const{coefficients:a,Y:u,X:l,XTXInverse:c}=s;let f=[];if(n){const m=u.flat(),d=m.length,_=r?m.reduce((Y,Q)=>Y+Q,0)/d:0,C=c.length,E=d-C,R=a[0].length,y=new Array(R-2).fill(h.NA),p=a[0][R-1],N=[];for(let Y=0;Y<l.length;Y++){let Q=p;for(let se=R-2;se>=0;se--)Q*=a[0][R-2-se]**l[Y][se];N.push(Math.log(Q))}let M=0,D=0;for(let Y=0;Y<d;Y++)M+=(m[Y]-_)**2,!(!r&&!Number.isFinite(N[Y]))&&(D+=(m[Y]-N[Y])**2);Number.isFinite(D)||(D=0);const L=M-D,P=M===0?0:L/M,j=[];for(let Y=C-1;Y>=0;Y--){const Q=E>0?Math.sqrt(D/E*c[Y][Y]):0;j.push(Q)}if(r){const Y=j.shift();j.push(Y)}else j.push(h.NA);const I=E>0?Math.sqrt(D/E):0,v=E>0?L/(R-1)/(D/E):h.NUM;f=[a[0],[...j],[P,I,...y],[v,E,...y],[L,D,...y]]}else f=[a[0]];return Z.createByArray(f)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l,Y:c}=rs(a,s,r,!0);if(Number.isNaN(u))return g.create(h.NA);let f=[];if(n){const m=c.length;let d=0,_=0,C=m-1;if(r){let j=0,I=0;for(let v=0;v<m;v++)j+=c[v],I+=a[v];d=j/m,_=I/m,C=m-2}let E=0,R=0,y=0;for(let j=0;j<m;j++)E+=(c[j]-d)**2,R+=(c[j]-Math.log(l*u**a[j]))**2,y+=(a[j]-_)**2;const p=E-R,N=E===0?0:p/E;let M=0,D=0,L=0,P=0;C>0&&(y>0&&(M=Math.sqrt(R/C/y),D=Math.sqrt(R/C*(1/m+_**2/y))),L=Math.sqrt(R/C),P=p/1/(R/C)),r||(D=h.NA),f=[[u,l],[M,D],[N,L],[P,C],[p,R]]}else f=[[u,l]];return Z.createByArray(f)}_getKnownXsValues(e,t){return!t||t.isNull()?ts(e.length,e[0].length):At(t)}}class UA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=+l.getValue(),_=+c.getValue(),C=+f.getValue(),E=+m.getValue();if(d<=0||C<=0)return g.create(h.NUM);let R;return E?R=zo(d,_,C):R=Ih(d,_,C),b.create(R)}}class xA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getRangeValues(e);if(r instanceof g)return r;const n=Kt(t);if(n.isError())return n;const{isError:s,errorObject:a,variants:u}=B(n);if(s)return a;const[l]=u,c=+l.getValue();if(c<=0||c>=1)return g.create(h.NUM);if(r.length<2)return g.create(h.DIV_BY_ZERO);const f=1-c,m=r.length,d=r.reduce((R,y)=>R+y,0)/m,_=r.reduce((R,y)=>R+(y-d)**2,0)/(m-1),C=Math.sqrt(_);if(C<=0)return g.create(h.NUM);const E=Math.abs(Jn(f/2,m-1)*C/Math.sqrt(m));return b.create(E)}_getRangeValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;u.isNull()||u.isBoolean()||u.isString()||t.push(+u.getValue())}return t}}class vA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.max()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class IA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=b.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class FA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=kr(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=$r(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?Z.create("0"):a.max()}));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class BA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(u=>{if(u!=null&&u.isError())return s=!0,a=u,!1;if(u!=null&&u.isNull()||u!=null&&u.isBoolean())return!0;const l=u.getValue();if(!S.isRealNum(l))return!0;t.push(+l)}),s)return a}else{if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;if(n.isString()){const a=n.convertToNumberObjectValue();if(a.isError())return a}const s=n.getValue();if(!S.isRealNum(s))continue;t.push(+s)}}return t.length===0?g.create(h.NUM):iu(t)}}class kA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.min()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class $A extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=b.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=b.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?b.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class YA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:u,targetRange:l,variants:c}=kr(t,e);if(r)return n;if(s)return a===1&&u===1?g.create(h.VALUE):O(a,u,g.create(h.VALUE));const f=$r(c,a,u,!0);return this._aggregateResults(l,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?Z.create("0"):a.min()}));return r.length===1&&r[0].length===1?r[0][0]:Z.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class HA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const c=a.convertToNumberObjectValue();if(c.isError())return c}const u=a.isArray()?a.getRowCount():1,l=a.isArray()?a.getColumnCount():1;for(let c=0;c<u;c++)for(let f=0;f<l;f++){const m=a.isArray()?a.get(c,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();S.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return r.length===1?b.create(r[0]):Z.createByArray(r.map(n=>[n]))}}class GA extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(e,t,r,n);if(s)return a;const[l,c,f,m]=u,d=Math.floor(+l.getValue()),_=Math.floor(+c.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||_<1||C<=0||C>=1)return g.create(h.NUM);let R;return E?R=Bh(d,_,C):R=ka(d,_,C),b.create(R)}}class WA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=+u.getValue();let f;return c?f=Qr(l,0,1):f=Jo(l,0,1),b.create(f)}}class QA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-u),c+=(e[d]-a)**2,f+=(t[d]-u)**2;if(c===0||f===0)return g.create(h.DIV_BY_ZERO);const m=l/Math.sqrt(c*f);return b.create(m)}}class qA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Jt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return cu(e,u)}}class XA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:b.create(3);s.isNull()&&(s=b.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,t,g.create(h.NA)),c=O(a,u,s,g.create(h.NA)),f=l.mapValue((m,d,_)=>{const C=c.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&u===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t,r);if(n)return s;const[u,l]=a,c=+u.getValue(),f=Math.floor(+l.getValue()),m=e.length;if(m===0||c<e[0]||c>e[m-1])return g.create(h.NA);if(m===1)return c===e[0]?b.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)c===e[C]?(d=(C+1)/(m+1),_=!0):c>e[C]&&C+1<m&&c<e[C+1]&&(d=(C+1+(c-e[C])/(e[C+1]-e[C]))/(m+1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=Qe(d,f),b.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean())continue;const l=u.getValue();S.isRealNum(l)&&n.push(+l)}return n.sort((s,a)=>s-a)}}class KA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=B(l,m);if(d)return _;const[E,R]=C,y=Math.floor(+E.getValue()),p=Math.floor(+R.getValue());if(y<0||y>=2147483647||p<0||y<p)return g.create(h.NUM);let N=1;for(let M=y-p+1;M<=y;M++)N*=M;return Number.isFinite(N)?b.create(N):g.create(h.NUM)});return r===1&&n===1?u.get(0,0):u}}class ZA extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);if(l.isError())return l;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=B(l,m);if(d)return _;const[E,R]=C,y=Math.floor(+E.getValue()),p=Math.floor(+R.getValue());if(y<0||y>=2147483647||p<0)return g.create(h.NUM);if(y===0)return p===0?b.create(1):b.create(0);const N=y**p;return Number.isFinite(N)?b.create(N):g.create(h.NUM)});return r===1&&n===1?u.get(0,0):u}}class zA extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return b.create(u)}}class JA extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,xRangeValues:u,probRangeValues:l}=this._handleXRangeAndProbRange(e,t);let c=n!=null?n:r;n!=null&&n.isNull()&&(c=r);const f=Math.max(r.isArray()?r.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(r.isArray()?r.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,r,g.create(h.NA)),_=O(f,m,c,g.create(h.NA)),C=d.mapValue((E,R,y)=>{const p=_.get(R,y);return e.isError()?e:t.isError()?t:E.isError()?E:p.isError()?p:s?a:this._handleSingleObject(u,l,E,p)});return f===1&&m===1?C.get(0,0):C}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(r,n);if(s)return a;const[l,c]=u,f=+l.getValue(),m=+c.getValue();if(t.reduce((_,C)=>_+C,0)!==1)return g.create(h.NUM);let d=0;for(let _=0;_<e.length;_++)e[_]>=f&&e[_]<=m&&(d+=t[_]);return b.create(d)}_handleXRangeAndProbRange(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return{isError:!0,errorObject:u,xRangeValues:[],probRangeValues:[]};let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]};if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),xRangeValues:[],probRangeValues:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),xRangeValues:[],probRangeValues:[]};const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?{isError:!0,errorObject:f,xRangeValues:[],probRangeValues:[]}:_?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:m,probRangeValues:d}}}class eE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Jt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=Math.floor(+a.getValue());return mu(e,u)}}class tE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:u}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.map((C,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),N=+y.getValue();return Number.isNaN(p)||Number.isNaN(N)?g.create(h.VALUE):this._getResult(p,N,u)});return c===1&&f===1?_.get(0,0):_}_getResult(e,t,r){const n=r.sort((l,c)=>t?l-c:c-l);let s=n.indexOf(e);const a=[];for(;s>=0;){const l=s+1;a.push(l),s=n.indexOf(e,l)}if(a.length===0)return g.create(h.NA);const u=a.reduce((l,c)=>l+c,0)/a.length;return b.create(u)}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const u=a;if(u.isError())return t=!0,r=u,!1;if(u.isNull()||u.isBoolean())return!0;const l=+u.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class rE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:u}=this._checkRefReferenceObject(t);let l=r!=null?r:b.create(0);l.isReferenceObject()&&(l=l.toArrayValueObject());const c=Math.max(n.isArray()?n.getRowCount():1,l.isArray()?l.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,l.isArray()?l.getColumnCount():1),m=O(c,f,n,g.create(h.NA)),d=O(c,f,l,g.create(h.NA)),_=m.map((C,E,R)=>{const y=d.get(E,R);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),N=+y.getValue();if(Number.isNaN(p)||Number.isNaN(N))return g.create(h.VALUE);const D=u.sort((L,P)=>N?L-P:P-L).indexOf(p);return D===-1?g.create(h.NA):b.create(D+1)});return c===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const u=a;if(u.isError())return t=!0,r=u,!1;if(u.isNull()||u.isBoolean())return!0;const l=+u.getValue();if(Number.isNaN(l))return!0;n.push(l)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class nE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-u),c+=(e[d]-a)**2,f+=(t[d]-u)**2;if(c===0||f===0)return g.create(h.DIV_BY_ZERO);const m=(l/Math.sqrt(c*f))**2;return b.create(m)}}class sE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let u=0;for(let c=0;c<r;c++)u+=((e[c]-n)/a)**3;const l=r/((r-1)*(r-2))*u;return b.create(l)}}class aE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const l=s.convertToNumberObjectValue();if(l.isError())return l}const a=s.isArray()?s.getRowCount():1,u=s.isArray()?s.getColumnCount():1;for(let l=0;l<a;l++)for(let c=0;c<u;c++){const f=s.isArray()?s.get(l,c):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();S.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let c=0;c<r;c++)s+=(e[c]-n)**2;const a=Math.sqrt(s/r);if(a===0)return g.create(h.DIV_BY_ZERO);let u=0;for(let c=0;c<r;c++)u+=((e[c]-n)/a)**3;const l=u/r;return b.create(l)}}class iE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if(r*n===1||s*a===1)return u.isNull()||l.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m];const a=n/r,u=s/r;let l=0,c=0;for(let m=0;m<r;m++)l+=(e[m]-a)*(t[m]-u),c+=(t[m]-u)**2;if(c===0)return g.create(h.DIV_BY_ZERO);const f=l/c;return b.create(f)}}class oE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Jt(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();return uu(e,u)}}class uE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=+l.getValue(),d=+c.getValue();if(d<=0)return g.create(h.NUM);const _=(f-m)/d;return b.create(_)}}class lE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class cE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class fE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let u=e;if(e.isArray()&&r===1&&n===1&&(u=e.get(0,0)),u.isError())return u;let l=t;if(t.isArray()&&s===1&&a===1&&(l=t.get(0,0)),l.isError())return l;if((r*n===1||s*a===1)&&(u.isNull()||l.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:c,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=Ze(e,t,r*n,n,a);return c?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;if(r<=2)return g.create(h.DIV_BY_ZERO);let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,u=s/r;let l=0,c=0,f=0;for(let d=0;d<r;d++)l+=(e[d]-a)*(t[d]-u),c+=(e[d]-a)**2,f+=(t[d]-u)**2;if(f===0)return g.create(h.DIV_BY_ZERO);const m=Math.sqrt((c-l**2/f)/(r-2));return Number.isNaN(m)||!Number.isFinite(m)?g.create(h.NUM):b.create(m)}}class mE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a,f=+u.getValue(),m=Math.floor(+l.getValue()),d=+c.getValue();if(m<1)return g.create(h.NUM);let _;return d?_=qr(f,m):_=$h(f,m),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):b.create(_)}}class hE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<0||c<1||c>10**10)return g.create(h.NUM);const f=qr(-l,c)*2;return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class gE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(c<1||c>10**10)return g.create(h.NUM);const f=qr(-l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class dE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s,l=+a.getValue(),c=Math.floor(+u.getValue());if(l<=0||l>1||c<1||c>10**10)return g.create(h.NUM);const f=Jn(l,c);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):b.create(f)}}class CE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=es(e,t,r);if(s)return a;const u=At(e);if(u instanceof g)return u;const l=this._getKnownXsValues(u,t);if(l instanceof g)return l;const c=this._getNewXsValues(l,r);if(c instanceof g)return c;let f=n!=null?n:F.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(u,l,c,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=ns(e,t,r,n,!1);if(a instanceof g)return a;const{coefficients:u,newX:l}=a,c=u[0].length,f=u[0][c-1];let m=[];for(let d=0;d<l.length;d++){m[d]=[];let _=f;for(let C=c-2;C>=0;C--)_+=u[0][c-2-C]*l[d][C];m[d].push(_)}return s&&(m=_t(m)),Z.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:u,intercept:l}=rs(a,s,n,!1);if(Number.isNaN(u))return g.create(h.NA);const c=r.map(f=>f.map(m=>u*m+l));return Z.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?ts(e.length,e[0].length):At(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:At(t)}}class _E extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=+a.getValue();if(u<0||u>=1)return g.create(h.NUM);const l=Qe(e.length*u/2,0)*2,c=e.slice(l/2,e.length-l/2),f=c.reduce((m,d)=>m+d,0)/c.length;return b.create(f)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;if(u.isNull()||u.isBoolean())continue;const l=u.getValue();S.isRealNum(l)&&n.push(+l)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class AE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class EE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}const hl=[[z_,T.AVEDEV],[eA,T.AVERAGE],[tA,T.AVERAGE_WEIGHTED],[rA,T.AVERAGEA],[nA,T.AVERAGEIF],[sA,T.AVERAGEIFS],[aA,T.BETA_DIST],[hu,T.BETA_INV],[gu,T.BINOM_DIST],[iA,T.BINOM_DIST_RANGE],[du,T.BINOM_INV],[oA,T.CHISQ_DIST],[Cu,T.CHISQ_DIST_RT],[uA,T.CHISQ_INV],[_u,T.CHISQ_INV_RT],[Au,T.CHISQ_TEST],[Eu,T.CONFIDENCE_NORM],[lA,T.CONFIDENCE_T],[cA,T.CORREL],[fA,T.COUNT],[mA,T.COUNTA],[hA,T.COUNTBLANK],[gA,T.COUNTIF],[dA,T.COUNTIFS],[Ru,T.COVARIANCE_P],[_A,T.COVARIANCE_S],[AA,T.DEVSQ],[yu,T.EXPON_DIST],[EA,T.F_DIST],[bu,T.F_DIST_RT],[RA,T.F_INV],[pu,T.F_INV_RT],[Nu,T.F_TEST],[yA,T.FISHER],[bA,T.FISHERINV],[fl,T.FORECAST],[fl,T.FORECAST_LINEAR],[pA,T.FREQUENCY],[NA,T.GAMMA],[Vu,T.GAMMA_DIST],[Ou,T.GAMMA_INV],[ml,T.GAMMALN],[ml,T.GAMMALN_PRECISE],[VA,T.GAUSS],[OA,T.GEOMEAN],[SA,T.GROWTH],[MA,T.HARMEAN],[DA,T.HYPGEOM_DIST],[wA,T.INTERCEPT],[LA,T.KURT],[PA,T.LARGE],[jA,T.LINEST],[TA,T.LOGEST],[UA,T.LOGNORM_DIST],[Su,T.LOGNORM_INV],[xA,T.MARGINOFERROR],[vA,T.MAX],[IA,T.MAXA],[FA,T.MAXIFS],[BA,T.MEDIAN],[kA,T.MIN],[$A,T.MINA],[YA,T.MINIFS],[HA,T.MODE_MULT],[Mu,T.MODE_SNGL],[GA,T.NEGBINOM_DIST],[Du,T.NORM_DIST],[wu,T.NORM_INV],[WA,T.NORM_S_DIST],[Lu,T.NORM_S_INV],[QA,T.PEARSON],[qA,T.PERCENTILE_EXC],[Pu,T.PERCENTILE_INC],[XA,T.PERCENTRANK_EXC],[ju,T.PERCENTRANK_INC],[KA,T.PERMUT],[ZA,T.PERMUTATIONA],[zA,T.PHI],[Tu,T.POISSON_DIST],[JA,T.PROB],[eE,T.QUARTILE_EXC],[Uu,T.QUARTILE_INC],[tE,T.RANK_AVG],[rE,T.RANK_EQ],[nE,T.RSQ],[sE,T.SKEW],[aE,T.SKEW_P],[iE,T.SLOPE],[oE,T.SMALL],[uE,T.STANDARDIZE],[xu,T.STDEV_P],[vu,T.STDEV_S],[lE,T.STDEVA],[cE,T.STDEVPA],[fE,T.STEYX],[mE,T.T_DIST],[hE,T.T_DIST_2T],[gE,T.T_DIST_RT],[dE,T.T_INV],[Iu,T.T_INV_2T],[Fu,T.T_TEST],[CE,T.TREND],[_E,T.TRIMMEAN],[Bu,T.VAR_P],[ku,T.VAR_S],[AE,T.VARA],[EE,T.VARPA],[$u,T.WEIBULL_DIST],[Yu,T.Z_TEST]];class RE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:b.create(0);if(t!=null&&t.isNull()&&(r=b.create(0)),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=this._checkArray(e);if(r.isError())return r;const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=+u.getValue(),c=e.isArray()?e.getRowCount():1,f=e.isArray()?e.getColumnCount():1;let m="";for(let d=0;d<c;d++)for(let _=0;_<f;_++){const C=e.isArray()?e.get(d,_):e;let E=`${C.getValue()}`;C.isNull()&&(E=""),C.isBoolean()&&(E=E.toLocaleUpperCase()),C.isString()&&l?m+=`"${E}"`:m+=E,d===c-1&&_===f-1||(l?_===f-1?m+=";":m+=",":m+=", ")}return l&&(m=`{${m}}`),m.length>32767?g.create(h.CALC):x.create(m)}_checkArray(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t>1||r>1?e:e.get(0,0)}return e}}class yE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const t=e.getValue().toLocaleString();let r="";for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);s===12288?s=32:s>=65281&&s<=65374&&(s-=65248),r+=String.fromCharCode(s)}return x.create(r)}}class bE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=+s.getValue(),u=Math.abs(Number.parseInt(a.toString(),10)),l=Number.parseFloat((Math.abs(a)-u).toFixed(2));let c="";return u===0?l!==0?c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(l*100)}สตางค์`:c="ศูนย์บาทถ้วน":l===0?c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(u)}บาทถ้วน`:c=`${a<0?"ลบ":""}${this._convertNumberToThaiText(u)}บาท${this._convertNumberToThaiText(l*100)}สตางค์`,x.create(c)}_convertNumberToThaiText(e){const t=["ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน",""],r=["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],n=["ลบ","บาท","ถ้วน","สตางค์","ยี่","เอ็ด",","," ","฿"],s=e.toString(),a=s.length;let u="";for(let l=a;l>0;l--){const c=Number.parseInt(s.charAt(a-l),10);let f=r[c];const m=l>1?(l-1)%6:6;if(m===1&&c===2&&(f=n[4]),c===1)switch(m){case 0:case 6:u+=l<a?n[5]:f;break;case 1:break;default:u+=f;break}else if(c===0){m===0&&(u+=t[m]);continue}else u+=f;u+=t[m]}return u}}const pE=Object.values(S.DataStreamTreeTokenType).filter(i=>[S.DataStreamTreeTokenType.TABLE_START,S.DataStreamTreeTokenType.TABLE_ROW_START,S.DataStreamTreeTokenType.TABLE_CELL_START,S.DataStreamTreeTokenType.TABLE_CELL_END,S.DataStreamTreeTokenType.TABLE_ROW_END,S.DataStreamTreeTokenType.TABLE_END,S.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class NE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<=0)return g.create(h.VALUE);let u=String.fromCharCode(a);return pE.some(l=>l===u)&&(u=""),x.create(u)}}class VE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return x.create("");const r=`${e.getValue()}`.replace(/[\0-\x1F]/g,"");return x.create(r)}}class OE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t==="")return g.create(h.VALUE);const r=t.charCodeAt(0);return b.create(r)}}class SE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const n of e)if(n.isArray()){if(n.iterator(s=>{if(s==null||s.isNull())return!0;if(s.isError())return r=s,!1;s.isBoolean()?t+=`${s.getValue()}`.toLocaleUpperCase():(s.isString()||s.isNumber())&&(t+=s.getValue())}),r)return r}else!n.isError()&&!n.isNull()&&(t+=n.getValue());return x.create(t)}}class ME extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(s=>{if(s.isArray()){const a=s;t=Math.max(t,a.getRowCount()),r=Math.max(r,a.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let n=null;for(const s of e)n=O(t,r,s,g.create(h.NA)).mapValue((u,l,c)=>{const f=n&&n.get(l,c);if(f!=null&&f.isError())return f;if(u.isError())return u;let m=f==null?void 0:f.getValue(),d=u==null?void 0:u.getValue();f!=null&&f.isBoolean()&&(m=`${m}`.toLocaleUpperCase()),u!=null&&u.isBoolean()&&(d=`${d}`.toLocaleUpperCase());const _=f!=null&&f.isNull()?"":m!=null?m:"",C=u!=null&&u.isNull()?"":d!=null?d:"";return x.create(`${_}${C}`)});return n||g.create(h.VALUE)}}class DE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let r="";for(let n=0;n<t.length;n++){const s=t.charCodeAt(n);s>=33&&s<=126?r+=String.fromCharCode(s+65248):s===32?r+=" ":r+=t.charAt(n)}return x.create(r)}}class wE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsLocale",!0)}calculate(e,t){let r=t!=null?t:b.create(2);r.isNull()&&(r=b.create(2));const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(e,t);if(r)return n;const[a,u]=s;let l=+a.getValue(),c=Math.trunc(+u.getValue());if(c>127)return g.create(h.VALUE);c<0&&(`${l}`.length<Math.abs(c)?l=0:l=l<0?-xt(Math.abs(l),c):xt(l,c),c=0);const f=af(this.getLocale(),l,c);return x.create(f)}}class LE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,ce.create()),a=O(r,n,t,ce.create()),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){const a=e.isNull()&&t.isNull();return F.create(a)}let r=`${e.getValue()}`;e.isBoolean()&&(r=r.toLocaleUpperCase());let n=`${t.getValue()}`;t.isBoolean()&&(n=n.toLocaleUpperCase());const s=r===n;return F.create(s)}}const Ga=(i,o)=>S.numfmt.format(i,o,{throws:!1}),we=i=>{let o=`${i.getValue()}`;return i.isNull()&&(o=""),i.isBoolean()&&(o=o.toLocaleUpperCase()),i.isNumber()&&(i.getPattern()!==""?o=Ga(i.getPattern(),+i.getValue()):o=`${Un(+i.getValue())}`),o};class PE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e),s=we(t),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):b.create(m+1)}}function Wa(i){let o=0;for(let e=0;e<i.length;e++)o+=Kr(i,e);return o}function Kr(i,o,e="ltr"){return jE(i,o,e)>255?2:1}function gl(i){return i>=55296&&i<=56319}function dl(i){return i>=56320&&i<=57343}function Cl(i,o){const e=(i&1023)<<10,t=o&1023;return e+t+65536}function jE(i,o,e="ltr"){const t=i.charCodeAt(o);if(e==="ltr"&&gl(t)&&o+1<i.length){const r=i.charCodeAt(o+1);if(dl(r))return Cl(t,r)}if(e==="rtl"&&dl(t)&&o-1>=0){const r=i.charCodeAt(o-1);if(gl(r))return Cl(r,t)}return t}class TE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e),s=we(t),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Wa(s.substring(0,m))+1;return b.create(d)}}class UE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){let n=t!=null?t:b.create(2);n.isNull()&&(n=b.create(2));let s=r!=null?r:F.create(!1);s.isNull()&&(s=F.create(!1));const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),l=O(a,u,e,g.create(h.NA)),c=O(a,u,n,g.create(h.NA)),f=O(a,u,s,g.create(h.NA)),m=l.mapValue((d,_,C)=>{const E=c.get(_,C),R=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:this._handleSingleObject(d,E,R)});return a===1&&u===1?m.get(0,0):m}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=B(e,t,r);if(n)return s;const[u,l,c]=a;let f=+u.getValue(),m=Math.trunc(+l.getValue());const d=+c.getValue();if(m>127)return g.create(h.VALUE);m<0&&(`${f}`.length<Math.abs(m)?f=0:f=f<0?-xt(Math.abs(f),m):xt(f,m),m=0);let _=d?"###0":"#,##0";m>0&&(_+=`.${"0".repeat(m)}`);const C=Ga(_,f);return x.create(C)}}class xE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");if(l>=r.length)return x.create(r);const c=r.substring(0,l);return x.create(c)}}class vE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,ce.create()),u=O(n,s,r,ce.create()),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");let c=0,f=0,m="";for(;f<l&&c<r.length;)f+=Kr(r,c),m+=r.charAt(c),c++;return x.create(m)}}class IE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=we(e);return b.create(t.length)}}class FE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=we(e),r=Wa(t);return b.create(r)}}class BE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");const t=`${e.getValue()}`.toLocaleLowerCase();return x.create(t)}}class kE extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){const n=we(e),{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return x.create("");const d=n.substring(f-1,f-1+m);return x.create(d)}}class $E extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,t,g.create(h.NA)),l=O(n,s,r,g.create(h.NA)),c=a.mapValue((f,m,d)=>{const _=u.get(m,d),C=l.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t,r){let n=we(e);const{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return x.create("");n=n.substring(f-1);let d=0,_=0,C="";for(;_<m&&d<n.length;)_+=Kr(n,d),C+=n.charAt(d),d++;return x.create(C)}}const Zr=["〇","一","二","三","四","五","六","七","八","九"],os=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],YE=["","十","百","千"],HE=["","拾","佰","仟"],GE=["","万","亿","兆"];class WE extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.mapValue((l,c,f)=>{const m=a.get(c,f);return l.isError()?l:m.isError()?m:this._handleSingleObject(l,m)});return r===1&&n===1?u.get(0,0):u}_handleSingleObject(e,t){const r=e.convertToNumberObjectValue();if(r.isError())return r;const n=t.convertToNumberObjectValue();if(n.isError())return n;let s=r.getValue();const a=Math.trunc(n.getValue());if(s<0||![1,2,3].includes(a))return g.create(h.NUM);s=Math.round(s);const u=s.toString(),l=u.length;let c="",f=!1;for(let m=0;m<l;m++){const d=Number(u[m]);if(l===1&&d===0){c+=a===2?os[0]:Zr[0];break}if(a===3){c+=Zr[d];continue}const _=l-m-1,C=_%4,E=Math.trunc(_/4);if(l>=17&&E>2){if(c+=a===1?Zr[d]:os[d],E>3)continue}else d===0?f=C!==0:(f&&(c+=a===1?Zr[0]:os[0],f=!1),c+=a===1?Zr[d]+YE[C]:os[d]+HE[C]);C===0&&E>0&&u.slice(Math.max(0,m-3),m+1)!=="0000"&&(c+=GE[E])}return x.create(c)}}class QE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,r){const n=t!=null?t:x.create("."),s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),c=r?O(s,a,r,g.create(h.NA)):void 0,f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=r?c.get(d,_):void 0;return m.isError()?m:C.isError()?C:E!=null&&E.isError()?E:C.isNull()||E!=null&&E.isNull()?g.create(h.VALUE):m.isNull()?b.create(0):this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){let n=`${e.getValue()}`;n=n.replace(/\s+/g,"");let s=`${t.getValue()}`;t.isBoolean()&&(s=s.toLocaleUpperCase()),s=s.charAt(0);let a;if(r&&(a=`${r.getValue()}`,r.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),s===a))return g.create(h.VALUE);if(n.trim()==="")return b.create(0);if(!n.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return g.create(h.VALUE);const u=n.split(s);if(u.length>2)return g.create(h.VALUE);let l=u[0].replace(/,/g,"");r&&(l=l.split(a).join(""));let c=0;if(u.length===1){s===","&&(l=l.replace(/\./g,""));let f=0;for(;l.endsWith("%");)l=l.slice(0,-1),f++;f>0?c=+l/100**f:c=+l}else{if(!S.isRealNum(l))return g.create(h.VALUE);let f=u[1],m=0;for(;f.endsWith("%");)f=f.slice(0,-1),m++;const d=`${l}.${f}`;if(!S.isRealNum(d))return g.create(h.VALUE);m>0?c=+d/100**m:c=+d}return Number.isNaN(c)?g.create(h.VALUE):b.create(c)}}class qE extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const r=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,n=>n.toLocaleUpperCase());return x.create(r)}}const _l=()=>[{type:4,from:48,to:57}],Al=()=>[{type:7,value:95},{type:4,from:97,to:122},{type:4,from:65,to:90},{type:4,from:48,to:57}],El=()=>[{type:7,value:9},{type:7,value:10},{type:7,value:11},{type:7,value:12},{type:7,value:13},{type:7,value:32},{type:7,value:160},{type:7,value:5760},{type:4,from:8192,to:8202},{type:7,value:8232},{type:7,value:8233},{type:7,value:8239},{type:7,value:8287},{type:7,value:12288},{type:7,value:65279}],Rl=()=>({type:3,set:Al(),not:!1}),yl=()=>({type:3,set:Al(),not:!0}),bl=()=>({type:3,set:_l(),not:!1}),pl=()=>({type:3,set:_l(),not:!0}),Nl=()=>({type:3,set:El(),not:!1}),Vl=()=>({type:3,set:El(),not:!0}),XE=()=>({type:3,set:[{type:7,value:10},{type:7,value:13},{type:7,value:8232},{type:7,value:8233}],not:!0});function KE(i){const o={type:0,stack:[]};let e=o,t=o.stack;const r=[],n=[];let s=0;const a=f=>{throw new SyntaxError(`Invalid regular expression: /${i}/: Nothing to repeat at column ${f-1}`)},u=zE(i);let l=0,c;for(;l<u.length;)switch(c=u[l++],c){case"\\":if(l===u.length)throw new SyntaxError(`Invalid regular expression: /${i}/: \\ at end of pattern`);switch(c=u[l++],c){case"b":t.push({type:2,value:"b"});break;case"B":t.push({type:2,value:"B"});break;case"w":t.push(Rl());break;case"W":t.push(yl());break;case"d":t.push(bl());break;case"D":t.push(pl());break;case"s":t.push(Nl());break;case"S":t.push(Vl());break;default:if(/\d/.test(c)){for(;/\d/.test(u[l])&&l<u.length;)c+=u[l++];const f=Number.parseInt(c,10);t.push({type:6,value:f}),n.push({reference:{type:6,value:f},stack:t,index:t.length-1})}else t.push({type:7,value:c.charCodeAt(0)})}break;case"^":t.push({type:2,value:"^"});break;case"$":t.push({type:2,value:"$"});break;case"[":{const f=u[l]==="^";f&&l++;const m=ZE(u.slice(l),i);l+=m[1],t.push({type:3,set:m[0],not:f});break}case".":t.push(XE());break;case"(":{const f={type:1,stack:[],remember:!0};if(u[l]==="?"){const m=u[l+1];if(l+=2,m==="=")f.followedBy=!0;else if(m==="!")f.notFollowedBy=!0;else if(m!==":")throw new SyntaxError(`Invalid regular expression: /${i}/: Invalid group, character '${m}' after '?' at column ${l-1}`);f.remember=!1}else s+=1;t.push(f),r.push(e),e=f,t=f.stack;break}case")":if(r.length===0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unmatched ) at column ${l-1}`);e=r.pop(),t=e.options?e.options[e.options.length-1]:e.stack;break;case"|":{e.options||(e.options=[e.stack],delete e.stack);const f=[];e.options.push(f),t=f;break}case"{":{const f=/^(\d+)(,(\d+)?)?\}/.exec(u.slice(l));if(f){t.length===0&&a(l);const m=Number.parseInt(f[1],10),d=f[2]?f[3]?Number.parseInt(f[3],10):1/0:m;l+=f[0].length,t.push({type:5,min:m,max:d,value:t.pop()})}else t.push({type:7,value:123});break}case"?":t.length===0&&a(l),t.push({type:5,min:0,max:1,value:t.pop()});break;case"+":t.length===0&&a(l),t.push({type:5,min:1,max:1/0,value:t.pop()});break;case"*":t.length===0&&a(l),t.push({type:5,min:0,max:1/0,value:t.pop()});break;default:t.push({type:7,value:c.charCodeAt(0)})}if(r.length>0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unterminated group`);return JE(n,s),o}function ZE(i,o){let e;const t=[],r=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(e=r.exec(i))!==null;){let n=null;const[,s,a,u,l,c,f,m,d,_,C]=e;if(s||a||u||l||c||f?n=(()=>{let E={type:3,set:[],not:!1};return s?E=Rl():a?E=bl():u?E=Nl():l?E=yl():c?E=pl():f&&(E=Vl()),E})():m&&C?n={type:4,from:(d||_).charCodeAt(0),to:C.charCodeAt(C.length-1)}:e[16]&&(n={type:7,value:e[16].charCodeAt(0)}),!n)return[t,r.lastIndex];t.push(n)}throw new SyntaxError(`Invalid regular expression: /${o}/: Unterminated character class`)}function zE(i){return i.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(o,e,t,r,n,s,a)=>{if(t)return o;let u;e?u=8:r?u=Number.parseInt(r,16):n?u=Number.parseInt(n,16):s?u="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):u={0:0,t:9,n:10,v:11,f:12,r:13}[a];const l=String.fromCharCode(u);return/[[\]{}^$.|?*+()]/.test(l)?`\\${l}`:l})}function JE(i,o){for(const e of i.reverse()){const t=e.reference.value;if(o<t){e.reference.type=7;const r=t.toString();if(e.reference.value=Number.parseInt(r,8),!/^[0-7]+$/.test(r)){let n=0;for(;r[n]!=="8"&&r[n]!=="9"&&n<r.length;)n+=1;if(n===0?(e.reference.value=r.charCodeAt(0),n+=1):e.reference.value=Number.parseInt(r.slice(0,n),8),r.length>n){const s=e.stack.splice(e.index+1);for(const a of r.slice(n))e.stack.push({type:7,value:a.charCodeAt(0)});e.stack.push(...s)}}}}}function Qa(i,o){if(!eR(i))return{isError:!0,regExp:null};try{const e=new RegExp(i,o?"ug":"u");return tR(e)?{isError:!1,regExp:e}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function eR(i){return!(/\(\?<=.*?\)/g.test(i)&&!/\[.*?(\?<=.*?)\]/g.test(i)||/\(\?<!.*?\)/g.test(i)&&!/\[.*?(\?<!.*?)\]/g.test(i))}function tR(i,o){let t;Object.prototype.toString.call(i)==="[object RegExp]"?t=i.source:i&&typeof i!="string"&&(t=`${i}`);let r;try{r=KE(t)}catch{return!1}let n=0;const s=(a,u)=>{let l=u;if(a.type===5){if(u>0&&(a.min===0||a.max===1/0)||rR(a)&&(n++,n>25))return!1;l=u+1}if(a.options){for(const f of a.options)if(!s({stack:f},l))return!1}const c=a.stack||a.value&&a.value.stack;if(!c)return!0;for(const f of c)if(!s(f,l))return!1;return!0};return s(r,0)}function rR(i){const o=i.stack||i.value&&i.value.stack;return o?Ol(o):!1}function Ol(i){for(const o of i){if(o.options&&o.options.length>0)return!0;const e=o.stack||o.value&&o.value.stack;if(e&&Ol(e))return!0}return!1}class nR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=Wr(e,t);if(r)return n;const[a,u]=s;let l=a.getValue();a.isNull()&&(l=""),a.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let c=u.getValue();u.isNull()&&(c=""),u.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;const{isError:f,regExp:m}=Qa(c,!1);if(f)return g.create(h.REF);const d=l.match(m);if(d===null)return g.create(h.NA);if(d.length>1){const _=d.slice(1).map(C=>x.create(C));return _.length>1?Z.create({calculateValueList:[_],rowCount:1,columnCount:_.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):_[0]}return x.create(d[0])}}class sR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=Wr(e,t);if(r)return n;const[a,u]=s;let l=a.getValue();a.isNull()&&(l=""),a.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;let c=u.getValue();u.isNull()&&(c=""),u.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;const{isError:f,regExp:m}=Qa(c,!1);return f?g.create(h.REF):l.match(m)===null?F.create(!1):F.create(!0)}}class aR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Wr(e,t,r);if(n)return s;const[u,l,c]=a;let f=u.getValue();u.isNull()&&(f=""),u.isBoolean()&&(f=f?"TRUE":"FALSE"),f=`${f}`;let m=l.getValue();l.isNull()&&(m=""),l.isBoolean()&&(m=m?"TRUE":"FALSE"),m=`${m}`;let d=c.getValue();c.isNull()&&(d=""),c.isBoolean()&&(d=d?"TRUE":"FALSE"),d=`${d}`;const{isError:_,regExp:C}=Qa(m,!0);if(_)return g.create(h.REF);const E=f.replace(C,d);return x.create(E)}}class iR extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);const d=we(e),_=we(n),C=d.substring(0,f-1)+_+d.substring(f-1+m);return x.create(C)}}class oR extends V{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:R.isError()?R:y.isError()?y:this._handleSingleObject(d,E,R,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:u}=B(t,r);if(s)return a;const[l,c]=u,f=Math.floor(+l.getValue()),m=Math.floor(+c.getValue());if(f<=0||m<0)return g.create(h.VALUE);let d=we(e);const _=we(n);let C=d.substring(0,f-1);d=d.substring(f-1);let E=0,R=0;for(;R<m&&E<d.length;)R+=Kr(d,E),E++;return C+=_+d.substring(E),x.create(C)}}class uR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),u=s.map((l,c,f)=>{let m=a.get(c,f);if(l.isError())return l;let d=l.getValue();if(l.isNull()&&(d=""),l.isBoolean()&&(d=d?"TRUE":"FALSE"),d+="",m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=32767,C=Math.floor(+m.getValue());if(C<0||C>_/d.length)return g.create(h.VALUE);const E=d.repeat(C);return x.create(E)});return r===1&&n===1?u.get(0,0):u}}class lR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");if(l>=r.length)return x.create(r);const c=r.substring(r.length-l);return x.create(c)}}class cR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const r=we(e),{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;const[u]=a,l=Math.floor(+u.getValue());if(l<0)return g.create(h.VALUE);if(e.isNull()||l===0)return x.create("");let c=r.length-1,f=0,m="";for(;f<l&&c>=0;)f+=Kr(r,c,"rtl"),m=r.charAt(c)+m,c--;return x.create(m)}}class fR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e).toLocaleUpperCase(),s=we(t).toLocaleUpperCase(),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):b.create(m+1)}}class mR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:b.create(1),s=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),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),f=u.mapValue((m,d,_)=>{const C=l.get(d,_),E=c.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=we(e).toLocaleUpperCase(),s=we(t).toLocaleUpperCase(),{isError:a,errorObject:u,variants:l}=B(r);if(a)return u;const[c]=l,f=Math.floor(+c.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return b.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Wa(s.substring(0,m))+1;return b.create(d)}}class hR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),u=O(s,a,e,g.create(h.NA)),l=O(s,a,t,g.create(h.NA)),c=O(s,a,r,g.create(h.NA)),f=n?O(s,a,n,g.create(h.NA)):void 0,m=u.mapValue((d,_,C)=>{const E=l.get(_,C),R=c.get(_,C);let y=n?f.get(_,C):void 0;return d.isError()?d:E.isError()?E:R.isError()?R:y!=null&&y.isError()?y:y!=null&&y.isNull()||y!=null&&y.isBoolean()?g.create(h.VALUE):(y!=null&&y.isString()&&(y=y.convertToNumberObjectValue()),y!=null&&y.isError()?y:this._handleSingleObject(d,E,R,y))});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const s=this._getObjectString(e),a=this._getObjectString(t),u=this._getObjectString(r),l=n?Math.floor(+n.getValue()):void 0;if(n&&l<=0)return g.create(h.VALUE);if(a==="")return x.create(s);let c="",f=0;for(let m=0;m<s.length;m++){const d=s.substr(m,a.length);if(d===a||d.length===a.length&&d.trim()===a.trim()){if(f++,f===l){c=s.substr(0,m)+u+s.substr(m+a.length);break}l===void 0&&(c+=u),m+=a.length-1}else l===void 0&&(c+=s[m])}return l&&f<l&&(c=s),x.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}}class gR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(r=>this._handleSingleObject(r)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?x.create(""):e}}class dR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),u=s.map((l,c,f)=>{if(l.isError())return l;let m=a.get(c,f)||x.create(" ");if(m.isError())return m;if(m.isBoolean())return g.create(h.VALUE);if(l.isBoolean())return l;let d=l.getValue();if(l.isNull()&&(d=0),l.isString())if(S.isRealNum(d))d=Number(d);else{const E=S.getNumfmtParseValueFilter(`${d}`);E&&E.v!=null&&typeof E.v=="number"&&(d=E.v)}m.isNull()&&(m=x.create(" "));const _=`${m.getValue()}`,C=Ga(_,d);return x.create(_===" "?C.trimEnd():C)});return u.getRowCount()===1&&u.getColumnCount()===1?u.get(0,0):u}}class CR extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=!1,l=r!=null?r:b.create(1);l.isNull()&&(u=!0,l=b.create(1));const c=!n,f=n!=null?n:b.create(0),m=s!=null?s:b.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),R=O(_,C,l,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),N=O(_,C,d,g.create(h.NA)),M=this._getResultArray(E,t,R,y,p,N,u,c);return _===1&&C===1?M.get(0,0):M}_getResultArray(e,t,r,n,s,a,u,l){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),R=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),N=this._getDelimiterValue(t);if(N instanceof g)return N;const M=this._getVariantsNumberFloorValue(_,C,E);if(M instanceof g)return M;const[D,L,P]=M;return D===0||L<0||L>1||P<0||P>1?g.create(h.VALUE):N.includes("")?D>0?x.create(p):x.create(""):!u&&Math.abs(D)>p.length?g.create(h.VALUE):N.every(j=>j.length>p.length)?g.create(h.NA):this._getResult(p,N,D,L,P,R,l)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,u){let l=n?e.toLocaleLowerCase():e;const c=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=c.map(R=>({index:l.lastIndexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>y.index-R.index)[0];if(!E)break;f=E.index,l=l.substr(0,E.index),d=E.length,m++}else{const E=c.map(R=>({index:l.indexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>R.index-y.index)[0];if(!E)break;f+=E.index+d,l=l.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&u)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?x.create(""):x.create(e):a;const _=e.substr(f+d);return x.create(_)}}class _R extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=!1,l=r!=null?r:b.create(1);l.isNull()&&(u=!0,l=b.create(1));const c=!n,f=n!=null?n:b.create(0),m=s!=null?s:b.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),R=O(_,C,l,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),N=O(_,C,d,g.create(h.NA)),M=this._getResultArray(E,t,R,y,p,N,u,c);return _===1&&C===1?M.get(0,0):M}_getResultArray(e,t,r,n,s,a,u,l){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),R=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),N=this._getDelimiterValue(t);if(N instanceof g)return N;const M=this._getVariantsNumberFloorValue(_,C,E);if(M instanceof g)return M;const[D,L,P]=M;return D===0||L<0||L>1||P<0||P>1?g.create(h.VALUE):N.includes("")?D>0?x.create(""):x.create(p):!u&&Math.abs(D)>p.length?g.create(h.VALUE):N.every(j=>j.length>p.length)?g.create(h.NA):this._getResult(p,N,D,L,P,R,l)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,u){let l=n?e.toLocaleLowerCase():e;const c=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=c.map(R=>({index:l.lastIndexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>y.index-R.index)[0];if(!E)break;f=E.index,l=l.substr(0,E.index),m++}else{const E=c.map(R=>({index:l.indexOf(R),length:R.length})).filter(R=>R.index!==-1).sort((R,y)=>R.index-y.index)[0];if(!E)break;f+=E.index+d,l=l.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&u)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?x.create(e):x.create(""):a;const _=e.substr(0,f);return x.create(_)}}class AR extends V{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(e,t,...r){const n=this._getDelimiterValues(e),s=this._getTextValues(r);if(t.isArray()){const u=t.mapValue(l=>this._handleSingleObject(n,l,s));return u.getRowCount()===1&&u.getColumnCount()===1?u.get(0,0):u}const a=t;if(a.isString()){const u=`${a.getValue()}`.toLocaleUpperCase();if(u==="TRUE")return this._handleSingleObject(n,F.create(!0),s);if(u==="FALSE")return this._handleSingleObject(n,F.create(!1),s)}return this._handleSingleObject(n,t,s)}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=B(t);if(n)return s;if(r instanceof g)return r;const[u]=a,l=+u.getValue();let c=r;l&&(c=r.filter(m=>m!==null&&m!==""));let f="";for(let m=0;m<c.length;m++)c[m]!==null&&(f+=c[m]),m<c.length-1&&(f+=e[m%e.length]);return x.create(f)}_getDelimiterValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const u=e.isArray()?e.get(s,a):e;if(u.isError())return u;let l=`${u.getValue()}`;u.isNull()&&(l=""),u.isBoolean()&&(l=l.toLocaleUpperCase()),t.push(l)}return t}_getTextValues(e){const t=[];for(const r of e){const n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;for(let a=0;a<n;a++)for(let u=0;u<s;u++){const l=r.isArray()?r.get(a,u):r;if(l.isError())return l;if(l.isNull()){t.push(null);continue}let c=`${l.getValue()}`;l.isBoolean()&&(c=c.toLocaleUpperCase()),t.push(c)}}return t}}class ER extends V{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let u=r!=null?r:x.create("\\s");const l=n!=null?n:b.create(0),c=s!=null?s:b.create(0),f=a!=null?a:x.create(h.NA),{_variant:m,values:d}=this._getStringValues(t),{_variant:_,values:C}=this._getStringValues(u,!1);u=_;const E=Math.max(e.isArray()?e.getRowCount():1,l.isArray()?l.getRowCount():1,c.isArray()?c.getRowCount():1),R=Math.max(e.isArray()?e.getColumnCount():1,l.isArray()?l.getColumnCount():1,c.isArray()?c.getColumnCount():1),y=O(E,R,e,g.create(h.NA)),p=O(E,R,l,g.create(h.NA)),N=O(E,R,c,g.create(h.NA)),M=this._getResultArray(y,m,u,p,N,f,d,C);return E===1&&R===1?M.get(0,0):M.map(D=>D.get(0,0))}_getStringValues(e,t=!0){let r=e;const n=[];if(r.isArray())r.iterator(s=>{if(s!=null&&s.isError())return r=s,!1;if(s!=null&&s.isNull()&&t)return r=g.create(h.VALUE),!1;const a=this._getRegExpStringValue(s);if(a==="")return r=g.create(h.VALUE),!1;n.push(a)});else{r.isNull()&&t&&(r=g.create(h.VALUE));const s=this._getRegExpStringValue(r);s===""&&(r=g.create(h.VALUE)),n.push(s)}return{_variant:r,values:n}}_getResultArray(e,t,r,n,s,a,u,l){return e.map((f,m,d)=>{let _=n.get(m,d),C=s.get(m,d);const E=this._checkVariantsError(f,t,r,_,C);if(E.isError())return E;if(f.isNull())return g.create(h.VALUE);let R=a;if(R.isArray()){const D=R.getRowCount(),L=R.getColumnCount();if(D>1||L>1)return g.create(h.VALUE);R=R.get(0,0)}let y=`${f.getValue()}`;if(f.isBoolean()&&(y=y.toLocaleUpperCase()),_.isString()&&(_=_.convertToNumberObjectValue(),_.isError()))return _;const p=Math.floor(+_.getValue());if(C.isString()&&(C=C.convertToNumberObjectValue(),C.isError()))return C;const N=Math.floor(+C.getValue());if(N<0||N>1)return g.create(h.VALUE);let M=`${R.getValue()}`;return R.isBoolean()&&(M=M.toLocaleUpperCase()),this._getResult(y,u,l,p,N,M)})}_getResult(e,t,r,n,s,a){const u=new RegExp(r.join("|"),`g${s?"i":""}`),l=new RegExp(t.join("|"),`g${s?"i":""}`),c=e.split(u);let f=1,m=c.map(d=>{let _=d.split(l);return n&&(_=_.filter(C=>C!=="")),f=Math.max(f,_.length),_});return m=m.map(d=>{let _=d;return _.length<f&&(_=_.concat(new Array(f-_.length).fill(a))),_}),Z.createByArray(m)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return F.create(!0)}_getRegExpStringValue(e){let t=e.getValue();return e.isNull()&&(t="\\s"),e.isBoolean()&&(t=t?"TRUE":"FALSE"),t+="",this._escapeRegExp(t)}_escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}class RR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g," "),x.create(t)}}const yR=Object.values(S.DataStreamTreeTokenType).filter(i=>[S.DataStreamTreeTokenType.TABLE_START,S.DataStreamTreeTokenType.TABLE_ROW_START,S.DataStreamTreeTokenType.TABLE_CELL_START,S.DataStreamTreeTokenType.TABLE_CELL_END,S.DataStreamTreeTokenType.TABLE_ROW_END,S.DataStreamTreeTokenType.TABLE_END,S.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class bR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=B(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<1||a>1114111)return g.create(h.VALUE);if(a===1114111||a===1114110)return g.create(h.NA);let u=String.fromCharCode(a);return yR.some(l=>l===u)&&(u=""),x.create(u)}}class pR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());const r=t.charCodeAt(0);return b.create(r)}}class NR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return x.create("");const t=`${e.getValue()}`.toLocaleUpperCase();return x.create(t)}}class VR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const r=+t.getValue();return b.create(r)}}class OR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:b.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),u=O(n,s,r,g.create(h.NA)),l=a.mapValue((c,f,m)=>{const d=u.get(f,m);return c.isError()?c:d.isError()?d:this._handleSingleObject(c,d)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=B(t);if(r)return n;const[a]=s,u=Math.floor(+a.getValue());if(u<0||u>1)return g.create(h.VALUE);if(e.isNull())return x.create("");if(e.isBoolean())return e;if(e.isNumber())return b.create(e.getValue());const l=u?`"${e.getValue()}"`:`${e.getValue()}`;return x.create(l)}}const Sl=[[yE,J.ASC],[RE,J.ARRAYTOTEXT],[bE,J.BAHTTEXT],[NE,J.CHAR],[VE,J.CLEAN],[OE,J.CODE],[SE,J.CONCAT],[ME,J.CONCATENATE],[DE,J.DBCS],[wE,J.DOLLAR],[LE,J.EXACT],[PE,J.FIND],[TE,J.FINDB],[UE,J.FIXED],[xE,J.LEFT],[vE,J.LEFTB],[IE,J.LEN],[FE,J.LENB],[BE,J.LOWER],[kE,J.MID],[$E,J.MIDB],[WE,J.NUMBERSTRING],[QE,J.NUMBERVALUE],[nR,J.REGEXEXTRACT],[sR,J.REGEXMATCH],[aR,J.REGEXREPLACE],[qE,J.PROPER],[iR,J.REPLACE],[oR,J.REPLACEB],[uR,J.REPT],[lR,J.RIGHT],[cR,J.RIGHTB],[fR,J.SEARCH],[mR,J.SEARCHB],[hR,J.SUBSTITUTE],[gR,J.T],[dR,J.TEXT],[CR,J.TEXTAFTER],[_R,J.TEXTBEFORE],[AR,J.TEXTJOIN],[ER,J.TEXTSPLIT],[RR,J.TRIM],[bR,J.UNICHAR],[pR,J.UNICODE],[NR,J.UPPER],[VR,J.VALUE],[OR,J.VALUETOTEXT]],Ml=[];var Dl=(i=>i)(Dl||{});function wl(i){return i.map(o=>o.map(e=>typeof e=="number"?Un(e):e))}function SR(i,o=!1){if(i.isReferenceObject()){const e=i.toArrayValueObject().toValue();return o?wl(e):e}else if(i.isArray()){const e=i.toValue();return o?wl(e):e}else if(i.isNumber()){const e=i.getValue();return o?Un(e):e}return i.getValue()}class MR extends V{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=we(e),r=encodeURIComponent(t).replace(/[!~'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return x.create(r)}}const Ll=[[MR,is.ENCODEURL]];class qa extends S.Disposable{constructor(){super(...arguments);A(this,"_allSubjects",[]);A(this,"_computingStatus$",new Oe.BehaviorSubject(!0));A(this,"computingStatus$",this._computingStatus$.pipe(Oe.distinctUntilChanged()));A(this,"_computingSubscription")}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),(e=this._computingSubscription)==null||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(t=>{t.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{const t=this._allSubjects.indexOf(e);t!==-1&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;if((e=this._computingSubscription)==null||e.unsubscribe(),this._allSubjects.length===0){this._computingStatus$.next(!0);return}this._computingSubscription=Oe.combineLatest(this._allSubjects).pipe(Oe.map(t=>t.every(r=>r))).subscribe(t=>this._computingStatus$.next(t))}}var DR=Object.getOwnPropertyDescriptor,wR=(i,o,e,t)=>{for(var r=t>1?void 0:t?DR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Pl=(i,o)=>(e,t)=>o(e,t,i);let Xa=class extends S.Disposable{constructor(o,e){super();A(this,"_computingCompleted$",new Oe.Observable(o=>{this._commandService.onCommandExecuted(e=>{if(e.id!==Ur.id)return;const t=e.params;if(t.stageInfo)return o.next(t.stageInfo.stage===qe.IDLE||t.stageInfo.stage===qe.CALCULATION_COMPLETED)})}).pipe(Oe.distinctUntilChanged(),Oe.shareReplay()));this._commandService=o,this._globalComputingSrv=e;const t=new S.DisposableCollection,r=new Oe.BehaviorSubject(!0);t.add(this._globalComputingSrv.pushComputingStatusSubject(r)),t.add(this._computingCompleted$.subscribe(n=>r.next(n))),t.add(()=>r.complete()),this.disposeWithMe(t)}};Xa=wR([Pl(0,S.ICommandService),Pl(1,S.Inject(qa))],Xa);var LR=Object.getOwnPropertyDescriptor,PR=(i,o,e,t)=>{for(var r=t>1?void 0:t?LR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},us=(i,o)=>(e,t)=>o(e,t,i);let ls=class extends S.Disposable{constructor(i,o,e,t){super(),this._commandService=i,this._functionService=o,this._configService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[xs,fn,vs,Vs,Ii,Os,Ss,Ps,js,Ms,Ur,En,Ts,Us,Ds,Rn,ws,Ls,Ns,vi,_n,An,xr,vr,Bi,ki,$i,Di].forEach(i=>{var o;this._commandService.registerCommand(i),(o=this._dataSyncPrimaryController)==null||o.registerSyncingMutations(i)})}_registerFunctions(){var e;const i=this._configService.getConfig(yn),o=[...ko,...Hu,...Gu,...qu,...Xu,...Ku,...nl,...sl,...al,...il,...ll,...cl,...hl,...Sl,...Ml,...Ll].concat((e=i==null?void 0:i.function)!=null?e:[]).map(t=>{const r=t[0],n=t[1];return new r(n)});this._functionService.registerExecutors(...o)}};ls=PR([us(0,S.ICommandService),us(1,Ot),us(2,S.IConfigService),us(3,S.Optional(vl.DataSyncPrimaryController))],ls);var jR=Object.getOwnPropertyDescriptor,TR=(i,o,e,t)=>{for(var r=t>1?void 0:t?jR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},cs=(i,o)=>(e,t)=>o(e,t,i);let fs=class extends S.Disposable{constructor(i,o,e){super(),this._commandService=i,this._dependencyManagerService=o,this._featureCalculationManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(i=>{const{unitId:o,subUnitId:e,featureIds:t}=i;this._dependencyManagerService.removeFeatureFormulaDependency(o,e,t)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===An.id){const o=i.params;if(o==null)return;const{featureIds:e,unitId:t,subUnitId:r}=o;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,e)}else if(i.id===_n.id){const o=i.params;if(o==null)return;const{featureId:e,calculationParam:t}=o,{unitId:r,subUnitId:n}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,n,[e])}else if(i.id===vr.id){const o=i.params;if(o==null)return;this._dependencyManagerService.removeOtherFormulaDependency(o.unitId,o.subUnitId,o.formulaIdList)}else if(i.id===xr.id){const o=i.params;if(o==null)return;const e=o.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(o.unitId,o.subUnitId,t)}else if(i.id===xs.id){const o=i.params.formulaData;Object.keys(o).forEach(e=>{const t=o[e];if(t!==void 0){if(t===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(t).forEach(r=>{const n=t[r];if(n!==void 0){if(n===null)return this._dependencyManagerService.clearFormulaDependency(e,r),!0;new S.ObjectMatrix(n).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,r,s,a)})}})}})}else i.id===Ns.id&&this._handleSetDefinedName(i)}))}_handleSetDefinedName(i){const o=i.params;if(o==null)return;const{unitId:e,name:t}=o;this._dependencyManagerService.removeFormulaDependencyByDefinedName(e,t)}};fs=TR([cs(0,S.ICommandService),cs(1,Rr),cs(1,Gr),cs(2,Rr)],fs);var UR=Object.getOwnPropertyDescriptor,xR=(i,o,e,t)=>{for(var r=t>1?void 0:t?UR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},jl=(i,o)=>(e,t)=>o(e,t,i);let ms=class extends S.Disposable{constructor(i,o){super(),this._commandService=i,this._featureCalculationManagerService=o,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===_n.id){const o=i.params;if(o==null)return;const{featureId:e,calculationParam:t}=o,{unitId:r,subUnitId:n}=t;this._featureCalculationManagerService.register(r,n,e,t)}else if(i.id===An.id){const o=i.params;if(o==null)return;const{featureIds:e,unitId:t,subUnitId:r}=o;this._featureCalculationManagerService.remove(t,r,e)}}))}};ms=xR([jl(0,S.ICommandService),jl(1,Rr)],ms);var vR=Object.getOwnPropertyDescriptor,IR=(i,o,e,t)=>{for(var r=t>1?void 0:t?vR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ka=(i,o)=>(e,t)=>o(e,t,i);let hs=class extends S.Disposable{constructor(i,o,e){super(),this._commandService=i,this._otherFormulaManagerService=o,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===xr.id){const o=i.params;if(o==null)return;const e={[o.unitId]:{[o.subUnitId]:o.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(i.id===vr.id){const o=i.params;if(o==null)return;const e={};o.formulaIdList.forEach(r=>e[r]=!0);const t={[o.unitId]:{[o.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};hs=IR([Ka(0,S.ICommandService),Ka(1,$n),Ka(2,Gr)],hs);class Tl extends S.Disposable{constructor(){super(...arguments);A(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 Za=S.createIdentifier("univer.formula.active-dirty-manager.service");var sr=(i=>(i[i.NOT_REGISTER=1]="NOT_REGISTER",i[i.SUCCESS=2]="SUCCESS",i[i.WAIT=3]="WAIT",i[i.ERROR=4]="ERROR",i))(sr||{}),FR=Object.getOwnPropertyDescriptor,BR=(i,o,e,t)=>{for(var r=t>1?void 0:t?FR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},za=(i,o)=>(e,t)=>o(e,t,i),Ul=(i=>(i.DEFAULT="default",i.DATA_VALIDATION="dv",i.DATA_VALIDATION_CUSTOM="dv-custom",i.CONDITIONAL_FORMATTING="cf",i.DOC="doc",i.SLIDE="slide",i))(Ul||{});w.RegisterOtherFormulaService=class extends S.Disposable{constructor(e,t,r){super();A(this,"_formulaCacheMap",new Map);A(this,"_formulaChangeWithRange$",new Oe.Subject);A(this,"formulaChangeWithRange$",this._formulaChangeWithRange$.asObservable());A(this,"_formulaResult$",new Oe.Subject);A(this,"formulaResult$",this._formulaResult$.asObservable());A(this,"calculateStarted$",new Oe.BehaviorSubject(!1));this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=r,this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let r=this._formulaCacheMap.get(e);r||(r=new Map,this._formulaCacheMap.set(e,r));let n=r.get(t);return n||(n=new Map,r.set(t,n)),n}_createFormulaId(e,t,r,n){return`formula.${e}_${t}_${r}_${n}_${S.generateRandomId(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Pr.id,{commandId:Pr.id,getDirtyData(t){return{dirtyUnitOtherFormulaMap:t.params}}});const e=t=>{const{unitId:r,subUnitId:n,formulaText:s,formulaId:a,ranges:u}=t;if(!this._ensureCacheMap(r,n).has(a))return;const c={unitId:r,subUnitId:n,formulaMap:{[a]:{f:s,ranges:u}}};this._commandService.executeCommand(xr.id,c).then(()=>{this._commandService.executeCommand(Pr.id,{[r]:{[n]:{[a]:!0}}})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe.bufferWhen(()=>this.calculateStarted$.pipe(Oe.filter(t=>t)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe.filter(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===En.id){const t=e.params,{unitOtherData:r}=t,n={};for(const s in r){const a=r[s],u={};n[s]=u;for(const l in a){const c=this._ensureCacheMap(s,l),f=a[l],m=[];u[l]=m;for(const d in f){const _=f[d];if(c.has(d)){const C=c.get(d);if(!C)continue;C.result||(C.result={});const E=new S.ObjectMatrix(_),R=new S.ObjectMatrix(C.result);E.forValue((y,p,N)=>{R.setValue(y,p,N)}),C.status=sr.SUCCESS,C.callbacks.forEach(y=>{y(_)}),C.callbacks.clear(),m.push(C)}}}}this._formulaResult$.next(n)}}))}registerFormulaWithRange(e,t,r,n=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],s,a="default",u=""){const l=this._createFormulaId(e,t,a,u);return this._ensureCacheMap(e,t).set(l,{result:void 0,status:sr.WAIT,formulaId:l,callbacks:new Set,extra:s}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:r,formulaId:l,ranges:n}),l}deleteFormula(e,t,r){const n={unitId:e,subUnitId:t,formulaIdList:r};this._commandService.executeCommand(vr.id,n);const s=this._ensureCacheMap(e,t);r.forEach(a=>s.delete(a))}getFormulaValue(e,t,r){const n=this._ensureCacheMap(e,t),s=n.get(r);return s?s.status===sr.SUCCESS||s.status===sr.ERROR?Promise.resolve(s):new Promise(a=>{s.callbacks.add(()=>{a(n.get(r))})}):Promise.resolve(null)}getFormulaValueSync(e,t,r){return this._ensureCacheMap(e,t).get(r)}markFormulaDirty(e,t,r){const n=this.getFormulaValueSync(e,t,r);n&&(n.status=sr.WAIT,this._commandService.executeCommand(Pr.id,{[e]:{[t]:{[r]:!0}}}))}},w.RegisterOtherFormulaService=BR([za(0,S.ICommandService),za(1,Za),za(2,S.Inject(S.LifecycleService))],w.RegisterOtherFormulaService);var kR=Object.getOwnPropertyDescriptor,$R=(i,o,e,t)=>{for(var r=t>1?void 0:t?kR(o,e):o,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},xl=(i,o)=>(e,t)=>o(e,t,i);const YR="UNIVER_ENGINE_FORMULA_PLUGIN";w.UniverFormulaEnginePlugin=(Ja=class extends S.Plugin{constructor(o=Wi,e,t){super(),this._config=o,this._injector=e,this._configService=t;const{...r}=S.merge({},Wi,this._config);this._configService.setConfig(yn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var o;S.touchDependencies(this._injector,[[ls]]),(o=this._config)!=null&&o.notExecuteFormula||S.touchDependencies(this._injector,[[hs],[ms],[fs],[w.CalculateController]])}onRendered(){var o;(o=this._config)!=null&&o.notExecuteFormula||S.touchDependencies(this._injector,[[Gn],[Hn]])}_initialize(){const o=!this._config.notExecuteFormula,e=[[Ot,{useClass:bo}],[$t,{useClass:w.DefinedNamesService}],[Za,{useClass:Tl}],[w.RegisterOtherFormulaService],[ma,{useClass:w.HyperlinkEngineFormulaService}],[Gs,{useClass:Qi}],[mr,{useClass:Fi}],[qa],[w.FormulaDataModel],[ls],[Xa]];o&&e.push([$n,{useClass:Uo}],[it,{useClass:w.FormulaRuntimeService}],[Nt,{useClass:w.FormulaCurrentConfigService}],[Rr,{useClass:To}],[w.CalculateController],[hs],[fs],[ms],[w.Interpreter],[w.AstTreeBuilder],[w.Lexer],[ga],[w.FunctionNodeFactory],[w.LambdaNodeFactory],[Aa],[w.OperatorNodeFactory],[w.PrefixNodeFactory],[w.ReferenceNodeFactory],[w.SuffixNodeFactory],[w.UnionNodeFactory],[Ra]),e.forEach(t=>this._injector.add(t))}_initializeWithOverride(){var o;this._injector.add([hr,{useClass:hr}]),(o=this._config)!=null&&o.notExecuteFormula||[[Gn,{useClass:w.CalculateFormulaService}],[Gr,{useClass:jo}],[Hn,{useClass:w.FormulaDependencyGenerator}]].forEach(t=>this._injector.add(t))}},A(Ja,"pluginName",YR),Ja),w.UniverFormulaEnginePlugin=$R([xl(1,S.Inject(S.Injector)),xl(2,S.IConfigService)],w.UniverFormulaEnginePlugin),w.ActiveDirtyManagerService=Tl,w.ArrayValueObject=Z,w.AstRootNodeFactory=ga,w.AsyncArrayObject=Ao,w.AsyncCustomFunction=zh,w.AsyncObject=_o,w.BaseFunction=V,w.BaseReferenceObject=Wt,w.BaseValueObject=yt,w.BooleanValue=Mt,w.BooleanValueObject=F,w.CustomFunction=Qu,w.DEFAULT_INTERVAL_COUNT=vo,w.DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME=cr,w.DEFAULT_TOKEN_LET_FUNCTION_NAME=Mi,w.DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER=kt,w.DEFAULT_TOKEN_TYPE_PARAMETER=nt,w.DEFAULT_TOKEN_TYPE_ROOT=bt,w.DependencyManagerBaseService=Po,w.DependencyManagerService=jo,w.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=$c,w.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=yn,w.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE=Yc,w.ERROR_TYPE_SET=wt,w.ErrorType=h,w.ErrorValueObject=g,w.FUNCTION_NAMES_ARRAY=Qn,w.FUNCTION_NAMES_COMPATIBILITY=he,w.FUNCTION_NAMES_CUBE=Wu,w.FUNCTION_NAMES_DATABASE=He,w.FUNCTION_NAMES_DATE=Ae,w.FUNCTION_NAMES_ENGINEERING=X,w.FUNCTION_NAMES_FINANCIAL=ee,w.FUNCTION_NAMES_INFORMATION=be,w.FUNCTION_NAMES_LOGICAL=Ee,w.FUNCTION_NAMES_LOOKUP=ne,w.FUNCTION_NAMES_MATH=$,w.FUNCTION_NAMES_STATISTICAL=T,w.FUNCTION_NAMES_TEXT=J,w.FUNCTION_NAMES_UNIVER=Dl,w.FUNCTION_NAMES_WEB=is,w.FeatureCalculationManagerService=To,w.FormulaDependencyTree=Yn,w.FormulaDependencyTreeModel=ba,w.FormulaDependencyTreeType=Qt,w.FormulaDependencyTreeVirtual=ya,w.FormulaExecuteStageType=qe,w.FormulaExecutedStateType=Ar,w.FormulaResultStatus=sr,w.FunctionService=bo,w.FunctionType=ii,w.GlobalComputingStatusService=qa,w.IActiveDirtyManagerService=Za,w.ICalculateFormulaService=Gn,w.IDefinedNamesService=$t,w.IDependencyManagerService=Gr,w.IFeatureCalculationManagerService=Rr,w.IFormulaCurrentConfigService=Nt,w.IFormulaDependencyGenerator=Hn,w.IFormulaRuntimeService=it,w.IFunctionService=Ot,w.IHyperlinkEngineFormulaService=ma,w.IOtherFormulaManagerService=$n,w.ISheetRowFilteredService=Gs,w.ISuperTableService=mr,w.LambdaParameterNodeFactory=Aa,w.LambdaValueObjectObject=Bn,w.LexerNode=oe,w.LexerTreeBuilder=hr,w.NEW_EXCEL_FUNCTIONS=Z_,w.NullValueObject=ce,w.NumberValueObject=b,w.OPERATOR_TOKEN_SET=ct,w.OtherFormulaBizType=Ul,w.OtherFormulaManagerService=Uo,w.OtherFormulaMarkDirty=Pr,w.RangeReferenceObject=Br,w.RegisterFunctionMutation=Di,w.RemoveDefinedNameMutation=vi,w.RemoveFeatureCalculationMutation=An,w.RemoveOtherFormulaMutation=vr,w.RemoveSuperTableMutation=ki,w.SUFFIX_TOKEN_SET=en,w.SetArrayFormulaDataMutation=fn,w.SetCellFormulaDependencyCalculationMutation=ws,w.SetCellFormulaDependencyCalculationResultMutation=Ls,w.SetDefinedNameMutation=Ns,w.SetDefinedNameMutationFactory=Tc,w.SetFeatureCalculationMutation=_n,w.SetFormulaCalculationNotificationMutation=Ur,w.SetFormulaCalculationResultMutation=En,w.SetFormulaCalculationStartMutation=Vs,w.SetFormulaCalculationStopMutation=Ms,w.SetFormulaDataMutation=xs,w.SetFormulaDependencyCalculationMutation=Ds,w.SetFormulaDependencyCalculationResultMutation=Rn,w.SetFormulaStringBatchCalculationMutation=Os,w.SetFormulaStringBatchCalculationResultMutation=Ss,w.SetImageFormulaDataMutation=vs,w.SetOtherFormulaMutation=xr,w.SetQueryFormulaDependencyAllMutation=Ts,w.SetQueryFormulaDependencyAllResultMutation=Us,w.SetQueryFormulaDependencyMutation=Ps,w.SetQueryFormulaDependencyResultMutation=js,w.SetSuperTableMutation=Bi,w.SetSuperTableOptionMutation=$i,w.SetTriggerFormulaCalculationStartMutation=Ii,w.SheetRowFilteredService=Qi,w.StringValueObject=x,w.SuperTableService=Fi,w.ValueNodeFactory=Ra,w.ValueObjectFactory=ht,w.compareToken=H,w.convertUnitDataToRuntime=bs,w.deserializeRangeForR1C1=Bo,w.deserializeRangeWithSheet=fr,w.deserializeRangeWithSheetWithCache=Yt,w.excelDateSerial=Re,w.extractFormulaError=Xc,w.functionArray=ko,w.functionCompatibility=Hu,w.functionCube=Gu,w.functionDatabase=qu,w.functionDate=Xu,w.functionEngineering=Ku,w.functionFinancial=nl,w.functionInformation=sl,w.functionLogical=al,w.functionLookup=il,w.functionMath=ll,w.functionMeta=cl,w.functionStatistical=hl,w.functionText=Sl,w.functionUniver=Ml,w.functionWeb=Ll,w.generateAstNode=da,w.generateExecuteAstNodeData=_a,w.generateRandomDependencyTreeId=qt,w.generateStringWithSequence=Fs,w.getAbsoluteRefTypeWitString=Vc,w.getAbsoluteRefTypeWithSingleString=jr,w.getObjectValue=SR,w.getRangeWithRefsString=Sc,w.handleNumfmtInCell=ef,w.handleRefStringInfo=gn,w.includeFormulaLexerToken=ui,w.initSheetFormulaData=$s,w.isFormulaLexerToken=Mr,w.isInDirtyRange=ai,w.isReferenceString=ys,w.isReferenceStringWithEffectiveColumn=Tr,w.isReferenceStrings=Ti,w.matchRefDrawToken=Zl,w.matchToken=K,w.needsQuoting=dn,w.normalizeSheetName=Kl,w.operatorToken=z,w.prefixToken=De,w.quoteSheetName=Cn,w.sequenceNodeType=xe,w.serializeRange=pt,w.serializeRangeToRefString=mn,w.serializeRangeWithSheet=Li,w.serializeRangeWithSpreadsheet=Pi,w.singleReferenceToGrid=hn,w.splitTableStructuredRef=xi,w.strip=aa,w.stripErrorMargin=Un,w.unquoteSheetName=ps,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));