@univerjs/engine-formula 0.18.0 → 0.19.0

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/index.js CHANGED
@@ -1 +1 @@
1
- import{AbsoluteRefType as e,AsyncLock as t,BooleanNumber as n,BuildTextUtils as r,CellValueType as i,CommandType as a,DataStreamTreeTokenType as o,Disposable as s,DisposableCollection as c,ICommandService as l,IConfigService as u,IUniverInstanceService as d,Inject as f,Injector as p,LRUMap as m,LifecycleService as h,LocaleService as g,LocaleType as _,MAX_COLUMN_COUNT as v,MAX_ROW_COUNT as y,ObjectMatrix as b,Optional as x,Plugin as S,RANGE_TYPE as C,RTree as ee,Rectangle as te,RichTextBuilder as ne,Tools as re,UniverInstanceType as ie,cellToRange as ae,columnLabelToNumber as oe,createIdentifier as se,generateRandomId as ce,getNumfmtParseValueFilter as le,hashAlgorithm as ue,isFormulaId as de,isFormulaString as fe,isRealNum as w,isTextFormat as pe,isValidRange as me,merge as he,moveRangeByOffset as ge,numfmt as _e,requestImmediateMacroTask as ve,sortRules as ye,toDisposable as be,touchDependencies as xe}from"@univerjs/core";import{BehaviorSubject as Se,Observable as Ce,Subject as we,bufferWhen as Te,combineLatest as Ee,distinctUntilChanged as De,filter as Oe,map as ke,shareReplay as Ae}from"rxjs";import je from"@flatten-js/interval-tree";import T from"decimal.js";import{DataSyncPrimaryController as Me}from"@univerjs/rpc";let Ne=function(e){return e.FALSE=`FALSE`,e.TRUE=`TRUE`,e}({}),Pe=function(e){return e[e.SUCCESS=0]=`SUCCESS`,e[e.ERROR=1]=`ERROR`,e}({}),Fe=function(e){return e.ALL=`#All`,e.DATA=`#Data`,e.HEADERS=`#Headers`,e.TOTALS=`#Totals`,e.THIS_ROW=`#This Row`,e}({}),Ie=function(e){return e[e.FRONT=0]=`FRONT`,e[e.BACK=1]=`BACK`,e}({});function Le(e){"@babel/helpers - typeof";return Le=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Le(e)}function Re(e,t){if(Le(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Le(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ze(e){var t=Re(e,`string`);return Le(t)==`symbol`?t:t+``}function E(e,t,n){return(t=ze(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Be=class{constructor(e){E(this,`_cache`,void 0),this._cache=new m(e)}set(e,t){let n=this._hash(e);this._cache.set(n,t)}get(e){let t=this._hash(e);return this._cache.get(t)}clear(){this._cache.clear()}delete(e){this._cache.delete(this._hash(e))}forEach(e,t){this._cache.forEach(e,t)}_hash(e){return e.length<=64?e:ue(e).toString()}};let D=function(e){return e.DIV_BY_ZERO=`#DIV/0!`,e.NAME=`#NAME?`,e.VALUE=`#VALUE!`,e.NUM=`#NUM!`,e.NA=`#N/A`,e.CYCLE=`#CYCLE!`,e.REF=`#REF!`,e.SPILL=`#SPILL!`,e.CALC=`#CALC!`,e.ERROR=`#ERROR!`,e.CONNECT=`#GETTING_DATA`,e.NULL=`#NULL!`,e}({});const Ve=new Set(Object.values(D)),He=[...new Set(Object.values(D).map(e=>e.length))];var Ue=class{constructor(){E(this,`pattern`,``)}dispose(){}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}};let O=function(e){return e.PLUS=`+`,e.MINUS=`-`,e.MULTIPLY=`*`,e.DIVIDED=`/`,e.CONCATENATE=`&`,e.POWER=`^`,e.EQUALS=`=`,e.NOT_EQUAL=`<>`,e.GREATER_THAN=`>`,e.GREATER_THAN_OR_EQUAL=`>=`,e.LESS_THAN=`<`,e.LESS_THAN_OR_EQUAL=`<=`,e}({}),k=function(e){return e.EQUALS=`=`,e.NOT_EQUAL=`<>`,e.GREATER_THAN=`>`,e.GREATER_THAN_OR_EQUAL=`>=`,e.LESS_THAN=`<`,e.LESS_THAN_OR_EQUAL=`<=`,e}({});const We=new Map([[O.NOT_EQUAL,4],[O.LESS_THAN,4],[O.GREATER_THAN_OR_EQUAL,4],[O.EQUALS,4],[O.GREATER_THAN,4],[O.LESS_THAN_OR_EQUAL,4],[O.CONCATENATE,3],[O.PLUS,2],[O.MINUS,2],[O.DIVIDED,1],[O.MULTIPLY,1],[O.POWER,0]]),Ge=new Set(We.keys()),Ke=new Set([O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN,O.GREATER_THAN_OR_EQUAL,O.LESS_THAN,O.LESS_THAN_OR_EQUAL]);let A=function(e){return e.OPEN_BRACKET=`(`,e.CLOSE_BRACKET=`)`,e.COMMA=`,`,e.SINGLE_QUOTATION=`'`,e.DOUBLE_QUOTATION=`"`,e.OPEN_BRACES=`{`,e.CLOSE_BRACES=`}`,e.COLON=`:`,e.OPEN_SQUARE_BRACKET=`[`,e.CLOSE_SQUARE_BRACKET=`]`,e}({}),qe=function(e){return e.PERCENTAGE=`%`,e.POUND=`#`,e}({});const Je=new Set([qe.PERCENTAGE,qe.POUND]);let Ye=function(e){return e.AT=`@`,e.MINUS=`-`,e.PLUS=`+`,e}({});var Xe=class extends Ue{constructor(e){super(),this._rawValue=e,E(this,`_customData`,void 0)}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 j.create(D.VALUE)}max(){return j.create(D.VALUE)}min(){return j.create(D.VALUE)}count(){return j.create(D.VALUE)}countA(){return j.create(D.VALUE)}countBlank(){return j.create(D.VALUE)}getNegative(){return j.create(D.VALUE)}getReciprocal(){return j.create(D.VALUE)}plus(e){return j.create(D.VALUE)}minus(e){return j.create(D.VALUE)}multiply(e){return j.create(D.VALUE)}divided(e){return j.create(D.VALUE)}mod(e){return j.create(D.VALUE)}map(e){return j.create(D.NAME)}mapValue(e){return j.create(D.NAME)}compare(e,t,n=!1){return j.create(D.NAME)}isEqual(e){return this.compare(e,k.EQUALS)}isNotEqual(e){return this.compare(e,k.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,k.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,k.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,k.LESS_THAN)}isGreaterThan(e){return this.compare(e,k.GREATER_THAN)}concatenateFront(e){return j.create(D.NAME)}concatenateBack(e){return j.create(D.NAME)}plusBy(e){return j.create(D.VALUE)}minusBy(e){return j.create(D.VALUE)}multiplyBy(e){return j.create(D.VALUE)}dividedBy(e){return j.create(D.VALUE)}modInverse(e){return j.create(D.VALUE)}compareBy(e,t,n=!1){return j.create(D.NAME)}concatenate(e,t=Ie.FRONT){let n=this.getValue().toString();if(typeof e==`string`)t===Ie.FRONT?n=e+n:n+=e;else if(typeof e==`number`)t===Ie.FRONT?n=e.toString()+n:n+=e.toString();else if(typeof e==`boolean`){let r=e?`TRUE`:`FALSE`;t===Ie.FRONT?n=r+n:n+=r}return n}pow(e){return j.create(D.VALUE)}powInverse(e){return j.create(D.VALUE)}sqrt(){return j.create(D.VALUE)}cbrt(){return j.create(D.VALUE)}cos(){return j.create(D.VALUE)}cosh(){return j.create(D.VALUE)}acos(){return j.create(D.VALUE)}acosh(){return j.create(D.VALUE)}sin(){return j.create(D.VALUE)}sinh(){return j.create(D.VALUE)}asin(){return j.create(D.VALUE)}asinh(){return j.create(D.VALUE)}tan(){return j.create(D.VALUE)}tanh(){return j.create(D.VALUE)}atan(){return j.create(D.VALUE)}atan2(e){return j.create(D.VALUE)}atan2Inverse(e){return j.create(D.VALUE)}atanh(){return j.create(D.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return j.create(D.VALUE)}log10(){return j.create(D.VALUE)}exp(){return j.create(D.VALUE)}abs(){return j.create(D.VALUE)}round(e){return j.create(D.VALUE)}roundInverse(e){return j.create(D.VALUE)}floor(e){return j.create(D.VALUE)}floorInverse(e){return j.create(D.VALUE)}ceil(e){return j.create(D.VALUE)}ceilInverse(e){return j.create(D.VALUE)}convertToNumberObjectValue(){return j.create(D.VALUE)}convertToBooleanObjectValue(){return j.create(D.VALUE)}};const Ze=new Be(1e3);var j=class e extends Xe{static create(t,n=``){let r=`${t}-${n}`,i=Ze.get(r);if(i)return i;let a=new e(t,n);return Ze.set(r,a),a}constructor(e,t=``){super(e),this._errorType=e,this._errorContent=t}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(e){return e.getErrorType()===this.getErrorType()}isError(){return!0}};const Qe=`yyyy/mm/dd;@`,$e=1440*60*1e3;function et(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),i=(r-t)/$e;return r>n&&(i+=1),Math.floor(i)+1}function tt(e){let t=Date.UTC(1900,0,1,0,0,0),n=Date.UTC(1900,1,28,0,0,0),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),i=(r-t)/$e;return r>n&&(i+=1),i+1}function M(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Math.floor(e)-1;return r>(n-t)/$e&&--r,new Date(t+r*$e)}function nt(e){let t=Date.UTC(1900,0,1,0,0,0),n=Date.UTC(1900,1,28,0,0,0),r=e-1;return r>(n-t)/$e&&--r,r<0&&(r=e),new Date(t+r*$e)}function rt(e){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(e))return!1;let t=e.replace(/-/g,`/`).replace(/T.+/,``),n=new Date(`${t}`);if(Number.isNaN(n.getTime()))return!1;let r=`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,`0`)}-${n.getDate().toString().padStart(2,`0`)}`;return e.replace(/\//g,`-`).split(`-`).map(e=>e.padStart(2,`0`)).join(`-`)===r}function it(e){return _e.parseDate(e)}function at(e){return _e.parseTime(e)}function ot(e){return _e.getFormatInfo(e).isDate}const st={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 ct(e){return!!(typeof e==`string`&&/^[0|1]{7}/.test(e)||st[Number(e)])}function lt(e){if(!ct(e))return[];if(typeof e==`string`&&/^[0|1]{7}/.test(e)){let t=[];for(let n=1;n<=e.length;n++)`${e[n-1]}`==`1`&&(n===e.length?t.push(0):t.push(n));return t}return st[Number(e)]||[]}function ut(e,t,n=1,r){let i=lt(n),a=Math.floor(e),o=Math.floor(t),s=o>a?a:o,c=0,l=Math.abs(Math.floor(t)-Math.floor(e))+1;for(let e=0;e<l;e++){let t=s+e;if(r&&r.length>0&&r.some(e=>Math.floor(e)===t))continue;let n=ft(t);i.includes(n)||c++}return o>=a?c:-c}function dt(e,t,n=1,r){let i=lt(n),a=Math.floor(e),o=a,s=Math.abs(t);for(let e=1;e<=s;e++){let n=t<0?a-e:a+e;if(n<0)return j.create(D.NUM);if(r&&r.length>0&&r.some(e=>Math.floor(e)===n)){s++;continue}let c=ft(n);if(i.includes(c)){s++;continue}o=n}return o}function N(e){if(e.isError())return e;let t=e.getValue();if(e.isString()){let e;if(it(`${t}`))e=it(`${t}`).v;else if(at(`${t}`))e=at(`${t}`).v;else if(w(t))e=+t;else return j.create(D.VALUE);return e instanceof Date&&(e=tt(e)),+e<0||+e>2958465?j.create(D.NUM):+e}else{let t=+e.getValue();return t<0||t>2958465?j.create(D.NUM):t}}function ft(e){let t=Math.floor(e)===60,n=M(e),r=Date.UTC(1900,1,28),i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());return!t&&i<=r&&(n=new Date(i-$e)),n.getUTCDay()}function pt(e,t,n){switch(n){case 0:return mt(e,t);case 1:return ht(e,t);case 2:return{days:Math.abs(t-e),yearDays:360};case 3:return{days:Math.abs(t-e),yearDays:365};case 4:return gt(e,t);default:return{days:Math.abs(t-e),yearDays:365}}}function mt(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=M(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;i===2?M(e+1).getUTCMonth()+1===3&&(a=30):a===31&&(a=30),l===31&&(a<30?(o=M(t+1),s=o.getUTCFullYear(),c=o.getUTCMonth()+1,l=o.getUTCDate()):l=30);let u=(s-r)*360,d=t>=e?30-a:-a,f=t>=e?l:l-30,p=(t>=e?c-i-1:c-i+1)*30;return{days:Math.abs(u+d+f+p),yearDays:360}}function ht(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=M(t),a=t>0?i.getUTCFullYear():1900,o=Math.abs(t-e),s=Math.abs(a-r)+1,c,l;if(a<r){let e=new Date(Date.UTC(a,0,1)),t=new Date(Date.UTC(r,11,31));c=et(e),l=et(t),a===1900&&(c+=1)}else{let e=new Date(Date.UTC(r,0,1)),t=new Date(Date.UTC(a,11,31));c=et(e),l=et(t),r===1900&&(c+=1)}return{days:o,yearDays:(l-c+1)/s}}function gt(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=M(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;a===31&&(a=30),l===31&&(l=30);let u=(s-r)*360,d=t>=e?30-a:-a,f=t>=e?l:l-30,p=(t>=e?c-i-1:c-i+1)*30;return{days:Math.abs(u+d+f+p),yearDays:360}}function _t(e){return e%4==0&&e%100!=0||e%400==0}function vt(e){return e%4==0&&e%100!=0||e%400==0||e===1900}const yt=[31,29,31,30,31,30,31,31,30,31,30,31],bt=[31,28,31,30,31,30,31,31,30,31,30,31];function xt(e,t){return _t(e)?yt[t]:bt[t]}function St(e){return vt(e)?366:365}function Ct(e,t){switch(t){case 0:case 2:case 4:return 360;case 1:return St(M(e).getUTCFullYear());case 3:return 365;default:return-1}}function wt(e,t,n){return xt(e,t)===n}function Tt(e,t){let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return wt(n,r,i)?(e.setUTCDate(1),e.setUTCMonth(e.getUTCMonth()+t),n=e.getUTCFullYear(),r=e.getUTCMonth(),e.setUTCDate(xt(n,r))):e.setUTCMonth(e.getUTCMonth()+t),e}function Et(e,t,n,r,i){for(let a=0,o=e.length;a<o;a++){let o=e[a];if(t!==o.unitId||n!==o.sheetId)continue;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=o.range;if(r>=s&&r<=l&&i>=c&&i<=u)return!0}return!1}let Dt=function(e){return e[e.Financial=0]=`Financial`,e[e.Date=1]=`Date`,e[e.Math=2]=`Math`,e[e.Statistical=3]=`Statistical`,e[e.Lookup=4]=`Lookup`,e[e.Database=5]=`Database`,e[e.Text=6]=`Text`,e[e.Logical=7]=`Logical`,e[e.Information=8]=`Information`,e[e.Engineering=9]=`Engineering`,e[e.Cube=10]=`Cube`,e[e.Compatibility=11]=`Compatibility`,e[e.Web=12]=`Web`,e[e.Array=13]=`Array`,e[e.Univer=14]=`Univer`,e[e.User=15]=`User`,e[e.DefinedName=16]=`DefinedName`,e[e.Table=17]=`Table`,e}({});const Ot=[...Object.values(k),...Object.values(O),...Object.values(A),...Object.values(qe),...Object.values(Ye)];function kt(e){return Ot.includes(e)}function At(e){for(let t of Ot)if(e.indexOf(t)>-1)return!0;return!1}function jt(e){return e[0]===`'`&&e[e.length-1]===`'`?e.substring(1,e.length-1):e}function Mt(e){return kt(e)&&e!==A.CLOSE_BRACES&&e!==A.CLOSE_BRACKET&&e!==A.SINGLE_QUOTATION&&e!==A.DOUBLE_QUOTATION||e===` `}const Nt=new Set([O.PLUS,O.MINUS,O.MULTIPLY,O.DIVIDED,O.CONCATENATE,O.POWER,O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN,O.GREATER_THAN_OR_EQUAL,O.LESS_THAN,O.LESS_THAN_OR_EQUAL,A.OPEN_BRACKET,A.COMMA,A.COLON,A.OPEN_BRACES,A.OPEN_SQUARE_BRACKET]);function Pt(e){return Nt.has(e)}const Ft=new Set([O.PLUS,O.MINUS,O.MULTIPLY,O.DIVIDED,O.CONCATENATE,O.POWER,O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN,O.GREATER_THAN_OR_EQUAL,O.LESS_THAN,O.LESS_THAN_OR_EQUAL,A.OPEN_BRACKET,A.COMMA,A.COLON,A.OPEN_BRACES,A.OPEN_SQUARE_BRACKET,qe.PERCENTAGE,qe.POUND]);function It(e){return Ft.has(e)}const Lt=`\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]`,Rt=new RegExp(Lt),zt=`\\s*?:\\s*?`,Bt=`[A-Za-z]+`,Vt=`[1-9][0-9]*`,Ht=`'?(${Lt})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`,Ut=`\\\$?${Bt}\\\$?${Vt}`,Wt=`^(${Ye.AT})?${Ht}${Ut}${zt}${Ut}$`,Gt=new RegExp(Wt),Kt=`^${Ht}\\s*?${Ut}(${qe.POUND})?$`,qt=new RegExp(Kt),Jt=`^${Ht}\\\$?${Vt}${zt}\\\$?${Vt}$`,Yt=new RegExp(Jt),Xt=`^${Ht}\\\$?${Bt}${zt}\\\$?${Bt}$`,Zt=new RegExp(Xt),Qt=`^${Ht}\\s*?\\\$?${Vt}$`,$t=new RegExp(Qt),en=`^${Ht}\\s*?\\\$?${Bt}$`,tn=new RegExp(en),nn=`((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+`,rn=`\\[#.+\\]\\s*?,\\s*?`,an=`\\[((?<!#).)*\\]`,on=`${an}${zt}${an}`,sn=`^(${Lt})?${nn}$`,cn=`^(${Lt})?${nn}(${an}|\\[${rn}${an}\\])+$`,ln=`^(${Lt})?${nn}(\\[${on}\\])?$|^${nn}(\\[${rn}${on}\\])?$`,un=`^(${Lt})?${nn}\\[\\s*#([^\\]]+)\\s*\\]$`,dn=new RegExp(sn),fn=new RegExp(cn),pn=new RegExp(ln),mn=new RegExp(un),hn=RegExp(`{.*?}`,`g`);function gn(e){return qt.lastIndex=0,qt.test(e)}function _n(e){return Gt.lastIndex=0,Gt.test(e)}function vn(e){return Yt.lastIndex=0,Yt.test(e)}function yn(e){return Zt.lastIndex=0,Zt.test(e)}function bn(e){return $t.lastIndex=0,$t.test(e)}function xn(e){return tn.lastIndex=0,tn.test(e)}function Sn(e){return dn.lastIndex=0,dn.test(e)}function Cn(e){return fn.lastIndex=0,fn.test(e)}function wn(e){return pn.lastIndex=0,pn.test(e)}function Tn(e){return mn.lastIndex=0,mn.test(e)}function En(e){return hn.lastIndex=0,hn.test(e)}function Dn(e){return gn(e)||_n(e)||vn(e)||yn(e)}function On(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(r==null)return!0;t[n]==null&&(t[n]={}),Object.keys(r).forEach(e=>{let i=r[e];t[n][e]=new b(i)})}),t}function kn(e){let t={};for(let n in e){let r=e[n];if(r!=null){t[n]==null&&(t[n]={});for(let e in r){let i=r[e],a={};i.forValue((e,t,n)=>{a[e]===void 0&&(a[e]={}),a[e][t]=n}),t[n][e]=a}}}return t}const An=`P_1`,jn=`R_1`,Mn=`L_1`,Nn=`LO_1`,Pn=`LET`,Fn=`LAMBDA`,In=new Set([`RAND`,`RANDBETWEEN`,`NOW`,`TODAY`]),Ln={type:a.MUTATION,id:`sheet.mutation.data-validation-formula-mark-dirty`,handler(){return!0}},Rn={id:`formula.mutation.register-function`,type:a.MUTATION,handler:()=>!0},zn={id:`formula.mutation.set-array-formula-data`,type:a.MUTATION,handler:(e,t)=>!0},Bn=/[^0-9]/g,Vn=/[^A-Za-z]/g;function Hn(t){let n=t[0]===`$`,r=t.substring(1),i=r.indexOf(`$`)>-1;return re.isStringNumber(r)&&n&&!i&&(n=!1,i=!0),n&&i?e.ALL:n?e.COLUMN:i?e.ROW:e.NONE}function Un(e){let t=e.split(`!`);t.length>1&&(e=t[t.length-1]);let n=e.split(`:`);return n.length>1?{startAbsoluteRefType:Hn(n[0]),endAbsoluteRefType:Hn(n[1])}:{startAbsoluteRefType:Hn(n[0])}}function Wn(t=e.NONE){let n=``,r=``;return t===e.ROW?n=`$`:t===e.COLUMN?r=`$`:t===e.ALL&&(n=`$`,r=`$`),{rowAbsoluteString:n,columnAbsoluteString:r}}function Gn(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i,startAbsoluteRefType:a,endAbsoluteRefType:o,rangeType:s=C.NORMAL}=e,c=Wn(a),l=Wn(o);if(s===C.ROW||s===C.ALL)return`${`${c.rowAbsoluteString}${n+1}`}:${`${l.rowAbsoluteString}${i+1}`}`;if(s===C.COLUMN)return`${`${c.columnAbsoluteString}${re.chatAtABC(t)}`}:${`${l.columnAbsoluteString}${re.chatAtABC(r)}`}`;let u=`${c.columnAbsoluteString}${re.chatAtABC(t)}${c.rowAbsoluteString}${n+1}`,d=`${l.columnAbsoluteString}${re.chatAtABC(r)}${l.rowAbsoluteString}${i+1}`;return u===d?u:`${u}:${d}`}function Kn(e,t){return`${ir(e)}!${Gn(t)}`}function qn(e,t,n){return rr(e)||rr(t)?`'[${ar(e)}]${ar(t)}'!${Gn(n)}`:`[${e}]${t}!${Gn(n)}`}function Jn(e){let{unitId:t,sheetName:n,range:r}=e;return t!=null&&t.length>0&&n!=null&&n.length>0?qn(t,n,r):n!=null&&n.length>0?Kn(n,r):Gn(r)}function Yn(e){return{row:Number.parseInt(e.replace(Bn,``))-1,column:re.ABCatNum(e.replace(Vn,``)),absoluteRefType:Hn(e)}}function Xn(e){let t=Rt.exec(e),n=``;t!=null&&(n=t[0].trim(),n=or(n.slice(1,n.length-1)),e=e.replace(Rt,``));let r=e.indexOf(`!`),i=``,a=``;return r>-1?(i=e.substring(0,r),i[0]===`'`&&i[i.length-1]===`'`&&(i=i.substring(1,i.length-1)),i=or(i),a=e.substring(r+1)):a=e,{refBody:a,sheetName:i,unitId:n}}function Zn(e){let{refBody:t,sheetName:n,unitId:r}=Xn(e),i=t.indexOf(`:`);if(i===-1){let e=Yn(t),i=e.row,a=e.column,o=e.absoluteRefType;return{unitId:r,sheetName:n,range:{startRow:i,startColumn:a,endRow:i,endColumn:a,startAbsoluteRefType:o,endAbsoluteRefType:o}}}let a=t.substring(0,i),o=t.substring(i+1),s=Yn(a),c=Yn(o),l=s.row>c.row?c.row:s.row,u=s.column>c.column?c.column:s.column,d=s.row>c.row?s.row:c.row,f=s.column>c.column?s.column:c.column,p=C.NORMAL;return Number.isNaN(l)&&Number.isNaN(d)?p=C.COLUMN:Number.isNaN(u)&&Number.isNaN(f)&&(p=C.ROW),{unitId:r,sheetName:n,range:{startRow:l,startColumn:u,endRow:d,endColumn:f,startAbsoluteRefType:s.absoluteRefType,endAbsoluteRefType:c.absoluteRefType,rangeType:p}}}const Qn=[`LOG10`];function $n(e){let t=er(e);if(!Dn(t)||Qn.includes(t.toUpperCase().trim()))return!1;let{range:n}=Zn(t);return!(n.endColumn>=v)}function er(e){let t=[],n=!1;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(i===` `&&!n)t.push(i);else if(!n&&(i===Ye.AT||i===Ye.MINUS||i===Ye.PLUS))continue;else t.push(i),n=!0}return t.join(``)}function tr(e,t){let n=(e==null?void 0:e.split(`,`))||[];return e===``||n.length===0||!nr(e)?[]:n.map(e=>{let n=Zn(e);return{unitId:n.unitId,sheetId:t(n.sheetName),range:n.range,sheetName:n.sheetName}})}function nr(e){return((e==null?void 0:e.split(`,`))||[]).every(e=>$n(e.trim()))}function rr(e){return e.length===0?!1:!!(At(e)||sr(e)||cr(e)||lr(e)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e))}function ir(e){return rr(e)?`'${ar(e)}'`:e}function ar(e){return e.replace(/'/g,`''`)}function or(e){return e.replace(/''/g,`'`)}function sr(e){let t=/^([A-Z]+)([1-9][0-9]*)$/.exec(e);if(!t)return!1;let[,n,r]=t,i=Number(r);if(i<1||i>y)return!1;let a=oe(n);return!(a<1||a>v)}function cr(e){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e)}function lr(e){return!/^\p{Letter}/u.test(e.charAt(0))}function ur(e){let t=e.indexOf(`[`);return t===-1?{tableName:e,struct:``}:{tableName:e.slice(0,t),columnStruct:e.slice(t)}}function P(e,t){return function(n,r){t(n,r,e)}}function dr(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let fr=class extends s{constructor(e){super(),this._univerInstanceService=e,E(this,`_definedNameMap`,{}),E(this,`_nameCacheMap`,{}),E(this,`_update$`,new we),E(this,`update$`,this._update$.asObservable()),E(this,`_currentRange`,{unitId:``,sheetId:``,range:{startRow:0,endRow:0,startColumn:0,endColumn:0}}),E(this,`_currentRange$`,new we),E(this,`currentRange$`,this._currentRange$.asObservable()),E(this,`_focusRange$`,new we),E(this,`focusRange$`,this._focusRange$.asObservable())}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var n;let{sheetName:r}=Xn(t);return(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetName(r)}focusRange(e,t){let n=this.getValueById(e,t);n!==void 0&&this._focusRange$.next({...n,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Gn(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 n;(n=this._definedNameMap[e])==null||delete n[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){let n=this._nameCacheMap[e];if(n)return n[t.toLowerCase()]||null;let r=this._definedNameMap[e];if(r===void 0)return null;let i=null;for(let e of Object.values(r))if(e.name===t){i=e;break}return i&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=i),i}getValueById(e,t){var n;return(n=this._definedNameMap[e])==null?void 0:n[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(let[n,r]of Object.entries(this._definedNameMap[e]))if(r.formulaOrRefString===t)return r}}_update(){this._update$.next(null)}_updateCache(e){let t=this._definedNameMap[e];if(t===void 0){delete this._nameCacheMap[e];return}this._nameCacheMap[e]={};for(let n of Object.values(t))this._nameCacheMap[e][n.name.toLowerCase()]=n}};fr=dr([P(0,d)],fr);const pr=se(`univer.formula.defined-names.service`),mr=(e,t)=>{let{unitId:n,id:r}=t;return{...e.get(pr).getValueById(n,r),unitId:n}},hr={id:`formula.mutation.set-defined-name`,type:a.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(pr),{id:r,unitId:i,name:a,formulaOrRefString:o,comment:s,hidden:c,localSheetId:l,formulaOrRefStringWithPrefix:u}=t;return n.registerDefinedName(i,{id:r,name:a.trim(),formulaOrRefString:o.trim(),comment:s==null?void 0:s.trim(),hidden:c,localSheetId:l,formulaOrRefStringWithPrefix:u}),!0}},gr={id:`formula.mutation.remove-defined-name`,type:a.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(pr),{unitId:r,id:i}=t;return n.removeDefinedName(r,i),!0}},_r={id:`formula.mutation.set-feature-calculation`,type:a.MUTATION,handler:()=>!0},vr={id:`formula.mutation.remove-feature-calculation`,type:a.MUTATION,handler:()=>!0},yr={id:`formula.mutation.set-formula-calculation-start`,type:a.MUTATION,handler:()=>!0},br={id:`formula.mutation.set-trigger-formula-calculation-start`,type:a.MUTATION,handler:()=>!0},xr={id:`formula.mutation.set-formula-string-batch-calculation`,type:a.MUTATION,handler:()=>!0},Sr={id:`formula.mutation.set-formula-string-batch-calculation-result`,type:a.MUTATION,handler:()=>!0},Cr={id:`formula.mutation.set-formula-calculation-stop`,type:a.MUTATION,handler:()=>!0},wr={id:`formula.mutation.set-formula-calculation-notification`,type:a.MUTATION,handler:()=>!0},Tr={id:`formula.mutation.set-formula-calculation-result`,type:a.MUTATION,handler:()=>!0},Er={id:`formula.mutation.set-formula-dependency-calculation`,type:a.MUTATION,handler:()=>!0},Dr={id:`formula.mutation.set-formula-dependency-calculation-result`,type:a.MUTATION,handler:()=>!0},Or={id:`formula.mutation.set-cell-formula-dependency-calculation`,type:a.MUTATION,handler:()=>!0},kr={id:`formula.mutation.set-cell-formula-dependency-calculation-result`,type:a.MUTATION,handler:()=>!0},Ar={id:`formula.mutation.set-query-formula-dependency`,type:a.MUTATION,handler:()=>!0},jr={id:`formula.mutation.set-query-formula-dependency-result`,type:a.MUTATION,handler:()=>!0},Mr={id:`formula.mutation.set-query-formula-dependency-all`,type:a.MUTATION,handler:()=>!0},Nr={id:`formula.mutation.set-query-formula-dependency-all-result`,type:a.MUTATION,handler:()=>!0},Pr={id:`formula.mutation.set-formula-data`,type:a.MUTATION,handler:(e,t)=>!0},Fr={id:`formula.mutation.set-image-formula-data`,type:a.MUTATION,handler:(e,t)=>!0},Ir={id:`formula.mutation.set-other-formula`,type:a.MUTATION,handler:()=>!0},Lr={id:`formula.mutation.remove-other-formula`,type:a.MUTATION,handler:()=>!0};var Rr=class extends s{constructor(){super(),E(this,`_tableMap`,new Map),E(this,`_tableOptionMap`,new Map),E(this,`_update$`,new we),E(this,`update$`,this._update$.asObservable()),this.registerTableOptionMap(Fe.ALL,Fe.ALL),this.registerTableOptionMap(Fe.DATA,Fe.DATA),this.registerTableOptionMap(Fe.HEADERS,Fe.HEADERS),this.registerTableOptionMap(Fe.TOTALS,Fe.TOTALS),this.registerTableOptionMap(Fe.THIS_ROW,Fe.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var n;(n=this._tableMap.get(e))==null||n.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,n){var r;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(r=this._tableMap.get(e))==null||r.set(t,n),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var n;return(n=this._tableMap.get(e))==null?void 0:n.get(t)}hasTable(e,t){let n=this._tableMap.get(e);return n?n.keys().some(e=>e.toLowerCase()===t.toLowerCase()):!1}_update(){this._update$.next(null)}};const zr=se(`univer.formula.super-table.service`),Br={id:`formula.mutation.set-super-table`,type:a.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r,reference:i}=t;return e.get(zr).registerTable(n,r,i),!0}},Vr={id:`formula.mutation.remove-super-table`,type:a.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r}=t;return e.get(zr).remove(n,r),!0}},Hr={id:`formula.mutation.set-super-table-option`,type:a.MUTATION,handler:(e,t)=>{let{tableOption:n,tableOptionType:r}=t;return e.get(zr).registerTableOptionMap(n,r),!0}},Ur=`engine-formula.config`,Wr=`CYCLE_REFERENCE_COUNT`,Gr=`RETURN_DEPENDENCY_TREE`;Symbol(Ur);const Kr={},qr=new Be(1e5);function Jr(e){let t=qr.get(e);if(t)return t;let n=Zn(e);return qr.set(e,n),Zn(e)}function Yr(){qr.clear()}let Xr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.NUMBER=1]=`NUMBER`,e[e.STRING=2]=`STRING`,e[e.FUNCTION=3]=`FUNCTION`,e[e.REFERENCE=4]=`REFERENCE`,e[e.ARRAY=5]=`ARRAY`,e[e.DEFINED_NAME=6]=`DEFINED_NAME`,e[e.TABLE=7]=`TABLE`,e}({});function Zr(e){let t=``;for(let n of e)typeof n==`string`?t+=n:t+=n.token;return t}var F=class e{constructor(){E(this,`_parent`,void 0),E(this,`_token`,`R_1`),E(this,`_children`,[]),E(this,`_lambdaId`,void 0),E(this,`_functionDefinitionPrivacyVar`,void 0),E(this,`_lambdaParameter`,``),E(this,`_startIndex`,-1),E(this,`_endIndex`,-1),E(this,`_definedNames`,[])}dispose(){var e;this._children.forEach(e=>{typeof e!=`string`&&e.dispose()}),(e=this._functionDefinitionPrivacyVar)==null||e.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(e){this._lambdaId=e}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(e){this._functionDefinitionPrivacyVar=e}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(e){this._lambdaParameter=e}getParent(){return this._parent}setParent(e){this._parent=e}getChildren(){return this._children}setChildren(e){this._children=e}addChildren(e){this._children.push(e)}addChildrenFirst(e){this._children.unshift(e)}getToken(){return this._token}setToken(e){this._token=e}setIndex(e,t){this._startIndex=e,this._endIndex=t}setDefinedNames(e){this._definedNames=e}hasDefinedNames(){return this._definedNames.length>0}replaceChild(e,t){let n=this._getIndexInParent(e);n!=null&&(this.getChildren().splice(n,1,t),t.setParent(this))}changeToParent(e){let t=this.getParent();t&&t.removeChild(this),this.setParent(e),e.getChildren().push(this)}removeChild(e){let t=this._getIndexInParent(e);t!=null&&this.getChildren().splice(t,1)}serialize(){let t=this.getToken(),n=this.getChildren(),r=[],i=n.length;for(let t=0;t<i;t++){let i=n[t];i instanceof e?r.push(i.serialize()):r.push(i)}return{token:t,st:this._startIndex,ed:this._endIndex,children:r}}_getIndexInParent(e){let t=this.getChildren(),n=t.length;for(let r=0;r<n;r++)if(t[r]===e)return r}},Qr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.FUNCTION=1]=`FUNCTION`,e[e.LAMBDA=2]=`LAMBDA`,e}(Qr||{});const $r=2e3,ei=new Be($r),ti=new Be($r);var ni=class extends s{constructor(...e){super(...e),E(this,`_currentLexerNode`,new F),E(this,`_upLevel`,0),E(this,`_segment`,``),E(this,`_bracketState`,[]),E(this,`_openBracketNormalIndexStack`,[]),E(this,`_squareBracketState`,0),E(this,`_bracesState`,0),E(this,`_singleQuotationState`,0),E(this,`_doubleQuotationState`,0),E(this,`_lambdaState`,!1),E(this,`_colonState`,!1),E(this,`_formulaErrorCount`,0),E(this,`_tableBracketState`,!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),ei.clear(),ti.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){let n=this._getCurrentParamIndex(e,t);if(n==null||n===D.VALUE)return;let r=n[0];if(typeof r==`string`)return;let i=r.getParent(),a=r;for(;i;){let e=i.getToken();if(e!==`P_1`&&!kt(e)&&i.getStartIndex()!==-1)return{functionName:e,paramIndex:i.getChildren().indexOf(a)};a=i,i=i.getParent()}}checkIfAddBracket(e){let t=0,n=e.length-1,r=e[n];for(;(r===A.CLOSE_BRACKET||r===` `)&&n>=0;)r===A.CLOSE_BRACKET&&t++,r=e[--n];let i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===D.VALUE)return 0;let a=i[0];if(typeof a==`string`)return 0;let o=a.getParent(),s=0;for(i[1]===A.OPEN_BRACKET&&s++;o;){let e=o.getToken();e!==`P_1`&&e!==A.COLON&&o.getStartIndex()!==-1&&e.toUpperCase()!==`LAMBDA`&&(t===0?s+=1:t--),o=o.getParent()}return s}sequenceNodesBuilder(e){let t=ti.get(e);if(t)return[...t];let n=this._getSequenceArray(e);if(n.length===0)return;let r=this.getSequenceNode(n);return ti.set(e,[...r]),r}convertRefersToAbsolute(e,t,n,r=``){let i=this.sequenceNodesBuilder(e);if(i==null)return e;let a=``;e.substring(0,1)===O.EQUALS&&(a=O.EQUALS);for(let e=0,a=i.length;e<a;e++){let o=i[e];if(typeof o!=`string`&&o.nodeType===Xr.REFERENCE){let{token:s,endIndex:c}=o,l=Jr(s);if(l==null)continue;let{range:u,sheetName:d,unitId:f}=l,p=Jn({range:{...u,startAbsoluteRefType:t,endAbsoluteRefType:n},unitId:f,sheetName:d||r}),m=p.length-s.length;i[e]={...o,token:p,endIndex:c+m};for(let t=e+1;t<a;t++){let e=i[t];typeof e!=`string`&&(e.startIndex+=m,e.endIndex+=m)}}}return`${a}${Zr(i)}`}moveFormulaRefOffset(t,n,r,i=!1){let a=this.sequenceNodesBuilder(t);if(a==null)return t;let o=[];for(let t=0,s=a.length;t<s;t++){let s=a[t];if(typeof s==`string`||s.nodeType!==Xr.REFERENCE){o.push(s);continue}let{token:c}=s,l=Jr(c),{sheetName:u,unitId:d}=l,f=l.range;if(!i&&f.startAbsoluteRefType===e.ALL&&f.endAbsoluteRefType===e.ALL){o.push(s);continue}else f=ge(f,n,r,i);let p=``;p=me(f)?Jn({range:f,unitId:d,sheetName:u}):D.REF,o.push({...s,token:p})}return`=${Zr(o)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;let e=this._currentLexerNode.getChildren()[0];return e instanceof F?!0:!!(this._passArrayOperator(e)||Ge.has(e)||Je.has(e)||e===Ye.AT||e===A.COMMA||e===A.COLON||e===A.OPEN_BRACKET)}_passArrayOperator(e){if(e.length===0||!(e[0]===`{`&&e[e.length-1]===`}`))return!1;let t=this._currentLexerNode.getChildren(),n=t[t.length-1];return n instanceof F?!1:!!Ge.has(n)}getSequenceNode(e){let t=[],n=!1;for(let r=0,i=e.length;r<i;r++){let a=e[r],o=e[r-1],{segment:s,currentString:c}=a;if(c===A.DOUBLE_QUOTATION&&(n=!0),(s!==``||r===0)&&r!==i-1){t.push(c);continue}let l=(o==null?void 0:o.segment)||``,u=r-l.length,d=r-1,f=r-1;if(r===i-1&&this._isLastMergeString(c)&&(l+=c,d+=1),l===``||We.has(l)){t.push(c);continue}let p=l.trim(),m=er(p);n===!0&&p[p.length-1]===A.DOUBLE_QUOTATION&&p[0]!==A.OPEN_BRACES?(n=!1,this._processPushSequenceNode(t,Xr.STRING,l,u,d,f)):gn(m)&&$n(m)?this._processPushSequenceNode(t,Xr.REFERENCE,l,u,d,f):re.isStringNumber(p)?this._processPushSequenceNode(t,Xr.NUMBER,l,u,d,f):p.length>0&&this._processPushSequenceNode(t,Xr.FUNCTION,l,u,d,f),(r!==i-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,n,r,i,a){this._pushSequenceNode(e,{nodeType:t,token:n,startIndex:r,endIndex:i},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===A.DOUBLE_QUOTATION||re.isStringNumber(e)||!kt(e)}_mergeSequenceNodeReference(e){let t=[],n=e.length,r=0;for(;r<n;){let n=e[r];if(typeof n==`string`){let i=e[r-1];if(n.trim()===A.CLOSE_BRACES&&i!=null&&typeof i!=`string`&&i.nodeType===Xr.FUNCTION&&i.token.trim().substring(0,1)===A.OPEN_BRACES){i.nodeType=Xr.ARRAY,i.token+=n,i.endIndex+=n.length,r++;continue}t.push(n)}else{let i=e[r+1],a=e[r+2];i===A.COLON&&typeof n!=`string`&&a!=null&&typeof a!=`string`&&$n((n.token+i+a.token).trim())&&(n.nodeType=Xr.REFERENCE,n.token+=i+a.token,n.endIndex=a.endIndex,r+=2),t.push(n)}r++}return this._minusSplitSequenceNode(t)}_minusSplitSequenceNode(e){let t=[];for(let n of e){if(typeof n!=`string`){let e=n.token.match(/^(\s*([-@+]\s*)+)(.*)$/);if(e){let r=e[1],i=e[3];if($n(i.trim())){let e=r.length,a=n.startIndex,o=n.startIndex+e-1,s={nodeType:Xr.NORMAL,token:r,startIndex:a,endIndex:o},c={nodeType:Xr.REFERENCE,token:i,startIndex:o+1,endIndex:n.endIndex};t.push(s),t.push(c);continue}}}t.push(n)}return t}_pushSequenceNode(e,t,n){let r=n-t.startIndex+1;e.splice(e.length-r,r,t)}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,n){if(t===!0){var r;let t=ei.get(e),i=n&&((r=this._simpleCheckDefinedName)==null?void 0:r.call(this,e,n));if(t&&!i)return t}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(`R_1`);let i=[],a=this._nodeMaker(e,i);if(a===D.VALUE||i.length===0)return a;let o=!1,s=``,c=[];if(n){let{hasDefinedName:e,sequenceString:t,definedNames:r}=this._handleDefinedName(i,n);o=e,s=t,c=r}if(o&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(`R_1`),a=this._nodeMaker(`=${s}`),a===D.VALUE))return a;let l=this._getTopNode(this._currentLexerNode);if(l&&(this._currentLexerNode=l),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return D.VALUE;ei.set(e,this._currentLexerNode)}return o&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_handleDefinedName(e,t){let{unitId:n,getValueByName:r,getSheetName:i}=t;if(n==null)return{sequenceString:``,hasDefinedName:!1,definedNames:[]};let a=this.getSequenceNode(e),o=``,s=!1,c=[];for(let e=0,i=a.length;e<i;e++){let i=a[e];if(typeof i==`string`){o+=i;continue}let{nodeType:l,token:u}=i,d=u;if(l===Xr.REFERENCE||l===Xr.FUNCTION){l===Xr.FUNCTION&&(d=this._getHasSheetNameDefinedName(u,n,t));let e=r(n,d);if(e){let n=e.formulaOrRefString,r=this._handleNestedDefinedName(n,t);if(typeof r!=`object`||!r)o+=r||D.NAME,s=!0,c.push(d);else if(typeof r==`object`){let{sequenceString:e,definedNames:t}=r;o+=e,t.forEach(e=>{c.push(e)}),s=!0}}else this._checkDefinedNameDirty(d,t)?(o+=D.NAME,s=!0,c.push(d)):o+=d}else o+=d}return{sequenceString:o,hasDefinedName:s,definedNames:c}}_getHasSheetNameDefinedName(e,t,n){if(!e.includes(`!`))return e;let r=e.split(`!`);if(r.length!==2)return e;let i=r[0],a=r[1].trim(),o=n.getValueByName(t,a);if(!o)return e;let s=o.localSheetId;if(s!==void 0){if(s===`AllDefaultWorkbook`||i===n.getSheetName(t,s))return a}else return a;return e}_handleNestedDefinedName(e,t){let n=[],r=this._nodeMaker(e,n);return r===D.VALUE||n.length===0?r:this._handleDefinedName(n,t)}_simpleCheckDefinedName(e,t){let{getDirtyDefinedNameMap:n,unitId:r}=t,i=n(),a=r;if(a!=null&&i[a]!=null){let t=Object.keys(i[a]);for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e.indexOf(r)>-1)return!0}}return!1}_checkDefinedNameDirty(e,t){let{getDirtyDefinedNameMap:n,unitId:r}=t,i=n(),a=r;if(a!=null&&i[a]!=null){let t=Object.keys(i[a]);for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return!0}return!1}_suffixExpressionHandler(e){let t=e.getChildren();if(!t)return!1;let n=t.length,r=[],i=[],a=!0;for(let e=0;e<n;e++){let n=t[e];if(n instanceof F)a=this._suffixExpressionHandler(n),r.push(n);else{let a=n.trim();if(a===``)continue;if(Ge.has(a)){if(a===O.PLUS&&this._deletePlusForPreNode(t[e-1]))continue;if(a!==O.PLUS&&a!==O.MINUS&&this._deletePlusForPreNode(t[e-1]))return!1;for(;i.length>0;){var o;let e=(o=i[i.length-1])==null?void 0:o.trim();if(!e||e===A.OPEN_BRACKET)break;let t=We.get(e),n=We.get(a);if(t===void 0||n===void 0)break;if(n>=t)r.push(i.pop());else break}i.push(n)}else if(a===A.OPEN_BRACKET)i.push(n);else if(a===A.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(r,i,t,e);else{if(this._checkCloseBracket(t[e-1]))return!1;r.push(n)}}}return a?this._processSuffixExpressionRemain(r,i,e):!1}_processSuffixExpressionRemain(e,t,n){let r=e[e.length-1];for(;t.length>0;){let n=t.pop();if(!(r instanceof F)&&(n===A.OPEN_BRACKET||n===A.CLOSE_BRACKET))return!1;e.push(n)}return n.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,n,r){if(this._checkOpenBracket(n[r-1])||this._checkOperator(n[r-1]))return!1;for(;t.length>0;){var i;let n=(i=t[t.length-1])==null?void 0:i.trim();if(!n)break;if(n===A.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===A.CLOSE_BRACKET||e instanceof F}_checkOpenBracket(e){return e===A.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof F?!1:Ge.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof F)){let t=e.trim();if(Ge.has(t)||t===A.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new F}_resetSegment(){this._segment=``}_openBracket(e=Qr.NORMAL){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openBracketNormalIndex(){this._openBracketNormalIndexStack.push(this._currentLexerNode.getChildren().length-1)}_getNodesByCurrentBracketNormalIndex(){let e=this._openBracketNormalIndexStack.pop();if(e===void 0)return[];let t=this._currentLexerNode.getChildren();return t.length===0?[]:t.splice(e)}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){--this._squareBracketState}_getCurrentBracket(){let e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){let t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){--this._bracesState}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){--this._singleQuotationState}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){--this._doubleQuotationState}_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(){let e=this._currentLexerNode.getChildren();if(e&&e.length>0){let t=e[e.length-1];if(t instanceof F)return t}return!1}_getLastChildCurrent(){let e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){let e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var e;let t=(e=this._currentLexerNode)==null?void 0:e.getParent(),n=!1;if(t&&t.getToken()===`L_1`){var r;if(!(t==null||(r=t.getParent())==null)&&r.getParent()){var i;let e=(i=this._currentLexerNode.getParent())==null||(i=i.getParent())==null?void 0:i.getParent();e&&(this._currentLexerNode=e),n=!0}}else if(t!=null&&t.getParent()){var a;let e=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent();e&&(this._currentLexerNode=e),n=!0}for(let e=0;e<this._upLevel;e++){var o;let e=(o=this._currentLexerNode)==null?void 0:o.getParent();e&&(this._currentLexerNode=e),n=!!this._currentLexerNode}return n}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){let n=e;if(n!==``){let e=this._currentLexerNode.getChildren();if(!(n instanceof F)&&this.isColonOpen()){let e=new F;e.setToken(n),e.setParent(this._currentLexerNode),n=e}t?e.unshift(n):e.push(n)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,n=!1){let r=new F;r.setToken(e),r.setIndex(t-e.length,t-1),this._setCurrentLexerNode(r,n)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_formulaErrorLastTokenCheck(e,t){let n=this._findPreviousToken(e,t)||``,r=e.length-1===t;if(!r&&this._isOperatorToken(n)||r&&Pt(n))return!0;if(Je.has(n)){let n=this._findSecondLastNonSpaceToken(e,t);if(n==null||It(n))return!0}return!1}_findPreviousToken(e,t){let n=t;for(;n>=0;){let t=e[n];if(t!==` `)return t;n--}}_findSecondLastNonSpaceToken(e,t){let n=t,r=0;for(;n>=0;){let t=e[n];if(t!==` `&&(r++,r===2))return t;n--}return null}_findNextToken(e,t){let n=t;for(;n>=0;){let t=e[n];if(t!==` `)return t;n++}}_unexpectedEndingTokenExcludeOperator(e){return e===A.OPEN_BRACKET||e===A.COMMA||e===O.EQUALS||e===``}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!Ge.has(e)}_getSequenceArray(e){let t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new F,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,n){let r=t;if(e!==qe.POUND)return!0;let i=n[++r];for(;i===` `;)i=n[++r];return!!kt(i)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let n=0;n<He.length;n++){let r=He[n],i=t.slice(e,e+r).join(``).toUpperCase();if(Ve.has(i))return i}}_nodeMaker(e,t,n){let r=e.replace(/\r\n$|\r|\n/g,` `);r.substring(0,1)===O.EQUALS&&(r=r.substring(1));let i=r.split(``),a=i.length;this._resetTemp(),this._formulaErrorLastTokenCheck(i,a-1)&&this._formalErrorOccurred();let o=0;for(;o<a;){let e=i[o];if(n===o)return[this._currentLexerNode,e];if(e===qe.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(o,i)){let e=this._findErrorObject(o,i);if(e==null)return D.VALUE;this._pushNodeToChildren(e);for(let n=0;n<e.length;n++){let e=i[o];this._pushSegment(e),this._addSequenceArray(t,e,o),o++}this._resetSegment();continue}else if(e===A.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(Qr.FUNCTION),this._closeLambda();let n=i[o+1];if(n&&n===A.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return D.VALUE;this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,n,o),o++,this._closeBracket();continue}else n&&this._newAndPushCurrentLexerNode(`P_1`,o)}else this._pushNodeToChildren(e),this._openBracket(Qr.NORMAL),this._openBracketNormalIndex(),this._resetSegment();else if(e===A.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();let t=this._getCurrentBracket();if(t===Qr.NORMAL)this._pushNodeToChildren(e);else if(t===Qr.FUNCTION){let e=i[o+1];if(e&&e===A.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return D.VALUE;this._newAndPushCurrentLexerNode(`L_1`,o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return D.VALUE}else return D.VALUE;this._closeBracket()}else if(e===A.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(e),this._openBraces(),!this._formulaSpellCheck())return D.VALUE}else if(e===A.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(e),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(e===A.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(e),this._openSquareBracket();else if(e===A.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(e),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(e);else if(e===A.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{let e=i[o+1];e&&e===A.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(e)}else if(e===A.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{let n=i[o+1];if(n&&n===A.SINGLE_QUOTATION){this._pushSegment(e),this._addSequenceArray(t,e,o),o++,this._pushSegment(n),this._addSequenceArray(t,n,o),o++;continue}else this._closeSingleQuotation()}this._pushSegment(e)}else if(e===A.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred();let e=this._getCurrentBracket();if(e===Qr.FUNCTION||e==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&e!=null)return D.VALUE;this._newAndPushCurrentLexerNode(`P_1`,o)}else{let e=new F;e.setToken(`CUBE`);let t=new F;t.setToken(`P_1`),t.changeToParent(e);let n=this._currentLexerNode.getParent();if(n&&n.getToken()===A.COLON){let r=n.getParent();if(!r)return D.VALUE;n.changeToParent(t),r.setChildren([]),e.changeToParent(r)}else return D.VALUE;this._changeCurrentBracket(Qr.FUNCTION),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=e,this._newAndPushCurrentLexerNode(`P_1`,o)}}else if(e===A.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){let t=new F;t.setToken(e);let n=new F;n.setToken(`P_1`),n.setParent(t);let r=new F;r.setToken(`P_1`),r.setParent(t),t.getChildren().push(n,r);let i=t,a=0;if(this._segmentCount()>0){let e,r,s=0,c=this._segment.trim(),l=c[0],u=c[1];if(l===Ye.MINUS&&(e=new F,e.setToken(Ye.MINUS),e.setIndex(o-this._segment.length,o-this._segment.length),s++),l===Ye.AT||u===Ye.AT){r=new F,r.setToken(Ye.AT);let t=o-this._segment.length+s;r.setIndex(t,t),e&&(e.addChildren(r),r.setParent(e)),s++}if(s>0&&(this._segment=c.slice(s)),a=s,r)if(r.addChildren(t),t.setParent(r),r.getParent()){let e=r.getParent();e&&(i=e)}else i=r;else e&&(i=e,e.addChildren(t),t.setParent(e));let d=new F;d.setToken(this._segment),d.setParent(n),d.setIndex(o-this._segment.length,o-1),n.getChildren().push(d),this._resetSegment()}else{let e=this._getLastChildCurrentLexerNode();e&&e.changeToParent(n)}this._setCurrentLexerNode(i),this._currentLexerNode=r,this._openColon(a)}else if(Je.has(e)&&this._checkSimilarErrorToken(e,o,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);let t=new F;t.setToken(e),t.setIndex(o-1,o-1);let n=this._getLastChildCurrent();if(n instanceof F)n.changeToParent(t);else if(n===A.CLOSE_BRACKET){let e=this._getNodesByCurrentBracketNormalIndex();t.getChildren().push(...e)}else n!==!1&&(t.getChildren().push(n),this._removeLastChild());this._pushNodeToChildren(t),t.setParent(this._currentLexerNode),this._resetSegment()}else if(Ge.has(e)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let n=this._segment.trim();if(e===O.MINUS&&n===``){let n=this._findPreviousToken(i,o-1)||``,r=this._findNextToken(i,o+1)||``;if(this._unexpectedEndingTokenExcludeOperator(n)&&this._isOperatorToken(r)){this._pushNodeToChildren(`0`),this._pushNodeToChildren(O.MINUS),this._addSequenceArray(t,e,o),this._resetSegment(),o++;continue}else if(this._unexpectedEndingToken(n))if(r===O.PLUS){this._pushSegment(O.MINUS),this._addSequenceArray(t,e,o),this._addSequenceArray(t,O.PLUS,o+1),o+=2;continue}else{this._pushSegment(O.MINUS),this._addSequenceArray(t,e,o),o++;continue}}else if(this._segment.length>0&&this._isScientificNotation(i,o,e)){this._pushSegment(e),this._addSequenceArray(t,e,o),o++;continue}else this._segment.length>0&&n===``?n=this._segment:(this._pushNodeToChildren(this._segment),n=``);if(e===O.LESS_THAN||e===O.GREATER_THAN){let r=i[o+1];if(r&&Ge.has(e+r)){this._pushNodeToChildren(n+e+r),this._resetSegment(),this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,r,o),o++;continue}else this._pushNodeToChildren(n+e)}else this._pushNodeToChildren(n+e);this._resetSegment()}else (this._segment!==``||e!==` `)&&this._pushSegment(e);this._addSequenceArray(t,e,o),o++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return D.VALUE}_isScientificNotation(e,t,n){let r=e[t-2];if(r&&Number.isNaN(Number(r))||!(n===O.MINUS||n===O.PLUS))return!1;let i=e[t+1];if(i&&Number.isNaN(Number(i)))return!1;let a=e[t-1];return a&&a.toUpperCase()===`E`}_addSequenceArray(e,t,n){e==null||e.push({segment:this._segment,currentString:t,cur:n,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,n,r,i){return null}};function ri(e,t,n,r,i,a,o){let s=(o==null?void 0:o.f)||``,c=(o==null?void 0:o.si)||``,l=fe(s),u=de(c),d=e.getValue(i,a),f=(d==null?void 0:d.f)||``,p=(d==null?void 0:d.si)||``,m=(d==null?void 0:d.x)||0,h=(d==null?void 0:d.y)||0;function g(){if(fe(f)&&de(p)&&m===0&&h===0){var e;let t=n==null||(e=n[p])==null?void 0:e.f;t?r.set(p,t):r.set(p,f)}}l&&u?(p!==c&&g(),e.setValue(i,a,{f:s,si:c}),n[c]={f:s,r:i,c:a},t.setValue(i,a,{f:s,si:c})):l&&!u?(f!==s&&g(),e.setValue(i,a,{f:s}),t.setValue(i,a,{f:s})):!l&&u?(p!==c&&g(),e.setValue(i,a,{f:``,si:c})):!l&&!u&&e.getValue(i,a)&&(g(),e.realDeleteValue(i,a),t.setValue(i,a,null))}function ii(e,t,n,r){let i=e==null?void 0:e.getValue(n,r);if(i==null)return!0;let a=[];e.forValue((e,t,o)=>{e===n&&t===r||te.intersects(o,i)&&a.push(o)});let{startRow:o,startColumn:s,endRow:c,endColumn:l}=i;for(let e=o;e<=c;e++)for(let n=s;n<=l;n++){let r=!1,i=ae(e,n);a.some(e=>te.contains(e,i)?(r=!0,!0):!1),r||t.realDeleteValue(e,n)}}let ai=class extends s{constructor(e,t){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,E(this,`_arrayFormulaRange`,{}),E(this,`_arrayFormulaCellData`,{}),E(this,`_unitImageFormulaData`,{})}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{var r,i;let a=n[e],o=(r=this._arrayFormulaRange)==null||(r=r[t])==null?void 0:r[e];if(o==null)return!0;let s=new b(o),c=new b;if(((i=this._arrayFormulaCellData[t])==null?void 0:i[e])!=null){var l;c=new b((l=this._arrayFormulaCellData[t])==null?void 0:l[e])}a.forValue((e,t)=>{let n=s.getValue(e,t);if(n==null)return!0;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=n;for(let e=r;e<=a;e++)for(let t=i;t<=o;t++)c.setValue(e,t,null);s.realDeleteValue(e,t)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=c.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(n).forEach(e=>{var r,i;let a=n[e],o=new b((r=this._arrayFormulaRange[t])==null?void 0:r[e]),s=new b((i=this._arrayFormulaCellData[t])==null?void 0:i[e]);a.forValue((e,t)=>{let n=o==null?void 0:o.getValue(e,t);if(n==null)return!0;let{startRow:r,startColumn:i,endRow:a,endColumn:c}=n;for(let e=r;e<=a;e++)for(let t=i;t<=c;t++)s.setValue(e,t,null)}),a.forValue((e,t,n)=>{s.setValue(e,t,n)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=s.getData())})})}getFormulaData(){let e={},t=this._univerInstanceService.getAllUnitsForType(ie.UNIVER_SHEET);return t.length===0||t.forEach(t=>{let n=t.getUnitId();e[n]={},t.getSheets().forEach(t=>{let r=t.getCellMatrix();oi(e,n,t.getSheetId(),r)})}),e}getSheetFormulaData(e,t){let n={},r=this._univerInstanceService.getUnit(e);if(r==null)return{};n[e]={};let i=r.getSheetBySheetId(t);return i==null?{}:(oi(n,e,t,i.getCellMatrix()),n[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=>{let n=e[t];if(n==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(n).forEach(e=>{var r;let i=new b(n[e]),a=new b((r=this._arrayFormulaRange[t])==null?void 0:r[e]);i.forValue((e,t,n)=>{a.setValue(e,t,n)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][e]=a.getData())})})}mergeUnitImageFormulaData(e){let t=Object.keys(e);for(let n=0;n<t.length;n++){let r=t[n],i=e[r];if(!i)continue;this._unitImageFormulaData[r]||(this._unitImageFormulaData[r]={});let a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e],n=i[t];n&&(this._unitImageFormulaData[r][t]||(this._unitImageFormulaData[r][t]=new b),n.forValue((e,n,i)=>{this._unitImageFormulaData[r][t].setValue(e,n,i)}))}}}deleteArrayFormulaRange(e,t,n,r){var i;let a=(i=this._arrayFormulaRange[e])==null?void 0:i[t];if(a==null)return;let o=new b(a);o.getValue(n,r)&&(o.realDeleteValue(n,r),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}getCalculateData(){let e=this._univerInstanceService.getAllUnitsForType(ie.UNIVER_SHEET),t={},n={},r={};for(let i of e){let e=i.getUnitId(),a=i.getSheets(),o={},s={};for(let e of a){let t=e.getSheetId(),n=e.getConfig();o[t]={cellData:new b(n.cellData),rowCount:n.rowCount,columnCount:n.columnCount,rowData:n.rowData,columnData:n.columnData,defaultRowHeight:n.defaultRowHeight,defaultColumnWidth:n.defaultColumnWidth},s[e.getName()]=e.getSheetId()}t[e]=o,n[e]=i.getStyles(),r[e]=s}return{allUnitData:t,unitStylesData:n,unitSheetNameMap:r}}getHiddenRowsFiltered(){let e=this._univerInstanceService.getAllUnitsForType(ie.UNIVER_SHEET),t={};for(let r of e){let e=r.getUnitId(),i=r.getSheets();t[e]={};for(let r of i){let i=r.getSheetId();t[e][i]={};let a=r.getRowCount()-1,o={};for(let e=0;e<=a;e++)r.getRowVisible(e)||(o[e]={hd:n.TRUE});t[e][i]=o}}return t}updateFormulaData(e,t,n){let r=new b(n),i=this._getSheetFormulaIdMap(e,t),a=new Map,o=this.getFormulaData();o[e]==null&&(o[e]={});let s=o[e];s[t]==null&&(s[t]={});let c=new b(s[t]||{}),l=new b;return r.forValue((e,t,n)=>{ri(c,l,i,a,e,t,n)}),c.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``;if(de(o)){let s=i==null?void 0:i[o],u=a.get(o);if(s&&!fe(r)){let n=s.f,r=t-s.c,i=e-s.r;c.setValue(e,t,{f:n,si:o,x:r,y:i}),l.setValue(e,t,{f:n,si:o,x:r,y:i})}else if(typeof u==`string`){let r=(n==null?void 0:n.x)||0,i=(n==null?void 0:n.y)||0,s=this._lexerTreeBuilder.moveFormulaRefOffset(u,r,i);a.set(o,{r:e,c:t,f:s}),c.setValue(e,t,{f:s,si:o}),l.setValue(e,t,{f:s,si:o})}else if(typeof u==`object`){let n=t-u.c,r=e-u.r;c.setValue(e,t,{f:u.f,si:o,x:n,y:r}),l.setValue(e,t,{f:u.f,si:o,x:n,y:r})}}}),l.getMatrix()}updateArrayFormulaRange(e,t,n){var r;let i=(r=this._arrayFormulaRange[e])==null?void 0:r[t];if(!i)return;let a=new b(i);new b(n).forValue((e,t,n)=>{a.realDeleteValue(e,t)})}updateArrayFormulaCellData(e,t,n){var r,i;let a=(r=this._arrayFormulaRange[e])==null?void 0:r[t];if(!a)return;let o=new b(a),s=(i=this._arrayFormulaCellData[e])==null?void 0:i[t];if(!s)return;let c=new b(s);new b(n).forValue((e,t,n)=>{ii(o,c,e,t)})}updateImageFormulaData(e,t,n){var r;let i=(r=this._unitImageFormulaData[e])==null?void 0:r[t];i&&new b(n).forValue((e,t)=>{i.realDeleteValue(e,t)})}getFormulaStringByCell(e,t,n,r){let i=this._univerInstanceService.getUnit(r);if(i==null)return null;let a=i.getSheetBySheetId(n);if(a==null)return null;let o=a.getCellMatrix(),s=o.getValue(e,t);if(s==null)return null;let{f:c,si:l}=s;if(fe(c))return c;if(de(l)){let n=null;return o.forValue((r,i,a)=>{if(a==null)return!0;let{f:o,si:s}=a;if(fe(o)&&l===s)return n=this._lexerTreeBuilder.moveFormulaRefOffset(o,t-i,e-r),!1}),n}return null}getFormulaDirtyRanges(){let e=this.getFormulaData(),t=[];for(let n in e){let r=e[n];if(!r)continue;let i=this._univerInstanceService.getUnit(n);if(i)for(let e in r){let a=r[e];if(!a)continue;let o=i.getSheetBySheetId(e);if(!o)continue;let s={};for(let e of Object.keys(a)){let t=Number(e);for(let e in a[t]){let n=Number(e),r=o.getCellRaw(t,n),i=fe(r==null?void 0:r.f)||de(r==null?void 0:r.si),a=(r==null?void 0:r.v)===void 0||(r==null?void 0:r.v)===null||(r==null?void 0:r.v)===``;if(!(i&&a))continue;s[n]||(s[n]=[]);let c=s[n].slice(-1)[0];c&&c.endRow===t-1?c.endRow=t:s[n].push({startRow:t,endRow:t})}}for(let r in s){let i=s[r];for(let a=0;a<i.length;a++){let o=i[a];t.push({unitId:n,sheetId:e,range:{rangeType:C.NORMAL,startRow:o.startRow,endRow:o.endRow,startColumn:Number(r),endColumn:Number(r)}})}}}}return t}_getSheetFormulaIdMap(e,t){let n={},r=this._univerInstanceService.getUnit(e);if(r==null)return n;let i=r.getSheetBySheetId(t);return i==null||i.getCellMatrix().forValue((e,t,r)=>{if(r==null)return!0;let{f:i,si:a}=r;fe(i)&&de(a)&&(n[a]={f:i,r:e,c:t})}),n}};ai=dr([P(0,d),P(1,f(ni))],ai);function oi(e,t,n,r){e[t]||(e[t]={}),e[t][n]||(e[t][n]={});let i=new Map,a=new b(e[t][n]);r.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``,s=fe(r),c=de(o);s&&c?(a.setValue(e,t,{f:r,si:o}),i.set(o,{f:r,r:e,c:t})):s&&!c?a.setValue(e,t,{f:r}):!s&&c&&a.setValue(e,t,{f:``,si:o})}),a.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``;if(de(o)&&!fe(r)){let n=i.get(o);if(n){let r=n.f,i=t-n.c,s=e-n.r;a.setValue(e,t,{f:r,si:o,x:i,y:s})}else a.realDeleteValue(e,t)}});let o=a.getMatrix();return{[t]:{[n]:o}}}const si=Symbol(`EMPTY_CELL`),ci=new class{constructor(){E(this,`_cache`,new Map),E(this,`_continueBuildingCache`,new Map)}set(e,t,n,r,i,a=!1){if(!this.shouldContinueBuildingCache(e,t,n,i)&&!a)return;let o=this._cache.get(e);o==null&&(o=new Map,this._cache.set(e,o));let s=o.get(t);s==null&&(s=new Map,o.set(t,s));let c=s.get(n);if(c==null&&(c=new Map,s.set(n,c)),a){for(let[e,t]of c)if(t.has(i)){t.delete(i);break}}let l=typeof r==`string`?r.toLowerCase():r;(l===``||l===null)&&(l=si);let u=c.get(l);u==null&&(u=new Set,c.set(l,u)),u.add(i)}getCellValuePositions(e,t,n){var r;return(r=this._cache.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getCellPositions(e,t,n,r,i){var a;let o=typeof r==`string`?r.toLowerCase():r;(o===``||o===null)&&(o=si);let s=(a=this._cache.get(e))==null||(a=a.get(t))==null||(a=a.get(n))==null?void 0:a.get(o);return s&&[...s].filter(e=>i.some(([t,n])=>e>=t&&e<=n))}setContinueBuildingCache(e,t,n,r,i){if(n===-1||r===-1||i===-1)return;let a=this._continueBuildingCache.get(e);a==null&&(a=new Map,this._continueBuildingCache.set(e,a));let o=a.get(t);o==null&&(o=new Map,a.set(t,o));let s=o.get(n);if(s==null){s=new je,s.insert([r,i]),o.set(n,s);return}this._handleNewInterval(s,r,i)}shouldContinueBuildingCache(e,t,n,r){var i;if(n===-1||r===-1)return!1;let a=(i=this._continueBuildingCache.get(e))==null||(i=i.get(t))==null?void 0:i.get(n);return a?a.search([r,r]).length===0:!0}canUseCache(e,t,n,r,i){var a;let o=(a=this._continueBuildingCache.get(e))==null||(a=a.get(t))==null?void 0:a.get(n);if(n===-1||r===-1||i===-1||!o)return{rowsInCache:[],rowsNotInCache:[]};let s=o.search([r,i]);if(s.length===0)return{rowsInCache:[],rowsNotInCache:[]};s.sort((e,t)=>e[0]-t[0]);let c=[],l=[],u=r;for(let e=0;e<s.length;e++){let[t,n]=s[e];if(u>=t){if(i<=n){c.push([u,i]);break}c.push([u,n]),u=n+1,e===s.length-1&&u<=i&&l.push([u,i])}else{if(i>n){c.push([t,n]),l.push([u,t-1]),u=n+1,e===s.length-1&&u<=i&&l.push([u,i]);continue}c.push([t,i]),l.push([u,t-1])}}return{rowsInCache:c,rowsNotInCache:l}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(e,t,n){let r=e.search([t,n]);if(r.length===0){let i=[t-1<0?0:t-1,n+1];if(r=e.search(i),r.length===0){e.insert([t,n]);return}}let i=t,a=n;for(let t of r)i=Math.min(i,t[0]),a=Math.max(a,t[1]),e.remove(t);e.insert([i,a])}};var li=class extends s{constructor(...e){super(...e),E(this,`_getRowFilteredCallback`,void 0)}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,n){var r;return this._getRowFilteredCallback?(r=this._getRowFilteredCallback(e,t,n))==null?!1:r:!1}};const ui=se(`univer.formula.sheet-row-filtered.service`);let di=class extends s{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=n,this._sheetRowFilteredService=r,E(this,`_unitData`,{}),E(this,`_unitStylesData`,{}),E(this,`_arrayFormulaCellData`,{}),E(this,`_arrayFormulaRange`,{}),E(this,`_formulaData`,{}),E(this,`_sheetNameMap`,{}),E(this,`_forceCalculate`,!1),E(this,`_clearDependencyTreeCache`,{}),E(this,`_dirtyRanges`,[]),E(this,`_dirtyNameMap`,{}),E(this,`_dirtyDefinedNameMap`,{}),E(this,`_dirtyUnitFeatureMap`,{}),E(this,`_dirtyUnitOtherFormulaMap`,{}),E(this,`_excludedCell`,void 0),E(this,`_sheetIdToNameMap`,{}),E(this,`_executeUnitId`,``),E(this,`_executeSubUnitId`,``)}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(){let{id:e,sheetOrder:t}=this._univerInstanceService.getCurrentUnitForType(ie.UNIVER_SHEET).getSnapshot();return{sheetOrder:t,sheetNameMap:this._sheetIdToNameMap[e]}}getSheetRowColumnCount(e,t){let n=this._univerInstanceService.getUnit(e),r=n==null?void 0:n.getSheetBySheetId(t),i=r==null?void 0:r.getSnapshot();if(!i)return{rowCount:0,columnCount:0};let{rowCount:a,columnCount:o}=i;return{rowCount:a,columnCount:o}}getFilteredOutRows(e,t,n,r){let i=[];for(let a=n;a<=r;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&i.push(a);return i}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{let{allUnitData:e,unitSheetNameMap:t,unitStylesData:n}=this._loadSheetData();this._unitData=e,this._unitStylesData=n,this._sheetNameMap=t}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=On(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){let{allUnitData:t,unitSheetNameMap:n,unitStylesData:r}=this._loadSheetData();this._unitData=t,this._unitStylesData=r,this._sheetNameMap=n,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=On(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(n=>{t[n]&&Object.keys(t[n]).forEach(r=>{e[n]==null&&(e[n]={}),e[n][t[n][r]]=r})}),this._sheetIdToNameMap={},Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(n=>{this._sheetIdToNameMap[t]==null&&(this._sheetIdToNameMap[t]={}),this._sheetIdToNameMap[t][e[t][n]]=n})})}_loadSheetData(){let e=this._univerInstanceService.getCurrentUnitForType(ie.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(let t in e)if(e[t]!=null)for(let n in e[t])e[t][n]!=null&&(this._unitData[t]==null&&(this._unitData[t]={}),this._unitData[t][n]==null&&(this._unitData[t][n]={cellData:new b({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][n].rowData=e[t][n])}};di=dr([P(0,d),P(1,f(g)),P(2,f(ai)),P(3,f(ui))],di);const fi=se(`univer.formula.current-data.service`);let pi=class extends s{constructor(e,t,n){super(),this._definedNamesService=e,this._lexerTreeBuilder=t,this._formulaCurrentConfigService=n}treeBuilder(e,t=!0){let n=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(n)?this._lexerTreeBuilder.treeBuilder(e,t):this._lexerTreeBuilder.treeBuilder(e,t,{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(e){for(let t in e)if(Object.keys(e[t]).length>0)return!1;return!0}};pi=dr([P(0,pr),P(1,f(ni)),P(2,fi)],pi);function mi(e){if(e==null)return!0;let{v:t,f:n,si:r,p:i}=e;return!(!(t==null||typeof t==`string`&&t.length===0)||n!=null&&n.length>0||r!=null&&r.length>0||i!=null)}function hi(e){var t;if(e===null)return 0;if(e!=null&&e.p){let t=e==null?void 0:e.p.body;if(t==null)return 0;let n=t.dataStream;return r.transform.getPlainText(n)}return(t=e==null?void 0:e.v)==null?0:t}function gi(e,t=!1){return!t&&!(fe(e==null?void 0:e.f)||de(e==null?void 0:e.si))?null:typeof(e==null?void 0:e.v)==`string`&&Ve.has(e.v)?e.v:null}function _i(e,t,n,r,i){let a=Object.keys(i);for(let s of a){var o;let a=i[s],c=a==null||(o=a[r])==null?void 0:o[n];if(c==null)continue;let l=c.getValue(e,t);if(l!=null)return l}}let vi=function(e){return e[e.MIN=0]=`MIN`,e[e.MAX=1]=`MAX`,e}({}),yi=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.MIN=1]=`MIN`,e[e.MAX=2]=`MAX`,e}({});function bi(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(e,t)=>e.localeCompare(t)}function xi(e){return e.indexOf(`*`)>-1||e.indexOf(`?`)>-1}function Si(e,t){let n=Ti(t).replace(/~?[*?]/g,e=>e.startsWith(`~`)?`\\${e.substring(1)}`:e===`*`?`.*`:e===`?`?`.`:e);return RegExp(`^${n}$`).test(e)}function Ci(e){return e.replace(/~?[*?]/g,e=>e.startsWith(`~`)?e.substring(1):` `)}function wi(e,t,n){let r=!1;switch(n){case k.EQUALS:r=Si(e,t);break;case k.NOT_EQUAL:r=!Si(e,t);break;case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:r=Si(e,t)||e>Ci(t);break;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:r=e<Ci(t);break;default:break}return r}function Ti(e){return e.replace(/[.+^${}()|[\]\\]/g,`\\$&`)}function Ei(e){switch(e){case 1:return yi.MAX;case 0:return yi.NORMAL;case-1:return yi.MIN;default:return yi.NORMAL}}function Di(e){return e===-2?vi.MAX:vi.MIN}var Oi=function(e){return e[e.General=0]=`General`,e[e.Number=1]=`Number`,e[e.Currency=2]=`Currency`,e[e.Accounting=3]=`Accounting`,e[e.Date=4]=`Date`,e[e.Time=5]=`Time`,e[e.Percentage=6]=`Percentage`,e[e.Fraction=7]=`Fraction`,e[e.Scientific=8]=`Scientific`,e[e.Text=9]=`Text`,e[e.Special=10]=`Special`,e[e.Custom=11]=`Custom`,e}(Oi||{});Oi.Currency,Oi.Date,Oi.Time,Oi.Custom,Oi.Fraction,Oi.General,Oi.Custom,Oi.Number,Oi.Percentage,Oi.Scientific,Oi.Text,Oi.Time,Oi.Custom;function ki(e,t,n){var r,i;if(e==null||t==null)return t;let a=(n==null?void 0:n.getStyleByCell(e))||e.s,o=(n==null?void 0:n.getStyleByCell(t))||t.s;if(a==null||o==null||typeof a!=`object`||typeof o!=`object`)return t;let s=a==null||(r=a.n)==null?void 0:r.pattern,c=o==null||(i=o.n)==null?void 0:i.pattern;if(s==null||c==null)return t;let l=s||c;return o.n.pattern=l,t}const Ai=new Be(1e5);function ji(){Ai.clear()}const Mi=new Map([[_.EN_US,`$`],[_.RU_RU,`₽`],[_.VI_VN,`₫`],[_.ZH_CN,`¥`],[_.ZH_TW,`NT$`],[_.FR_FR,`€`],[_.FA_IR,`﷼`],[_.KO_KR,`₩`],[_.ES_ES,`€`],[_.CA_ES,`€`]]);function Ni(e){return Mi.get(e)||`$`}function Pi(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${Ni(e)}"#,##0${r}_);[Red]("${Ni(e)}"#,##0${r})`}function Fi(e,t,n=2){return _e.format(Pi(e,n),t)}const Ii=new Be(1e5);function Li(e){let t=e;t.startsWith(`"`)&&t.endsWith(`"`)&&(t=t.slice(1,-1));let n=Ii.get(t);if(n)return{isNumberPattern:!0,value:n.value,pattern:n.pattern};let r=le(t);return r&&r.z?Ri(t,r.v,r.z):{isNumberPattern:!1}}function Ri(e,t,n){return Ii.set(e,{value:t,pattern:n}),{isNumberPattern:!0,value:t,pattern:n}}function zi(){Ii.clear()}function Bi(e){let t;switch(e){case k.EQUALS:t=k.EQUALS;break;case k.GREATER_THAN:t=k.LESS_THAN;break;case k.GREATER_THAN_OR_EQUAL:t=k.LESS_THAN_OR_EQUAL;break;case k.LESS_THAN:t=k.GREATER_THAN;break;case k.LESS_THAN_OR_EQUAL:t=k.GREATER_THAN_OR_EQUAL;break;case k.NOT_EQUAL:t=k.NOT_EQUAL;break}return t}function Vi(e,t){let n=e+t;return Number.isSafeInteger(n)?n:new T(e).add(t).toNumber()}function Hi(e,t){let n=e-t;return Number.isSafeInteger(n)?n:new T(e).sub(t).toNumber()}function Ui(e,t){let n=e*t;return Number.isSafeInteger(n)?n:new T(e).mul(t).toNumber()}function Wi(e,t){let n=e/t;return Number.isSafeInteger(n)?n:new T(e).div(t).toNumber()}function Gi(e,t){let n=10**Math.trunc(t),r=Ji(e,n);return Math.round(Ui(e,n)+r)/n}function Ki(e,t){let n=10**Math.trunc(t),r=Ji(e,n);return Math.floor(Ui(e,n)+r)/n}function qi(e,t){let n=10**Math.trunc(t),r=Ji(e,n);return Math.ceil(Ui(e,n)-r)/n}function Ji(e,t){return 2**-52*Math.max(1,Math.abs(Ui(e,t)))}function Yi(e,t){return e-t*Math.floor(e/t)}function Xi(e,t){return e**t}function Zi(e){return Math.sqrt(e)}function Qi(e,t){return e===t}function $i(e,t){return e>t}function ea(e,t){return e>=t}function ta(e,t){return e<t}function na(e,t){return e<=t}function ra(e,t=15){return Math.floor(Math.abs(e)).toString().length>=t?e:Number.parseFloat(e.toPrecision(t))}function ia(e,t,n=2**-52){return Math.abs(e-t)<n}function aa(e,t=12,n=1e-10){let r=ra(e,t);return ia(e,r,n)?r:ra(e)}function oa(e){return e-Math.trunc(e)}var I=class e extends Xe{static create(){return this._instance=this._instance||new e(0),this._instance}isNull(){return!0}plus(e){return R.create(0).plus(e)}minus(e){return R.create(0).minus(e)}multiply(e){return R.create(0).multiply(e)}divided(e){return R.create(0).divided(e)}mod(e){return R.create(0).mod(e)}compare(e,t){return e.isString()?z.create(``).compare(e,t):e.isBoolean()?L.create(!1).compare(e,t):R.create(0).compare(e,t)}concatenateFront(e){return e.isArray()?e.concatenateBack(z.create(``)):z.create(this.concatenate(e.getValue(),Ie.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(z.create(``)):z.create(this.concatenate(e.getValue(),Ie.BACK))}plusBy(e){return R.create(0).plusBy(e)}minusBy(e){return R.create(0).minusBy(e)}multiplyBy(e){return R.create(0).multiplyBy(e)}dividedBy(e){return R.create(0).dividedBy(e)}compareBy(e,t){return typeof e==`string`?z.create(``).compareBy(e,t):typeof e==`boolean`?L.create(!1).compareBy(e,t):R.create(0).compareBy(e,t)}pow(e){return R.create(0).pow(e)}sqrt(){return R.create(0).sqrt()}cbrt(){return R.create(0).cbrt()}cos(){return R.create(0).cos()}cosh(){return R.create(0).cosh()}acos(){return R.create(0).acos()}acosh(){return R.create(0).acosh()}sin(){return R.create(0).sin()}sinh(){return R.create(0).sinh()}asin(){return R.create(0).asin()}asinh(){return R.create(0).asinh()}tan(){return R.create(0).tan()}tanh(){return R.create(0).tanh()}atan(){return R.create(0).atan()}atan2(e){return R.create(0).atan2(e)}atanh(){return R.create(0).atanh()}log(){return j.create(D.NUM)}log10(){return j.create(D.NUM)}exp(){return R.create(0).exp()}abs(){return R.create(0).abs()}round(e){return R.create(0).round(e)}floor(e){return R.create(0).floor(e)}ceil(e){return R.create(0).ceil(e)}convertToNumberObjectValue(){return R.create(0)}convertToBooleanObjectValue(){return L.create(!1)}};E(I,`_instance`,void 0);var L=class e extends Xe{static create(t){return t?(this._instanceTrue=this._instanceTrue||new e(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new e(!1),this._instanceFalse)}constructor(e){super(e),E(this,`_value`,!1),this._value=e}getValue(){return this._value}isBoolean(){return!0}getNegative(){let e=this.getValue(),t=0;return e&&(t=1),R.create(-t)}getReciprocal(){return this.getValue()?R.create(1):j.create(D.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,Bi(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(t,n){let r=!1;if(typeof t==`string`||typeof t==`number`)r=this._compareString(n);else if(typeof t==`boolean`){let e=R.create(t?1:0);return this._convertToNumber().compare(e,n)}return e.create(r)}_compareString(e){switch(e){case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){let e=this.getValue(),t=0;return e&&(t=1),R.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 ua(this.getValue())}convertToBooleanObjectValue(){return this}};E(L,`_instanceTrue`,void 0),E(L,`_instanceFalse`,void 0);var R=class e extends Xe{static create(t,n=``){let r=new e(t);return n&&r.setPattern(n),r}constructor(e){super(e),E(this,`_value`,0),this._value=Number(e)}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return e.create(0).minus(this)}getReciprocal(){return e.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.plusBy(t.getValue());return n.isError(),n}equalZero(){return this._value===0}minus(e){if(e.isArray()){let t=e.getNegative();return t.isError()?t:t.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.minusBy(t.getValue());return n.isError(),n}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.multiplyBy(t.getValue());return n.isError(),n}divided(e){if(e.isArray()){let t=e.getReciprocal();return t.isError()?t:t.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.dividedBy(t.getValue());return n.isError(),n}mod(t){if(t.isArray())return t.modInverse(this);let n=this.getValue(),r=t.getValue();if(t.isNull())return j.create(D.DIV_BY_ZERO);if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(r===0)return j.create(D.DIV_BY_ZERO);if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(n))return j.create(D.NUM);let t=Yi(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}if(typeof r==`boolean`){let t=r?1:0;return t===0?j.create(D.DIV_BY_ZERO):e.create(Yi(n,t))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):z.create(this.concatenate(e.getValue(),Ie.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):z.create(this.concatenate(e.getValue(),Ie.BACK))}isDateFormat(){let e=this.getPattern();return _e.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Bi(t));let n=!1;return e.isDateFormat()&&this.isDateFormat()&&(n=!0),this.compareBy(e.getValue(),t,n)}plusBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let i=Vi(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}minusBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let i=Hi(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}multiplyBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let i=Ui(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}dividedBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);if(r===0)return j.create(D.DIV_BY_ZERO);let i=Wi(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}compareBy(e,t,n=!1){let r=this.getValue(),i=!1,a=r,o=e;return n&&(a=Math.round(r*1e8)/1e8,o=Math.round(e*1e8)/1e8),typeof o==`string`?i=this._compareString(t):typeof o==`number`?i=this._compareNumber(a,o,t):typeof o==`boolean`&&(i=this._compareBoolean(t)),L.create(i)}_compareString(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}_compareNumber(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,n):this._compareFiniteNumber(e,t,n)}_compareFiniteNumber(e,t,n){switch(n){case k.EQUALS:return Qi(e,t);case k.GREATER_THAN:return $i(e,t);case k.GREATER_THAN_OR_EQUAL:return ea(e,t);case k.LESS_THAN:return ta(e,t);case k.LESS_THAN_OR_EQUAL:return na(e,t);case k.NOT_EQUAL:return!Qi(e,t)}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}pow(t){if(t.isArray())return t.powInverse(this);if(this.isError())return this;let n=this.getValue(),r=t;if(t.isString()&&(r=t.convertToNumberObjectValue()),r.isError())return r;let i=+r.getValue();if(Number.isNaN(i))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(i))return j.create(D.NUM);if(n===0)return i<0?j.create(D.DIV_BY_ZERO):i===0?j.create(D.NUM):e.create(0);let a=Xi(n,i);return Number.isFinite(a)?e.create(a):j.create(D.NUM)}sqrt(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Zi(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}cbrt(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.cbrt(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}cos(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.cos(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}cosh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.cosh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}acos(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.acos(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}acosh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.acosh(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}sin(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.sin(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}sinh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.sinh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}asin(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.asin(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}asinh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.asinh(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}tan(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.tan(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}tanh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.tanh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}atan(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.atan(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}atan2(t){if(t.isArray())return t.atan2Inverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);if(n===0&&r===0)return j.create(D.DIV_BY_ZERO);let t=Math.atan2(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(Math.atan2(n,r?1:0)):this}atanh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.atanh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}log(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return j.create(D.NUM);let n=Math.log(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}log10(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return j.create(D.NUM);let n=Math.log10(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}exp(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.exp(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}abs(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.abs(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}round(t){if(t.isArray())return t.roundInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let t=n<0?-Gi(Math.abs(n),r):Gi(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(Gi(n,r?1:0)):this}floor(t){if(t.isArray())return t.floorInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let t=n<0?-Ki(Math.abs(n),r):Ki(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(Ki(n,r?1:0)):this}ceil(t){if(t.isArray())return t.ceilInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let t=n<0?-qi(Math.abs(n),r):qi(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(qi(n,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return ca(!0)}_compareInfinity(e,t,n){let r=!1;switch(n){case k.EQUALS:r=e===t;break;case k.GREATER_THAN:r=e>t;break;case k.GREATER_THAN_OR_EQUAL:r=e>=t;break;case k.LESS_THAN:r=e<t;break;case k.LESS_THAN_OR_EQUAL:r=e<=t;break;case k.NOT_EQUAL:r=e!==t;break}return r}};const sa=new Be(1e5);var z=class e extends Xe{static create(t,n){let r=sa.get(t);if(r&&n&&this.checkCacheByOptions(r,n))return r;let i=new e(t);if(n!=null&&n.isHyperlink){var a;i._isHyperlink=n.isHyperlink,i._hyperlinkUrl=(a=n.hyperlinkUrl)==null?``:a}return n!=null&&n.isImage&&(i._isImage=n.isImage,i._imageInfo=n.imageInfo),sa.set(t,i),i}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!re.diffValue(e.getImageInfo(),t.imageInfo))}constructor(e){super(e),E(this,`_value`,void 0),E(this,`_isHyperlink`,!1),E(this,`_hyperlinkUrl`,``),E(this,`_isImage`,!1),E(this,`_imageInfo`,void 0),this._value=e}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}isImage(){return this._isImage}getImageInfo(){return this._imageInfo}concatenateFront(t){return t.isArray()?t.concatenateBack(this):e.create(this.concatenate(t.getValue(),Ie.FRONT))}concatenateBack(t){return t.isArray()?t.concatenateFront(this):e.create(this.concatenate(t.getValue(),Ie.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,n){return e.isArray()?e.compare(this,Bi(t),n):this.compareBy(e.getValue(),t,n)}compareBy(e,t,n=!1){let r=this.getValue(),i=!1;if(typeof e==`string`){let a=e;if(n||(r=r.toLocaleLowerCase(),a=a.toLocaleLowerCase()),xi(a))return this._checkWildcard(a,t);i=this._compareString(r,a,t)}else typeof e==`number`?i=this._compareNumber(t):typeof e==`boolean`&&(i=this._compareBoolean(t));return L.create(i)}_compareString(e,t,n){switch(n){case k.EQUALS:return e===t;case k.GREATER_THAN:return e>t;case k.GREATER_THAN_OR_EQUAL:return e>=t;case k.LESS_THAN:return e<t;case k.LESS_THAN_OR_EQUAL:return e<=t;case k.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case k.NOT_EQUAL:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}convertToNumberObjectValue(){let e=this.getValue(),t=le(e);return t&&t.z?ua(t.v,t.z):ua(e)}convertToBooleanObjectValue(){return L.create(!0)}_checkWildcard(e,t){let n=wi(this.getValue().toLocaleLowerCase(),e,t);return L.create(n)}};function ca(e){if(typeof e==`boolean`)return L.create(e);let t=!1;if(typeof e==`string`){let n=e.toLocaleUpperCase();n===Ne.TRUE?t=!0:n===Ne.FALSE&&(t=!1)}else t=e===1;return L.create(t)}function la(e){let t=e.toString();return t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`&&(t=t.slice(1,-1),t=t.replace(/""/g,`"`)),z.create(t)}function ua(e,t=``){if(typeof e==`boolean`){let n=0;return e&&(n=1),R.create(n,t)}else if(typeof e==`number`)return Number.isFinite(e)?R.create(e,t):j.create(D.NUM);else if(w(e))return R.create(Number(e),t);return j.create(D.VALUE)}var da=function(e){return e[e.MINUS=0]=`MINUS`,e[e.PLUS=1]=`PLUS`,e[e.MULTIPLY=2]=`MULTIPLY`,e[e.DIVIDED=3]=`DIVIDED`,e[e.MOD=4]=`MOD`,e[e.COMPARE=5]=`COMPARE`,e[e.CONCATENATE_FRONT=6]=`CONCATENATE_FRONT`,e[e.CONCATENATE_BACK=7]=`CONCATENATE_BACK`,e[e.POW=8]=`POW`,e[e.ROUND=9]=`ROUND`,e[e.FLOOR=10]=`FLOOR`,e[e.CEIL=11]=`CEIL`,e[e.ATAN2=12]=`ATAN2`,e}(da||{}),fa=function(e){return e[e.PRODUCT=0]=`PRODUCT`,e[e.ROW=1]=`ROW`,e[e.COLUMN=2]=`COLUMN`,e[e.SINGLE=3]=`SINGLE`,e}(fa||{});function pa(e){return``}function ma(e=[],t=!1){let n=[];for(let r=0;r<e.length;r++){let i=e[r];n[r]==null&&(n[r]=[]);for(let e=0;e<i.length;e++){let a=i[e];n[r][e]=ga.create(a,t)}}return n}function ha(e=[]){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t[n]==null&&(t[n]=[]);for(let e=0;e<r.length;e++){let i=r[e];i==null?t[n][e]=null:i.isError()?t[n][e]=i.getErrorType():t[n][e]=i.getValue()}}return t}var B=class e extends Xe{static create(t){return new e(t)}static createByArray(t){return new e({calculateValueList:ma(t),rowCount:t.length,columnCount:t[0].length||0,unitId:``,sheetId:``,row:-1,column:-1})}constructor(e){super(typeof e==`string`?e:pa(e)),E(this,`_values`,[]),E(this,`_rowCount`,-1),E(this,`_columnCount`,-1),E(this,`_unitId`,``),E(this,`_sheetId`,``),E(this,`_currentRow`,-1),E(this,`_currentColumn`,-1),E(this,`_sliceCache`,new Map),E(this,`_flattenCache`,void 0),E(this,`_defaultValue`,null),E(this,`_flattenPosition`,void 0),this._values=this._formatValue(e)}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 n;return((n=this._values[e])==null?void 0:n[t])||this._defaultValue}getRealValue(e,t){let n=this._values[e];if(n==null)return null;let r=n[t];return r==null?null:r}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,n){if(e>=this._rowCount||t>=this._columnCount){console.error(`Exceeding array bounds.`);return}this._clearCache(),this._values[e][t]=n}getRangePosition(){let e=this.getRowCount(),t=this.getColumnCount();return{startRow:0,endRow:e-1,startColumn:0,endColumn:t-1}}iterator(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=t;s<=n;s++)for(let t=r;t<=i;t++){var o;if(e(((o=a[s])==null?void 0:o[t])||this._defaultValue,s,t)===!1)return}}iteratorReverse(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=n;s>=t;s--)for(let t=i;t>=r;t--){var o;if(e(((o=a[s])==null?void 0:o[t])||this._defaultValue,s,t)===!1)return}}getLastTruePosition(){let e;return this.iteratorReverse((t,n,r)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:r},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,n,r)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:r},!1}),e}getFirstCell(){let{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||I.create()}getLastCell(){let{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||I.create()}pick(e){let t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){let t=e.getRowCount(),n=e.getColumnCount();if(t!==this._rowCount||n!==this._columnCount)return[[I.create()]];let r=[];r[0]=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.get(i,t);if(!(n==null||n.isError())&&n.getValue()===!0){let e=this.get(i,t);r[0].push(e)}}return r}flatten(){if(this._flattenCache!=null)return this._flattenCache;let e=[];e[0]=[];for(let t=0;t<this._rowCount;t++)for(let n=0;n<this._columnCount;n++){let r=this.get(t,n);e[0].push(r)}let 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;let e=[],t=[],n=[],r=[],i=0;for(let a=0;a<this._rowCount;a++)for(let o=0;o<this._columnCount;o++){let s=this.get(a,o);if(s==null||s.isError()||s.isNull()){i++;continue}s.isString()?(e.push(s),n.push(i++)):(t.push(s),r.push(i++))}let a={stringArray:e,numberArray:t,stringPosition:n,numberPosition:r};return this._flattenPosition=a,a}slice(e,t){let n=0,r=this._rowCount,i=1,a=0,o=this._columnCount,s=1;if(e!=null&&(n=e[0]||0,r=e[1]||this._rowCount,i=e[2]||1),t!=null&&(a=t[0]||0,o=t[1]||this._columnCount,s=t[2]||1),n>=this._rowCount||a>=this._columnCount)return;let c=`${n}_${r}_${i}_${a}_${o}_${s}`,l=this._sliceCache.get(c);if(l!=null)return l;let u=[],d=this._values,f=0,p=0;for(let e=n;e<r;e+=i){p=0,u[f]==null&&(u[f]=[]);for(let t=a;t<o;t+=s){if(!d[e])return;let n=d[e][t]||this._defaultValue;n==null&&(n=I.create()),u[f][p]=n,p++}f++}if(u.length===0||u[0].length===0)return;let m=i>1?-1:n+this._currentRow,h=s>1?-1:a+this._currentColumn,g=this._createNewArray(u,u.length,u[0].length,m,h);return g.setDefaultValue(this._defaultValue),this._sliceCache.set(c,g),g}sortByRow(e){let 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(){let e=this._transposeArray(this._values),t=this._rowCount,n=this._columnCount,r=this._createNewArray(e,n,t);return r.setDefaultValue(this._defaultValue),r}orderSearch(e,t=yi.MIN,n=!1,r=!1){let i,a,o,s,c=(n,c,l)=>{if(n==null||n.isNull())return!0;let u;if(u=r===!0?n.compare(e,k.EQUALS):n.isEqual(e),(u==null?void 0:u.getValue())===!0)return i=n,o={row:c,column:l},!1;t===yi.MAX?n.isGreaterThan(e).getValue()===!0&&(a==null||n.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=n,s={row:c,column:l}):t===yi.MIN&&n.isLessThan(e).getValue()===!0&&(a==null||n.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=n,s={row:c,column:l})};if(n?this.iteratorReverse((e,t,n)=>c(e,t,n)):this.iterator((e,t,n)=>c(e,t,n)),i!=null)return o;if(a!=null)return s}binarySearch(e,t=vi.MIN,n=yi.MIN){if(e.isError())return;let{stringArray:r,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,i,t,n):this._binarySearch(e,a,o,t,n)}_binarySearch(e,t,n,r=vi.MIN,i=yi.MIN){let a=bi(),o=Number(e.getValue()),s=!Number.isNaN(o),c=0,l=t.length-1,u=-1,d=-1,f=-1;for(;c<=l;){let n=Math.floor((c+l)/2),i=t[n],p;if(i.isNull())p=r===vi.MIN?1:-1;else{let t=i.getValue();if(s){let e=Number(t);p=Number.isNaN(e)?1:Math.sign(e-o)}else p=a(t.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(r===vi.MAX&&(p=-p),p===0){u=n;break}p<0?(d=n,c=n+1):(f=n,l=n-1)}if(i===yi.NORMAL)return u===-1?void 0:n[u];if(i===yi.MIN)return u===-1?r===vi.MIN?n[d]:n[f]:n[u];if(i===yi.MAX)return u===-1?r===vi.MIN?n[f]:n[d]:n[u]}sum(){let e=R.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=R.create(-1/0);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=R.create(1/0);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=R.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=R.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=R.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()===``)&&(e=e.plusBy(1))}),e}getNegative(){return e.create(`{0}`).minus(this)}getReciprocal(){return e.create(`{1}`).divided(this)}plus(e){return this._batchOperator(e,da.PLUS)}minus(e){return this._batchOperator(e,da.MINUS)}multiply(e){return this._batchOperator(e,da.MULTIPLY)}divided(e){return this._batchOperator(e,da.DIVIDED)}mod(e){return this._batchOperator(e,da.MOD)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,n){return this._batchOperator(e,da.COMPARE,t,n)}concatenateFront(e){return this._batchOperator(e,da.CONCATENATE_FRONT)}concatenateBack(e){return this._batchOperator(e,da.CONCATENATE_BACK)}map(e){return this.mapValue((t,n,r)=>t==null?I.create():t.isError()?t:e(t,n,r))}mapValue(e){let t=this._rowCount,n=this._columnCount,r=[];for(let a=0;a<t;a++){let t=[];for(let r=0;r<n;r++){var i;let n=(i=this._values)==null?void 0:i[a];if(n==null)t[r]=j.create(D.VALUE);else{let i=n[r]||this._defaultValue;i?t[r]=e(i,a,r):t[r]=I.create()}}r.push(t)}return this._createNewArray(r,t,n)}pow(e){return this._batchOperator(e,da.POW)}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,da.ATAN2)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){let t=this.sum(),n=this.count();return t.divided(e===0?n:n.minusBy(1))}median(){let e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),n=t.getColumnCount();if(n<=1)return t.get(0,0)||I.create();if(t.sortByRow(0),n%2==0){let e=t.get(0,n/2)||I.create(),r=t.get(0,n/2-1)||I.create();return e.plus(r).divided(R.create(2))}return t.get(0,(n-1)/2)||I.create()}var(t=0){let n=this.mean(),r=[[]];this.iterator(e=>{if(e==null||e.isError()||e.isString()||e.isBoolean()||e.isNull())return;let t=e.minus(n).pow(R.create(2));t.isError()||r[0].push(t)});let{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:s}=this;return e.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:i,sheetId:a,row:o,column:s}).mean(t)}std(e=0){let 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,da.ROUND)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,da.FLOOR)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,da.CEIL)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return ha(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){let t=bi();return(n,r)=>{let i=n[e],a=r[e];return i==null?1:a==null?-1:i.isError()&&i.isError()?0:i.isError()?1:a.isError()?-1:t(i.getValue(),a.getValue())}}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}_batchOperator(e,t,n,r){let i=[],a=this._rowCount,o=this._columnCount;if(e.isArray()){let s=e.getRowCount(),c=e.getColumnCount();if(a=Math.max(s,a),o=Math.max(c,o),s===1&&c===1){let t=e.getFirstCell();for(let e=0;e<o;e++)i.push(t)}else if(s===1&&this._columnCount>1){let t=e.getArrayValue();for(let e=0;e<o;e++)t[0]&&t[0][e]?i.push(t[0][e]):i.push(I.create())}else return this._batchOperatorArray(e,t,n,r)}else for(let t=0;t<o;t++)i.push(e);let s=[];for(let e=0;e<o;e++){let a=i[e];this._batchOperatorValue(a,e,s,t,n,r)}let c=this._createNewArray(s,a,o);return c.setDefaultValue(L.create(!1)),c}_batchOperatorValue(e,t,n,r,i,a){let o=this._rowCount,s=this.getUnitId(),c=this.getSheetId(),l=this.getCurrentRow(),u=this.getCurrentColumn();if(r===da.COMPARE){let{rowsInCache:d,rowsNotInCache:f}=ci.canUseCache(s,c,t+u,l,l+o-1);if(d.length>0){if(i===k.EQUALS&&!(e.isString()&&xi(e.getValue()))){let r=ci.getCellPositions(s,c,t+u,e.isNull()?null:e.getValue(),d);r!=null&&r.forEach(e=>{if(e<l||e>l+o-1)return;let r=e-l;n[r]==null&&(n[r]=[]),n[r][t]=L.create(!0)})}else{let r=ci.getCellValuePositions(s,c,t+u);r!=null&&r.forEach((r,s)=>{let c=I.create();Ve.has(s)?c=j.create(s):typeof s==`string`?c=z.create(s):typeof s==`number`?c=R.create(s):typeof s==`boolean`&&(c=L.create(s));let u;u=c.isError()?c:e.isError()?e:c.compare(e,i,a),r.forEach(e=>{e>=l&&e<=l+o-1&&(n[e-l]==null&&(n[e-l]=[]),n[e-l][t]=u)})})}if(f.length>0)for(let o of f){let[d,f]=o;for(let o=d;o<=f;o++)this.__batchOperatorRowValue(e,t,n,r,o-l,s,c,l,u,i,a);ci.setContinueBuildingCache(s,c,t+u,d,f)}return}}for(let d=0;d<o;d++)this.__batchOperatorRowValue(e,t,n,r,d,s,c,l,u,i,a);ci.setContinueBuildingCache(s,c,t+u,l,l+o-1)}__batchOperatorRowValue(e,t,n,r,i,a,o,s,c,l,u){let d=this.getValueOrDefault(i,t);if(n[i]==null&&(n[i]=[]),d&&e)if(d.isError())n[i][t]=d;else if(e.isError())n[i][t]=e;else switch(r){case da.PLUS:n[i][t]=d.plus(e);break;case da.MINUS:n[i][t]=d.minus(e);break;case da.MULTIPLY:n[i][t]=d.multiply(e);break;case da.DIVIDED:n[i][t]=d.divided(e);break;case da.MOD:n[i][t]=d.mod(e);break;case da.COMPARE:l?n[i][t]=d.compare(e,l,u):n[i][t]=j.create(D.VALUE);break;case da.CONCATENATE_FRONT:n[i][t]=d.concatenateFront(e);break;case da.CONCATENATE_BACK:n[i][t]=d.concatenateBack(e);break;case da.POW:n[i][t]=d.pow(e);break;case da.ROUND:n[i][t]=d.round(e);break;case da.FLOOR:n[i][t]=d.floor(e);break;case da.ATAN2:n[i][t]=d.atan2(e);break;case da.CEIL:n[i][t]=d.ceil(e);break}else n[i][t]=j.create(D.NA);!d||d!=null&&d.isNull()?ci.set(a,o,t+c,si,i+s):ci.set(a,o,t+c,d.getValue(),i+s)}_batchOperatorArray(e,t,n,r){let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);let o=[],s=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let l=0;l<i;l++){let i=[];for(let o=0;o<a;o++){let a;a=s===fa.SINGLE?this.getValueOrDefault(0,0):s===fa.ROW?this.getValueOrDefault(0,o):s===fa.COLUMN?this.getValueOrDefault(l,0):this.getValueOrDefault(l,o);let u;if(u=c===fa.SINGLE?e.getValueOrDefault(0,0):c===fa.ROW?e.getValueOrDefault(0,o):c===fa.COLUMN?e.getValueOrDefault(l,0):e.getValueOrDefault(l,o),a&&u)if(a.isError())i[o]=a;else if(u.isError())i[o]=u;else switch(t){case da.PLUS:i[o]=a.plus(u);break;case da.MINUS:i[o]=a.minus(u);break;case da.MULTIPLY:i[o]=a.multiply(u);break;case da.DIVIDED:i[o]=a.divided(u);break;case da.MOD:i[o]=a.mod(u);break;case da.COMPARE:n?i[o]=a.compare(u,n,r):i[o]=j.create(D.VALUE);break;case da.CONCATENATE_FRONT:i[o]=a.concatenateFront(u);break;case da.CONCATENATE_BACK:i[o]=a.concatenateBack(u);break;case da.POW:i[o]=a.pow(u);break;case da.ROUND:i[o]=a.round(u);break;case da.ATAN2:i[o]=a.atan2(u);break;case da.FLOOR:i[o]=a.floor(u);break;case da.CEIL:i[o]=a.ceil(u);break}else i[o]=j.create(D.NA)}o.push(i)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?fa.SINGLE:e.getRowCount()===1?fa.ROW:e.getColumnCount()===1?fa.COLUMN:fa.PRODUCT}_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);let t=e.split(`;`),n=t.length,r=[],i=0;for(let e=0;e<n;e++){let n=t[e].split(`,`),a=n.length;i<a&&(i=a);let o=[];for(let e=0;e<a;e++){let t=n[e].trim();o.push(ga.create(t))}r.push(o)}return this._rowCount=n,this._columnCount=i,r}_createNewArray(t,n,r,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);let o={calculateValueList:t,rowCount:n,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return e.create(o)}},ga=class{static create(e,t=!1){if(e==null)return I.create();if(typeof e==`boolean`)return L.create(e);if(typeof e==`string`){let n=e.toLocaleUpperCase().trim();if(Ve.has(n))return j.create(n);if(n===Ne.TRUE||n===Ne.FALSE)return ca(e);if(w(e)&&Number(e).toString()===e.trim())return R.create(Number(e));if(!t){let{isNumberPattern:t,value:n,pattern:r}=Li(e);if(t)return R.create(n,r)}let r=e.replace(/\n/g,``).replace(/\r/g,``);return!_a(r)&&En(r)?B.create(r):la(e)}return typeof e==`number`?ua(e):j.create(D.VALUE)}};function _a(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)}const va=new Be(1e4);var ya=class extends Ue{constructor(e){super(),this._token=e,E(this,`_forcedSheetId`,``),E(this,`_forcedSheetName`,``),E(this,`_defaultSheetId`,``),E(this,`_rangeData`,{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1}),E(this,`_unitData`,{}),E(this,`_unitStylesData`,{}),E(this,`_filteredOutRows`,[]),E(this,`_defaultUnitId`,``),E(this,`_forcedUnitId`,``),E(this,`_runtimeData`,{}),E(this,`_arrayFormulaCellData`,{}),E(this,`_arrayFormulaRange`,{}),E(this,`_runtimeArrayFormulaCellData`,{}),E(this,`_runtimeArrayFormulaRange`,{}),E(this,`_runtimeFeatureCellData`,{}),E(this,`_refOffsetX`,0),E(this,`_refOffsetY`,0),E(this,`_currentRow`,void 0),E(this,`_currentColumn`,void 0)}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){let{startRow:e,endRow:t,startColumn:n,endColumn:r}=this.getRangePosition();return e<0||n<0||t>=this.getActiveSheetRowCount()||r>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{x:e,y:t}=this.getRefOffset(),n=ge(this.getRangeData(),e,t);return Number.isNaN(n.startRow)&&(n.startRow=0),Number.isNaN(n.startColumn)&&(n.startColumn=0),Number.isNaN(n.endRow)&&(n.endRow=this.getActiveSheetRowCount()-1),Number.isNaN(n.endColumn)&&(n.endColumn=this.getActiveSheetColumnCount()-1),n}isReferenceObject(){return!0}iterator(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(j.create(D.VALUE),t,r);let a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let s=t;s<=n;s++)for(let n=r;n<=i;n++){if(s<0||n<0)return e(j.create(D.REF),s,n);let i=this.getCellData(s,n),c=!1;if(mi(i)){c=e(null,s,n);continue}let l=this.getCellValueObject(i);if(s===t&&n===r){let e=this.getCellPattern(a,o,s,n);if(e&&l.isNumber()){let t=Number(l.getValue());l=R.create(t,e)}}if(c=e(l,s,n),c===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return j.create(D.VALUE);let{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return R.create(0);let r=this.getCellValueObject(n),i=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(i,a,e,t);if(o&&r.isNumber()){let e=Number(r.getValue());r=R.create(e,o)}return r}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}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeArrayFormulaRange(){return this._runtimeArrayFormulaRange}setRuntimeArrayFormulaRange(e){this._runtimeArrayFormulaRange=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(){let e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){let 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 j.create(D.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){let t=hi(e);if(Ve.has(t))return j.create(t);if(e.t===i.NUMBER){let n=this._getPatternByCell(e);return pe(n)?z.create(t.toString()):ua(t,n)}return e.t===i.STRING||e.t===i.FORCE_STRING?z.create(t.toString()):e.t===i.BOOLEAN?ca(t):ga.create(t)}_getPatternByCell(e){var t;let n=this._unitStylesData[this.getUnitId()];if(!n)return``;let r=n.getStyleByCell(e);return(r==null||(t=r.n)==null?void 0:t.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;return(e=this._runtimeData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e;return(e=this._arrayFormulaCellData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e;return(e=this._runtimeArrayFormulaCellData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaRange(){var e;return(e=this._arrayFormulaRange)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaRange(){var e;return(e=this._runtimeArrayFormulaRange)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCellData(e,t){let n=this.getCurrentActiveSheetData(),r=this.getCurrentRuntimeSheetData(),i=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData(),o=new b(this.getCurrentActiveArrayFormulaRange()),s=new b(this.getCurrentRuntimeActiveArrayFormulaRange()),c=(r==null?void 0:r.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t);if(c)return c;if(c=i==null?void 0:i.getValue(e,t),c){let n=!1;return o.forValue((r,i,a)=>{if(e>=a.startRow&&e<=a.endRow&&t>=a.startColumn&&t<=a.endColumn&&s.getValue(r,i))return n=!0,!1}),n?null:c}return n==null?void 0:n.cellData.getValue(e,t)}getRuntimeFeatureCellValue(e,t){return _i(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let n=e,r=t,i=this.getRangeData();n||(n=i.startRow),r||(r=i.startColumn);let a=this.getCellData(n,r);return a?this.getCellValueObject(a):j.create(D.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,n,r){var i,a;let o=this._unitStylesData[e];if(!o)return``;let s=(i=this._unitData[e])==null||(i=i[t])==null||(i=i.cellData)==null?void 0:i.getValue(n,r);if(!s)return``;let c=o.getStyleByCell(s);return(c==null||(a=c.n)==null?void 0:a.pattern)||``}toArrayValueObject(e=!0){var t;let{startRow:n,endRow:r,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${n}_${r}_${i}_${a}`,s=va.get(o);if(s&&e)return s;let c=r-n+1,l=a-i+1;if(c<0||l<0)return this._getBlankArrayValueObject();let u=Array(c);this.iterator((e,t,r)=>{let a=t-n,o=r-i;u[a]||(u[a]=Array(l)),e==null&&(e=I.create()),u[a][o]=e});let d={calculateValueList:u,rowCount:u.length,columnCount:((t=u[0])==null?void 0:t.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:i},f=B.create(d);return e&&va.set(o,f),f}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(){let e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return B.create(e)}},ba=class extends Ue{constructor(e){super(),this._promise=e}isAsyncObject(){return!0}async getValue(){return this._promise}},xa=class extends Ue{constructor(e){super(),this._promiseList=e}isAsyncArrayObject(){return!0}async getValue(){var e;let t=[];for(let e=0;e<this._promiseList.length;e++){let n=this._promiseList[e];t[e]==null&&(t[e]=[]);for(let r=0;r<n.length;r++){let i=n[r];i.isAsyncObject()?t[e][r]=await i.getValue():t[e][r]=i}}let n={calculateValueList:t,rowCount:t.length,columnCount:((e=t[0])==null?void 0:e.length)||0,unitId:``,sheetId:``,row:0,column:0};return B.create(n)}},Sa=class extends ya{constructor(e,t,n){super(``),this.setRangeData(e),t&&this.setForcedSheetIdDirect(t),n&&this.setForcedUnitIdDirect(n)}isRange(){return!0}},Ca=class extends ya{constructor(e){super(e);let t=Jr(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName),this.setRangeData(t.range)}isCell(){return!0}unionBy(e){if(!e.isCell())return j.create(D.REF);let t=e,n=this.unionRange(this.getRangeData(),t.getRangeData());return this._createRange(n)}unionRange(e,t){let n=e.startRow,r=e.startColumn,i=t.startRow,a=t.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return n>i?(o.startRow=i,o.endRow=n):(o.startRow=n,o.endRow=i),r>a?(o.startColumn=a,o.endColumn=r):(o.startColumn=r,o.endColumn=a),e.startAbsoluteRefType&&(o.startAbsoluteRefType=e.startAbsoluteRefType),t.startAbsoluteRefType&&(o.endAbsoluteRefType=t.startAbsoluteRefType),o}_createRange(e){let t=new Sa(e,this.getForcedSheetId(),this.getForcedUnitId());t.setUnitData(this.getUnitData()),t.setDefaultSheetId(this.getDefaultSheetId()),t.setDefaultUnitId(this.getDefaultUnitId()),t.setRuntimeData(this.getRuntimeData()),t.setUnitStylesData(this.getUnitStylesData()),t.setArrayFormulaCellData(this.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),t.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());let{x:n,y:r}=this.getRefOffset();t.setRefOffset(n,r);let i=this.getForcedSheetId();t.setForcedSheetName(this.getForcedSheetName()),i!=null&&t.setForcedSheetIdDirect(i);let a=this.getForcedUnitId();return a&&t.setForcedUnitIdDirect(a),t}},wa=class extends ya{constructor(e){super(e);let t=Jr(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName);let n={...t.range,startColumn:t.range.startColumn,startRow:NaN,endColumn:t.range.endColumn,endRow:NaN,rangeType:C.COLUMN};this.setRangeData(n)}isColumn(){return!0}unionBy(e){if(!e.isColumn())return j.create(D.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return j.create(D.REF);let n=this.getRangeData(),r=t.getRangeData(),i=r.startColumn;if(i>=n.startColumn&&i<=n.endColumn)return this;let a=n.startColumn;return i>a?n.endColumn=i:(n.startColumn=i,n.endColumn=a),r.startAbsoluteRefType&&(n.endAbsoluteRefType=r.startAbsoluteRefType),n.rangeType=C.COLUMN,this.setToken(`${this.getToken()}${A.COLON}${t.getToken()}`),this}},Ta=class extends ya{constructor(e){super(e);let t=Jr(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName);let n={...t.range,startColumn:NaN,startRow:t.range.startRow,endColumn:NaN,endRow:t.range.endRow,rangeType:C.ROW};this.setRangeData(n)}isRow(){return!0}unionBy(e){if(!e.isRow())return j.create(D.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return j.create(D.REF);let n=this.getRangeData(),r=t.getRangeData(),i=r.startRow;if(i>=n.startRow&&i<=n.endRow)return this;let a=n.startRow;return i>a?n.endRow=i:(n.startRow=i,n.endRow=a),r.startAbsoluteRefType&&(n.endAbsoluteRefType=r.startAbsoluteRefType),n.rangeType=C.ROW,this.setToken(`${this.getToken()}${A.COLON}${t.getToken()}`),this}};function V(e,t,n,r){let i=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1,o=[];for(let s=0;s<e;s++){let e=[];for(let o=0;o<t;o++){if(i===1&&a===1){let t=n.isArray()?n.get(0,0):n;e.push(t);continue}if(i===1&&o<a){let t=n.get(0,o);e.push(t);continue}if(a===1&&s<i){let t=n.get(s,0);e.push(t);continue}if(s>=i||o>=a){e.push(r==null?I.create():r);continue}let t=n.get(s,o);e.push(t)}o.push(e)}return Ea(o,e,t)}function Ea(e,t,n,r=``,i=``){let a={calculateValueList:e,rowCount:t,columnCount:n,unitId:r,sheetId:i,row:-1,column:-1};return B.create(a)}function Da(e){let t=[k.EQUALS,k.NOT_EQUAL,k.GREATER_THAN_OR_EQUAL,k.GREATER_THAN,k.LESS_THAN_OR_EQUAL,k.LESS_THAN];for(let n of t)if(e.startsWith(n)){let t=e.substring(n.length);return[n,ga.create(t)]}return[k.EQUALS,ga.create(e)]}function Oa(e,t,n,r){if(!n)if(t.isString()){let[e,r]=Da(`${t.getValue()}`);n=e,t=r}else n=k.EQUALS;return e.compare(t,n,r)}function ka(e,t){let n=e.getRowCount(),r=e.getColumnCount(),i=t.getRowCount(),a=t.getColumnCount(),o=e,s=t;if(n!==i||r!==a){let c=Math.max(n,i),l=Math.max(r,a);o=V(c,l,e),s=V(c,l,t)}return o.mapValue((e,t,n)=>{let r=s.get(t,n);return e!=null&&e.isError()?e:r!=null&&r.isError()?r:e!=null&&e.isBoolean()&&r!=null&&r.isBoolean()?ca(e.getValue()&&r.getValue()):L.create(!1)})}function Aa(e){let t=e.getValue(),n=0;return t&&(n=1),R.create(n)}function ja(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?!0:e.isReferenceObject()?!!(e.isCell()||e.getRowCount()===1&&e.getColumnCount()===1):(e=e,!!(e.isString()||e.isNumber()||e.isBoolean()||e.isError()||e.isNull()))}function Ma(e){let t=e==null?void 0:e.getPattern(),n={},r={};if(t&&(n={s:{n:{pattern:t}}}),e!=null&&e.getCustomData()&&(r={custom:e.getCustomData()}),e==null)return{v:null,...n};if(e.isError())return{v:e.getErrorType(),t:i.STRING,...n,...r};if(e.isValueObject()){let t=e,a=t.getValue();return t.isNumber()?{v:a,t:i.NUMBER,...n,...r}:t.isBoolean()?{v:a?1:0,t:i.BOOLEAN,...n,...r}:t.isString()?{v:a,t:i.STRING,...n,...r}:t.isNull()?{v:null,...n,...r}:{v:a,t:i.STRING,...n,...r}}}function Na(e){let t=0,n=0;return e.forEach((e,r)=>{if(r%2==1)if(e.isArray()){let r=e;t=Math.max(t,r.getRowCount()),n=Math.max(n,r.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)}),{maxRowLength:t,maxColumnLength:n}}function Pa(e,t){if(e.length===0||e.length%2!=0)return{isError:!0,errorObject:j.create(D.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let n=null,r=-1,i=-1;if(t){if(!t.isReferenceObject())return{isError:!0,errorObject:j.create(D.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};n=t.toArrayValueObject(),r=n.getRowCount(),i=n.getColumnCount()}let a=0,o=0,s=!1,c=[];for(let t=0;t<e.length;t++)if(t%2==1){let n=e[t-1],l=e[t];if(!n.isReferenceObject())return{isError:!0,errorObject:j.create(D.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let u=n.toArrayValueObject(),d=u.getRowCount(),f=u.getColumnCount();t===1&&r===-1&&i===-1?(r=d,i=f):!s&&(r!==d||i!==f)&&(s=!0);let p=l;l.isReferenceObject()&&(p=l.toArrayValueObject()),a=Math.max(a,p.isArray()?p.getRowCount():1),o=Math.max(o,p.isArray()?p.getColumnCount():1),c.push(u),c.push(p)}return{isError:!1,errorObject:null,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:n,variants:c}}function Fa(e){return e.isArray()?e:B.createByArray([[e.getValue()]])}function Ia(e,t){let{formulaName:n,maxRowLength:r,maxColumnLength:i,isNumberSensitive:a=!1,targetRange:o}=t,s=[];for(let t=0;t<e.length;t++){if(t%2==1)continue;let n=e[t],a=e[t+1],o=V(r,i,a,j.create(D.NA));s.push({range:n,criteriaArray:o})}if(s.length===0)return[];let c=[];return s[0].criteriaArray.iterator((e,t,r)=>{let i;for(let e=0;e<s.length;e++){let{range:n,criteriaArray:o}=s[e],c=o.get(t,r);if(!c)continue;let l=Oa(n,c);if(a&&(l=La(l,n,c)),i===void 0){i=l;continue}i=ka(i,l)}let l;if(n===`COUNTIFS`){let e=0;i.iterator(t=>{t!=null&&t.isBoolean()&&t.getValue()===!0&&e++}),l=R.create(e)}else if(n===`SUMIFS`)l=o.pick(i).sum();else if(n===`AVERAGEIFS`){let e=o.pick(i),t=e.sum(),n=e.count();l=t.divided(n)}else if(n===`MAXIFS`){let e=o.pick(i);l=e.getColumnCount()===0?B.create(`0`):e.max()}else if(n===`MINIFS`){let e=o.pick(i);l=e.getColumnCount()===0?B.create(`0`):e.min()}c[t]||(c[t]=[]),c[t][r]=l}),c}function La(e,t,n){let[r,i]=Da(`${n.getValue()}`);return e.mapValue((e,n,a)=>{let o=t.get(n,a);if(o&&Ra(o,i))return e;if(o!=null&&o.isError()&&i.isError()&&o.getValue()===i.getValue())return L.create(!0);if(r===k.EQUALS||r===k.NOT_EQUAL){if(o!=null&&o.isNumber()&&i.isString()){let e=i.convertToNumberObjectValue();if(e.isNumber())return o.compare(e,r)}if(i.isNumber()&&o!=null&&o.isString()){let e=o.convertToNumberObjectValue();if(e.isNumber())return e.compare(i,r)}if(r===k.EQUALS)return L.create(!1);if(r===k.NOT_EQUAL)return L.create(!0)}return L.create(!1)})}function Ra(e,t){if(e.isNumber()&&t.isNumber()||e.isBoolean()&&t.isBoolean())return!0;let n=e.isString()&&e.getValue()===``,r=t.isString()&&t.getValue()===``;return!!((n||e.isNull())&&(r||t.isNull())||e.isString()&&!n&&t.isString()&&!r)}let za=function(e){return e[e.CELL=0]=`CELL`,e[e.COLUMN=1]=`COLUMN`,e[e.ROW=2]=`ROW`,e}({});function Ba(e,t){let n;switch(t){case za.COLUMN:n=new wa(e);break;case za.ROW:n=new Ta(e);break;case za.CELL:default:n=new Ca(e);break}return n}function Va(e,t){let n;return n=e.isCell()&&t.isCell()||e.isRow()&&t.isRow()||e.isColumn()&&t.isColumn()?e.unionBy(t):j.create(D.NAME),n}let Ha=class extends s{constructor(e){super(),this._univerInstanceService=e}generateCellValue(e,t){if(t.trim()===``)return{v:``};let n=e;if(e.startsWith(`#`)&&Dn(e.slice(1))){let{unitId:t,sheetName:r,range:i}=Zn(e.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(ie.UNIVER_SHEET);if(t===``||t===a.getUnitId())if(r===``)n=`#gid=${a.getActiveSheet().getSheetId()}&range=${Gn(i)}`;else{let e=a.getSheetBySheetName(r);e&&(n=`#gid=${e.getSheetId()}&range=${Gn(i)}`)}}else re.isLegalUrl(e)&&(n=re.normalizeUrl(e));return{p:ne.create().insertLink(t,n).getData()}}};Ha=dr([P(0,d)],Ha);const Ua=se(`univer.formula.hyperlink-engine-formula.service`);let Wa=function(e){return e[e.IDLE=0]=`IDLE`,e[e.START=1]=`START`,e[e.START_DEPENDENCY=2]=`START_DEPENDENCY`,e[e.START_CALCULATION=3]=`START_CALCULATION`,e[e.CURRENTLY_CALCULATING=4]=`CURRENTLY_CALCULATING`,e[e.START_DEPENDENCY_ARRAY_FORMULA=5]=`START_DEPENDENCY_ARRAY_FORMULA`,e[e.START_CALCULATION_ARRAY_FORMULA=6]=`START_CALCULATION_ARRAY_FORMULA`,e[e.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]=`CURRENTLY_CALCULATING_ARRAY_FORMULA`,e[e.CALCULATION_COMPLETED=8]=`CALCULATION_COMPLETED`,e}({}),Ga=function(e){return e[e.INITIAL=0]=`INITIAL`,e[e.STOP_EXECUTION=1]=`STOP_EXECUTION`,e[e.NOT_EXECUTED=2]=`NOT_EXECUTED`,e[e.SUCCESS=3]=`SUCCESS`,e}({}),Ka=class extends s{constructor(e,t){super(),this._currentConfigService=e,this._hyperlinkEngineFormulaService=t,E(this,`_formulaExecuteStage`,Wa.IDLE),E(this,`_stopState`,!1),E(this,`_currentRow`,-1),E(this,`_currentColumn`,-1),E(this,`_currentRowCount`,-1/0),E(this,`_currentColumnCount`,-1/0),E(this,`_currentSubUnitId`,``),E(this,`_currentUnitId`,``),E(this,`_runtimeData`,{}),E(this,`_runtimeOtherData`,{}),E(this,`_unitArrayFormulaRange`,{}),E(this,`_unitArrayFormulaEmbeddedMap`,{}),E(this,`_runtimeArrayFormulaCellData`,{}),E(this,`_runtimeClearArrayFormulaCellData`,{}),E(this,`_runtimeFeatureRange`,{}),E(this,`_runtimeFeatureCellData`,{}),E(this,`_runtimeImageFormulaData`,[]),E(this,`_functionsExecutedState`,Ga.INITIAL),E(this,`_functionDefinitionPrivacyVar`,new Map),E(this,`_totalFormulasToCalculate`,0),E(this,`_completedFormulasCount`,0),E(this,`_totalArrayFormulasToCalculate`,0),E(this,`_completedArrayFormulasCount`,0),E(this,`_formulaCycleIndex`,0),E(this,`_isCycleDependency`,!1),E(this,`_dependencyTreeModelData`,[])}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=Ga.SUCCESS}markedAsNoFunctionsExecuted(){this._functionsExecutedState=Ga.NOT_EXECUTED}markedAsStopFunctionsExecuted(){this._functionsExecutedState=Ga.STOP_EXECUTION}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=Ga.INITIAL}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(Wa.IDLE)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=Wa.IDLE,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(){ji(),zi(),Yr()}setCurrent(e,t,n,r,i,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=n,this._currentColumnCount=r,this._currentSubUnitId=i,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,n,r){let i=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});let o=this._runtimeOtherData[a];(o[i]===void 0||o[i]===null)&&(o[i]={});let s=o[i],c=[];if(r.isReferenceObject()||r.isValueObject()&&r.isArray()){let e=r,{startRow:t,startColumn:n}=e.getRangePosition();e.iterator((e,r,i)=>{let a=this._getValueObjectOfRuntimeData(e),o=r-t,s=i-n;c[o]==null&&(c[o]=[]),c[o][s]=a})}else c=[[this._getValueObjectOfRuntimeData(r)]];(s[e]===void 0||s[e]===null)&&(s[e]={}),(s[e][n]===void 0||s[e][n]===null)&&(s[e][n]={}),s[e][n][t]=c}setRuntimeData(e){let t=this._currentRow,n=this._currentColumn,r=this._currentRowCount,i=this.currentColumnCount,a=this._currentSubUnitId,o=this._currentUnitId;this._runtimeData[o]==null&&(this._runtimeData[o]={});let s=this._runtimeData[o];s[a]==null&&(s[a]=new b);let c=s[a];this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});let l=this._unitArrayFormulaRange[o];(l[a]===null||l[a]===void 0)&&(l[a]={});let u=new b(l[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});let d=this._runtimeArrayFormulaCellData[o];d[a]==null&&(d[a]=new b);let f=d[a];this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});let p=this._runtimeClearArrayFormulaCellData[o];p[a]==null&&(p[a]=new b);let m=p[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){let s=e,{startRow:l,startColumn:d,endRow:p,endColumn:h}=s.getRangePosition();if(l===p&&d===h){let e=s.getFirstCell(),r=this._getValueObjectOfRuntimeData(e);c.setValue(t,n,r),m.setValue(t,n,r),ci.set(o,a,n,e.getValue(),t,!0);return}let g={startRow:t,startColumn:n,endRow:p-l+t,endColumn:h-d+n};if(u.setValue(t,n,g),this._checkIfArrayFormulaRangeHasData(o,a,t,n,g)||this._checkIfArrayFormulaExceeded(r,i,g)){let e=this._getValueObjectOfRuntimeData(j.create(D.SPILL));c.setValue(t,n,e),m.setValue(t,n,e),ci.set(o,a,n,D.SPILL,t,!0);let r=this._currentConfigService.getUnitData();s.iterator((i,s,c)=>{var u;let p=s-l+t,m=c-d+n,h=(u=r[o])==null||(u=u[a])==null?void 0:u.cellData.getValue(p,m);if(s===l&&c===d)f.setValue(t,n,e);else if(h!=null)h.v==null&&(h.v=``),f.setValue(p,m,h);else if(this._isInOtherArrayFormulaRange(o,a,t,n,p,m))return!0;else f.setValue(p,m,{v:``})})}else{let e=j.create(D.SPILL);s.iterator((r,i,s)=>{ci.set(o,a,n-d+s,r?r.getValue():0,t-l+i,!0);let u=this._getValueObjectOfRuntimeData(r);if(i===l&&s===d){if(r!=null&&r.isError()&&r.isEqualType(e))return m.setValue(t,n,{}),c.setValue(t,n,{...this._getValueObjectOfRuntimeData(e)}),!1;c.setValue(t,n,{...u})}let p=i-l+t,h=s-d+n;f.setValue(p,h,u)})}}else{let r=this._getValueObjectOfRuntimeData(e);if(c.setValue(t,n,r),e.isString()&&e.isImage()){let r=e.getImageInfo();r&&this._runtimeImageFormulaData.push({...r,unitId:o,sheetId:a,row:t,column:n})}ci.set(o,a,n,e.getValue(),t,!0),m.setValue(t,n,r)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):Ma(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){let e=this._currentUnitId,t=this._currentSubUnitId,n=this._currentRow,r=this._currentColumn,i=this._unitArrayFormulaEmbeddedMap;i[e]==null&&(i[e]={}),i[e][t]==null&&(i[e][t]={}),i[e][t][n]==null&&(i[e][t][n]={}),i[e][t][n][r]=!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(){va.clear()}_checkIfArrayFormulaRangeHasData(e,t,n,r,i){var a;let{startRow:o,startColumn:s,endRow:c,endColumn:l}=i,u=this._currentConfigService.getUnitData(),d=this._currentConfigService.getArrayFormulaCellData();(a=this._unitArrayFormulaRange[e])==null||(a=a[t])==null||(a=a[n])==null||a[r];for(let i=o;i<=c;i++)for(let a=s;a<=l;a++){var f,p,m;if(i===n&&r===a)continue;let o=(f=this._runtimeData)==null||(f=f[e])==null||(f=f[t])==null?void 0:f.getValue(i,a);d==null||(p=d[e])==null||(p=p[t])==null||p.getValue(i,a);let s=u==null||(m=u[e])==null||(m=m[t])==null||(m=m.cellData)==null?void 0:m.getValue(i,a),c=this._getRuntimeFeatureCellValue(i,a,t,e);if(!mi(o)||this._isInOtherArrayFormulaRange(e,t,n,r,i,a)||!mi(s)||!mi(c))return!0}return!1}_getRuntimeFeatureCellValue(e,t,n,r){return _i(e,t,n,r,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,n,r,i,a){var o;let s=(o=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:o[t];if(s==null)return!1;let c=!1;return new b(s).forValue((o,s,l)=>{var u;if(o===n&&s===r)return;let d=this._isInArrayFormulaRange(l,i,a),f=(u=this._runtimeData[e])==null||(u=u[t])==null?void 0:u.getValue(o,s);d&&(f==null?void 0:f.v)!==D.SPILL&&(c=!0)}),c}_isInArrayFormulaRange(e,t,n){if(e==null)return!1;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return t>=r&&t<=a&&n>=i&&n<=o}_checkIfArrayFormulaExceeded(e,t,n){return n.endRow>=e||n.endColumn>=t}_isInDirtyRange(e,t,n,r){let i=this._currentConfigService.getDirtyRanges();return i.length===0?!0:Et(i,e,t,n,r)}};Ka=dr([P(0,fi),P(1,Ua)],Ka);const qa=se(`univer.formula.runtime.service`);let H=function(e){return e[e.REFERENCE=1]=`REFERENCE`,e[e.VALUE=2]=`VALUE`,e[e.OPERATOR=3]=`OPERATOR`,e[e.FUNCTION=4]=`FUNCTION`,e[e.LAMBDA=5]=`LAMBDA`,e[e.LAMBDA_PARAMETER=6]=`LAMBDA_PARAMETER`,e[e.ERROR=7]=`ERROR`,e[e.BASE=8]=`BASE`,e[e.ROOT=9]=`ROOT`,e[e.UNION=10]=`UNION`,e[e.PREFIX=11]=`PREFIX`,e[e.SUFFIX=12]=`SUFFIX`,e[e.NULL=13]=`NULL`,e}({});const Ja=new Map([[H.REFERENCE,7],[H.VALUE,9],[H.OPERATOR,8],[H.FUNCTION,6],[H.LAMBDA,1],[H.LAMBDA_PARAMETER,2],[H.ROOT,10],[H.UNION,3],[H.PREFIX,4],[H.SUFFIX,5]]);var Ya=class{constructor(e){this._token=e,E(this,`_children`,[]),E(this,`_definedNames`,void 0),E(this,`_parent`,void 0),E(this,`_valueObject`,void 0),E(this,`_calculateState`,!1),E(this,`_async`,!1),E(this,`_address`,!1),E(this,`_isForcedCalculateFunction`,!1)}dispose(){var e;this._children.forEach(e=>{e.dispose()}),(e=this._valueObject)==null||e.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return H.BASE}resetCalculationState(){this._children.forEach(e=>{e.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(e){this._parent=e,e.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}async executeAsync(){return Promise.resolve(Pe.SUCCESS)}serialize(){let e=this.getToken(),t=this.getChildren(),n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e];n.push(r.serialize())}let i={token:e,nodeType:this.nodeType};return r>0&&(i.children=n),i}hasDefinedName(e){var t;return((t=this._definedNames)==null?void 0:t.includes(e))||!1}setDefinedNames(e){this._definedNames=e}getDefinedNames(){return this._definedNames}},Xa=class e extends Ya{constructor(e){super(e),E(this,`_errorValueObject`,void 0),this._errorValueObject=j.create(e)}get nodeType(){return H.ERROR}static create(t){return new e(t)}getValue(){return this._errorValueObject}},Za=class{get zIndex(){return 0}dispose(){}create(e,t,n){let r;return r=e instanceof F?e.getToken():e,new Ya(r)}},Qa=class extends Ya{get nodeType(){return H.ROOT}execute(){let e=this.getChildren();if(e.length>1){this.setValue(j.create(D.VALUE));return}let t=e[0];t==null?this.setValue(j.create(D.VALUE)):this.setValue(t.getValue())}},$a=class extends Za{get zIndex(){return Ja.get(H.ROOT)||100}checkAndCreateNodeType(e){if(e instanceof F&&e.getToken()===`R_1`)return new Qa(`R_1`)}};let eo=function(e){return e.DATE=`DATE`,e.DATEDIF=`DATEDIF`,e.DATEVALUE=`DATEVALUE`,e.DAY=`DAY`,e.DAYS=`DAYS`,e.DAYS360=`DAYS360`,e.EDATE=`EDATE`,e.EOMONTH=`EOMONTH`,e.EPOCHTODATE=`EPOCHTODATE`,e.HOUR=`HOUR`,e.ISOWEEKNUM=`ISOWEEKNUM`,e.MINUTE=`MINUTE`,e.MONTH=`MONTH`,e.NETWORKDAYS=`NETWORKDAYS`,e.NETWORKDAYS_INTL=`NETWORKDAYS.INTL`,e.NOW=`NOW`,e.SECOND=`SECOND`,e.TIME=`TIME`,e.TIMEVALUE=`TIMEVALUE`,e.TO_DATE=`TO_DATE`,e.TODAY=`TODAY`,e.WEEKDAY=`WEEKDAY`,e.WEEKNUM=`WEEKNUM`,e.WORKDAY=`WORKDAY`,e.WORKDAY_INTL=`WORKDAY.INTL`,e.YEAR=`YEAR`,e.YEARFRAC=`YEARFRAC`,e}({}),U=function(e){return e.BESSELI=`BESSELI`,e.BESSELJ=`BESSELJ`,e.BESSELK=`BESSELK`,e.BESSELY=`BESSELY`,e.BIN2DEC=`BIN2DEC`,e.BIN2HEX=`BIN2HEX`,e.BIN2OCT=`BIN2OCT`,e.BITAND=`BITAND`,e.BITLSHIFT=`BITLSHIFT`,e.BITOR=`BITOR`,e.BITRSHIFT=`BITRSHIFT`,e.BITXOR=`BITXOR`,e.COMPLEX=`COMPLEX`,e.CONVERT=`CONVERT`,e.DEC2BIN=`DEC2BIN`,e.DEC2HEX=`DEC2HEX`,e.DEC2OCT=`DEC2OCT`,e.DELTA=`DELTA`,e.ERF=`ERF`,e.ERF_PRECISE=`ERF.PRECISE`,e.ERFC=`ERFC`,e.ERFC_PRECISE=`ERFC.PRECISE`,e.GESTEP=`GESTEP`,e.HEX2BIN=`HEX2BIN`,e.HEX2DEC=`HEX2DEC`,e.HEX2OCT=`HEX2OCT`,e.IMABS=`IMABS`,e.IMAGINARY=`IMAGINARY`,e.IMARGUMENT=`IMARGUMENT`,e.IMCONJUGATE=`IMCONJUGATE`,e.IMCOS=`IMCOS`,e.IMCOSH=`IMCOSH`,e.IMCOT=`IMCOT`,e.IMCOTH=`IMCOTH`,e.IMCSC=`IMCSC`,e.IMCSCH=`IMCSCH`,e.IMDIV=`IMDIV`,e.IMEXP=`IMEXP`,e.IMLN=`IMLN`,e.IMLOG=`IMLOG`,e.IMLOG10=`IMLOG10`,e.IMLOG2=`IMLOG2`,e.IMPOWER=`IMPOWER`,e.IMPRODUCT=`IMPRODUCT`,e.IMREAL=`IMREAL`,e.IMSEC=`IMSEC`,e.IMSECH=`IMSECH`,e.IMSIN=`IMSIN`,e.IMSINH=`IMSINH`,e.IMSQRT=`IMSQRT`,e.IMSUB=`IMSUB`,e.IMSUM=`IMSUM`,e.IMTAN=`IMTAN`,e.IMTANH=`IMTANH`,e.OCT2BIN=`OCT2BIN`,e.OCT2DEC=`OCT2DEC`,e.OCT2HEX=`OCT2HEX`,e}({}),W=function(e){return e.ACCRINT=`ACCRINT`,e.ACCRINTM=`ACCRINTM`,e.AMORDEGRC=`AMORDEGRC`,e.AMORLINC=`AMORLINC`,e.COUPDAYBS=`COUPDAYBS`,e.COUPDAYS=`COUPDAYS`,e.COUPDAYSNC=`COUPDAYSNC`,e.COUPNCD=`COUPNCD`,e.COUPNUM=`COUPNUM`,e.COUPPCD=`COUPPCD`,e.CUMIPMT=`CUMIPMT`,e.CUMPRINC=`CUMPRINC`,e.DB=`DB`,e.DDB=`DDB`,e.DISC=`DISC`,e.DOLLARDE=`DOLLARDE`,e.DOLLARFR=`DOLLARFR`,e.DURATION=`DURATION`,e.EFFECT=`EFFECT`,e.FV=`FV`,e.FVSCHEDULE=`FVSCHEDULE`,e.INTRATE=`INTRATE`,e.IPMT=`IPMT`,e.IRR=`IRR`,e.ISPMT=`ISPMT`,e.MDURATION=`MDURATION`,e.MIRR=`MIRR`,e.NOMINAL=`NOMINAL`,e.NPER=`NPER`,e.NPV=`NPV`,e.ODDFPRICE=`ODDFPRICE`,e.ODDFYIELD=`ODDFYIELD`,e.ODDLPRICE=`ODDLPRICE`,e.ODDLYIELD=`ODDLYIELD`,e.PDURATION=`PDURATION`,e.PMT=`PMT`,e.PPMT=`PPMT`,e.PRICE=`PRICE`,e.PRICEDISC=`PRICEDISC`,e.PRICEMAT=`PRICEMAT`,e.PV=`PV`,e.RATE=`RATE`,e.RECEIVED=`RECEIVED`,e.RRI=`RRI`,e.SLN=`SLN`,e.SYD=`SYD`,e.TBILLEQ=`TBILLEQ`,e.TBILLPRICE=`TBILLPRICE`,e.TBILLYIELD=`TBILLYIELD`,e.VDB=`VDB`,e.XIRR=`XIRR`,e.XNPV=`XNPV`,e.YIELD=`YIELD`,e.YIELDDISC=`YIELDDISC`,e.YIELDMAT=`YIELDMAT`,e}({}),to=function(e){return e.CELL=`CELL`,e.ERROR_TYPE=`ERROR.TYPE`,e.INFO=`INFO`,e.ISBETWEEN=`ISBETWEEN`,e.ISBLANK=`ISBLANK`,e.ISDATE=`ISDATE`,e.ISEMAIL=`ISEMAIL`,e.ISERR=`ISERR`,e.ISERROR=`ISERROR`,e.ISEVEN=`ISEVEN`,e.ISFORMULA=`ISFORMULA`,e.ISLOGICAL=`ISLOGICAL`,e.ISNA=`ISNA`,e.ISNONTEXT=`ISNONTEXT`,e.ISNUMBER=`ISNUMBER`,e.ISODD=`ISODD`,e.ISOMITTED=`ISOMITTED`,e.ISREF=`ISREF`,e.ISTEXT=`ISTEXT`,e.ISURL=`ISURL`,e.N=`N`,e.NA=`NA`,e.SHEET=`SHEET`,e.SHEETS=`SHEETS`,e.TYPE=`TYPE`,e}({}),no=function(e){return e.AND=`AND`,e.BYCOL=`BYCOL`,e.BYROW=`BYROW`,e.FALSE=`FALSE`,e.IF=`IF`,e.IFERROR=`IFERROR`,e.IFNA=`IFNA`,e.IFS=`IFS`,e.LAMBDA=`LAMBDA`,e.LET=`LET`,e.MAKEARRAY=`MAKEARRAY`,e.MAP=`MAP`,e.NOT=`NOT`,e.OR=`OR`,e.REDUCE=`REDUCE`,e.SCAN=`SCAN`,e.SWITCH=`SWITCH`,e.TRUE=`TRUE`,e.XOR=`XOR`,e}({}),G=function(e){return e.ADDRESS=`ADDRESS`,e.AREAS=`AREAS`,e.CHOOSE=`CHOOSE`,e.CHOOSECOLS=`CHOOSECOLS`,e.CHOOSEROWS=`CHOOSEROWS`,e.COLUMN=`COLUMN`,e.COLUMNS=`COLUMNS`,e.DROP=`DROP`,e.EXPAND=`EXPAND`,e.FILTER=`FILTER`,e.FORMULATEXT=`FORMULATEXT`,e.GETPIVOTDATA=`GETPIVOTDATA`,e.HLOOKUP=`HLOOKUP`,e.HSTACK=`HSTACK`,e.HYPERLINK=`HYPERLINK`,e.IMAGE=`IMAGE`,e.INDEX=`INDEX`,e.INDIRECT=`INDIRECT`,e.LOOKUP=`LOOKUP`,e.MATCH=`MATCH`,e.OFFSET=`OFFSET`,e.ROW=`ROW`,e.ROWS=`ROWS`,e.RTD=`RTD`,e.SORT=`SORT`,e.SORTBY=`SORTBY`,e.TAKE=`TAKE`,e.TOCOL=`TOCOL`,e.TOROW=`TOROW`,e.TRANSPOSE=`TRANSPOSE`,e.UNIQUE=`UNIQUE`,e.VLOOKUP=`VLOOKUP`,e.VSTACK=`VSTACK`,e.WRAPCOLS=`WRAPCOLS`,e.WRAPROWS=`WRAPROWS`,e.XLOOKUP=`XLOOKUP`,e.XMATCH=`XMATCH`,e}({}),K=function(e){return e.ABS=`ABS`,e.ACOS=`ACOS`,e.ACOSH=`ACOSH`,e.ACOT=`ACOT`,e.ACOTH=`ACOTH`,e.AGGREGATE=`AGGREGATE`,e.ARABIC=`ARABIC`,e.ASIN=`ASIN`,e.ASINH=`ASINH`,e.ATAN=`ATAN`,e.ATAN2=`ATAN2`,e.ATANH=`ATANH`,e.BASE=`BASE`,e.CEILING=`CEILING`,e.CEILING_MATH=`CEILING.MATH`,e.CEILING_PRECISE=`CEILING.PRECISE`,e.COMBIN=`COMBIN`,e.COMBINA=`COMBINA`,e.COS=`COS`,e.COSH=`COSH`,e.COT=`COT`,e.COTH=`COTH`,e.CSC=`CSC`,e.CSCH=`CSCH`,e.DECIMAL=`DECIMAL`,e.DEGREES=`DEGREES`,e.EVEN=`EVEN`,e.EXP=`EXP`,e.FACT=`FACT`,e.FACTDOUBLE=`FACTDOUBLE`,e.FLOOR=`FLOOR`,e.FLOOR_MATH=`FLOOR.MATH`,e.FLOOR_PRECISE=`FLOOR.PRECISE`,e.GCD=`GCD`,e.INT=`INT`,e.ISO_CEILING=`ISO.CEILING`,e.LCM=`LCM`,e.LET=`LET`,e.LN=`LN`,e.LOG=`LOG`,e.LOG10=`LOG10`,e.MDETERM=`MDETERM`,e.MINVERSE=`MINVERSE`,e.MMULT=`MMULT`,e.MOD=`MOD`,e.MROUND=`MROUND`,e.MULTINOMIAL=`MULTINOMIAL`,e.MUNIT=`MUNIT`,e.ODD=`ODD`,e.PI=`PI`,e.POWER=`POWER`,e.PRODUCT=`PRODUCT`,e.QUOTIENT=`QUOTIENT`,e.RADIANS=`RADIANS`,e.RAND=`RAND`,e.RANDARRAY=`RANDARRAY`,e.RANDBETWEEN=`RANDBETWEEN`,e.ROMAN=`ROMAN`,e.ROUND=`ROUND`,e.ROUNDBANK=`ROUNDBANK`,e.ROUNDDOWN=`ROUNDDOWN`,e.ROUNDUP=`ROUNDUP`,e.SEC=`SEC`,e.SECH=`SECH`,e.SERIESSUM=`SERIESSUM`,e.SEQUENCE=`SEQUENCE`,e.SIGN=`SIGN`,e.SIN=`SIN`,e.SINH=`SINH`,e.SQRT=`SQRT`,e.SQRTPI=`SQRTPI`,e.SUBTOTAL=`SUBTOTAL`,e.SUM=`SUM`,e.SUMIF=`SUMIF`,e.SUMIFS=`SUMIFS`,e.SUMPRODUCT=`SUMPRODUCT`,e.SUMSQ=`SUMSQ`,e.SUMX2MY2=`SUMX2MY2`,e.SUMX2PY2=`SUMX2PY2`,e.SUMXMY2=`SUMXMY2`,e.TAN=`TAN`,e.TANH=`TANH`,e.TRUNC=`TRUNC`,e}({}),q=function(e){return e.AVEDEV=`AVEDEV`,e.AVERAGE=`AVERAGE`,e.AVERAGE_WEIGHTED=`AVERAGE.WEIGHTED`,e.AVERAGEA=`AVERAGEA`,e.AVERAGEIF=`AVERAGEIF`,e.AVERAGEIFS=`AVERAGEIFS`,e.BETA_DIST=`BETA.DIST`,e.BETA_INV=`BETA.INV`,e.BINOM_DIST=`BINOM.DIST`,e.BINOM_DIST_RANGE=`BINOM.DIST.RANGE`,e.BINOM_INV=`BINOM.INV`,e.CHISQ_DIST=`CHISQ.DIST`,e.CHISQ_DIST_RT=`CHISQ.DIST.RT`,e.CHISQ_INV=`CHISQ.INV`,e.CHISQ_INV_RT=`CHISQ.INV.RT`,e.CHISQ_TEST=`CHISQ.TEST`,e.CONFIDENCE_NORM=`CONFIDENCE.NORM`,e.CONFIDENCE_T=`CONFIDENCE.T`,e.CORREL=`CORREL`,e.COUNT=`COUNT`,e.COUNTA=`COUNTA`,e.COUNTBLANK=`COUNTBLANK`,e.COUNTIF=`COUNTIF`,e.COUNTIFS=`COUNTIFS`,e.COVARIANCE_P=`COVARIANCE.P`,e.COVARIANCE_S=`COVARIANCE.S`,e.DEVSQ=`DEVSQ`,e.EXPON_DIST=`EXPON.DIST`,e.F_DIST=`F.DIST`,e.F_DIST_RT=`F.DIST.RT`,e.F_INV=`F.INV`,e.F_INV_RT=`F.INV.RT`,e.F_TEST=`F.TEST`,e.FISHER=`FISHER`,e.FISHERINV=`FISHERINV`,e.FORECAST=`FORECAST`,e.FORECAST_ETS=`FORECAST.ETS`,e.FORECAST_ETS_CONFINT=`FORECAST.ETS.CONFINT`,e.FORECAST_ETS_SEASONALITY=`FORECAST.ETS.SEASONALITY`,e.FORECAST_ETS_STAT=`FORECAST.ETS.STAT`,e.FORECAST_LINEAR=`FORECAST.LINEAR`,e.FREQUENCY=`FREQUENCY`,e.GAMMA=`GAMMA`,e.GAMMA_DIST=`GAMMA.DIST`,e.GAMMA_INV=`GAMMA.INV`,e.GAMMALN=`GAMMALN`,e.GAMMALN_PRECISE=`GAMMALN.PRECISE`,e.GAUSS=`GAUSS`,e.GEOMEAN=`GEOMEAN`,e.GROWTH=`GROWTH`,e.HARMEAN=`HARMEAN`,e.HYPGEOM_DIST=`HYPGEOM.DIST`,e.INTERCEPT=`INTERCEPT`,e.KURT=`KURT`,e.LARGE=`LARGE`,e.LINEST=`LINEST`,e.LOGEST=`LOGEST`,e.LOGNORM_DIST=`LOGNORM.DIST`,e.LOGNORM_INV=`LOGNORM.INV`,e.MARGINOFERROR=`MARGINOFERROR`,e.MAX=`MAX`,e.MAXA=`MAXA`,e.MAXIFS=`MAXIFS`,e.MEDIAN=`MEDIAN`,e.MIN=`MIN`,e.MINA=`MINA`,e.MINIFS=`MINIFS`,e.MODE_MULT=`MODE.MULT`,e.MODE_SNGL=`MODE.SNGL`,e.NEGBINOM_DIST=`NEGBINOM.DIST`,e.NORM_DIST=`NORM.DIST`,e.NORM_INV=`NORM.INV`,e.NORM_S_DIST=`NORM.S.DIST`,e.NORM_S_INV=`NORM.S.INV`,e.PEARSON=`PEARSON`,e.PERCENTILE_EXC=`PERCENTILE.EXC`,e.PERCENTILE_INC=`PERCENTILE.INC`,e.PERCENTRANK_EXC=`PERCENTRANK.EXC`,e.PERCENTRANK_INC=`PERCENTRANK.INC`,e.PERMUT=`PERMUT`,e.PERMUTATIONA=`PERMUTATIONA`,e.PHI=`PHI`,e.POISSON_DIST=`POISSON.DIST`,e.PROB=`PROB`,e.QUARTILE_EXC=`QUARTILE.EXC`,e.QUARTILE_INC=`QUARTILE.INC`,e.RANK_AVG=`RANK.AVG`,e.RANK_EQ=`RANK.EQ`,e.RSQ=`RSQ`,e.SKEW=`SKEW`,e.SKEW_P=`SKEW.P`,e.SLOPE=`SLOPE`,e.SMALL=`SMALL`,e.STANDARDIZE=`STANDARDIZE`,e.STDEV_P=`STDEV.P`,e.STDEV_S=`STDEV.S`,e.STDEVA=`STDEVA`,e.STDEVPA=`STDEVPA`,e.STEYX=`STEYX`,e.T_DIST=`T.DIST`,e.T_DIST_2T=`T.DIST.2T`,e.T_DIST_RT=`T.DIST.RT`,e.T_INV=`T.INV`,e.T_INV_2T=`T.INV.2T`,e.T_TEST=`T.TEST`,e.TREND=`TREND`,e.TRIMMEAN=`TRIMMEAN`,e.VAR_P=`VAR.P`,e.VAR_S=`VAR.S`,e.VARA=`VARA`,e.VARPA=`VARPA`,e.WEIBULL_DIST=`WEIBULL.DIST`,e.Z_TEST=`Z.TEST`,e}({}),J=function(e){return e.ASC=`ASC`,e.ARRAYTOTEXT=`ARRAYTOTEXT`,e.BAHTTEXT=`BAHTTEXT`,e.CHAR=`CHAR`,e.CLEAN=`CLEAN`,e.CODE=`CODE`,e.CONCAT=`CONCAT`,e.CONCATENATE=`CONCATENATE`,e.DBCS=`DBCS`,e.DOLLAR=`DOLLAR`,e.EXACT=`EXACT`,e.FIND=`FIND`,e.FINDB=`FINDB`,e.FIXED=`FIXED`,e.LEFT=`LEFT`,e.LEFTB=`LEFTB`,e.LEN=`LEN`,e.LENB=`LENB`,e.LOWER=`LOWER`,e.MID=`MID`,e.MIDB=`MIDB`,e.NUMBERSTRING=`NUMBERSTRING`,e.NUMBERVALUE=`NUMBERVALUE`,e.PHONETIC=`PHONETIC`,e.PROPER=`PROPER`,e.REGEXEXTRACT=`REGEXEXTRACT`,e.REGEXMATCH=`REGEXMATCH`,e.REGEXREPLACE=`REGEXREPLACE`,e.REPLACE=`REPLACE`,e.REPLACEB=`REPLACEB`,e.REPT=`REPT`,e.RIGHT=`RIGHT`,e.RIGHTB=`RIGHTB`,e.SEARCH=`SEARCH`,e.SEARCHB=`SEARCHB`,e.SUBSTITUTE=`SUBSTITUTE`,e.T=`T`,e.TEXT=`TEXT`,e.TEXTAFTER=`TEXTAFTER`,e.TEXTBEFORE=`TEXTBEFORE`,e.TEXTJOIN=`TEXTJOIN`,e.TEXTSPLIT=`TEXTSPLIT`,e.TRIM=`TRIM`,e.UNICHAR=`UNICHAR`,e.UNICODE=`UNICODE`,e.UPPER=`UPPER`,e.VALUE=`VALUE`,e.VALUETOTEXT=`VALUETOTEXT`,e.CALL=`CALL`,e.EUROCONVERT=`EUROCONVERT`,e.REGISTER_ID=`REGISTER.ID`,e}({}),ro=function(e){return e.ENCODEURL=`ENCODEURL`,e.FILTERXML=`FILTERXML`,e.WEBSERVICE=`WEBSERVICE`,e}({});const io=[eo,U,W,to,no,G,K,q,J,ro],ao=new Set(io.flatMap(e=>Object.values(e)).filter(e=>/^[A-Z]{1,3}$/.test(e)).filter(e=>{let t=oe(e);return t>0&&t<=v})),oo=new Be(5e3);function so(e,t,n,r,i){let a=oo.get(`${e}${t}`);if(a&&!co(a,i))return a;let o=n.treeBuilder(t);return Ve.has(o)?Xa.create(o):(a=r.parse(o),a==null?(console.error(`generateAstNode astNode is null`),Xa.create(o)):(oo.set(`${e}${t}`,a),a))}function co(e,t){let n=t.getDirtyDefinedNameMap(),r=t.getExecuteUnitId();if(r!=null&&n[r]!=null){let t=Object.keys(n[r]);for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e.hasDefinedName(r))return!0}}return!1}function lo(e,t,n){return!!(t!=null&&co(t,n))}const uo=se(`univer.formula-function.service`);var fo=class extends s{constructor(...e){super(...e),E(this,`_functionExecutors`,new Map),E(this,`_functionDescriptions`,new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionExecutors.set(n.name,n)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionExecutors.delete(n)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.set(n.functionName,n)}return be(()=>{for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.delete(n.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.delete(n)}}deleteFormulaAstCacheKey(...e){oo.forEach((t,n)=>{e.forEach(e=>{n.includes(e)&&oo.delete(n)})})}};let po=function(e){return e.COMPARE=`COMPARE`,e.DIVIDED=`DIVIDED`,e.MINUS=`MINUS`,e.MULTIPLY=`MULTIPLY`,e.PLUS=`PLUS`,e.UNION=`UNION`,e.CUBE=`CUBE`,e}({});var mo=class extends Ya{constructor(e,t,n){super(t),this._runtimeService=e,this._operatorString=t,this._functionExecutor=n}get nodeType(){return H.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error(`PrefixNode execute value is null`),this.setValue(j.create(D.VALUE));return}this._operatorString===Ye.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(R.create(0),e)):t=this._operatorString===Ye.AT?this._handlerAT(e):j.create(D.VALUE),this.setValue(t)}_handlerAT(e){if(!e.isReferenceObject())return j.create(D.VALUE);let t=e;if(t.isCell())return j.create(D.VALUE);let n=this._runtimeService,r=n.currentRow||0,i=n.currentColumn||0,{startRow:a,startColumn:o,endRow:s,endColumn:c}=t.getRangePosition();return c!==o&&s!==a||a===s&&o===c?j.create(D.VALUE):s===a&&i>=o&&i<=c?t.getCellByColumn(i):o===c&&r>=a&&r<=s?t.getCellByRow(r):t.isTable()?t.getCellByPosition(r):j.create(D.VALUE)}};let ho=class extends Za{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Ja.get(H.PREFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof F))return;let t=e.getToken(),n=t.trim();if(n.charAt(0)===`"`&&n.charAt(n.length-1)===`"`)return;let r=``;if(n===Ye.MINUS)r=po.MINUS;else if(n===Ye.AT)return new mo(this._runtimeService,n);else return;let i=this._functionService.getExecutor(r);return i?new mo(this._runtimeService,n,i):(console.error(`No function ${t}`),Xa.create(D.NAME))}};ho=dr([P(0,uo),P(1,qa)],ho);function go(e,t,n){let r,i,a=e,o=a[0],s=0;if(o===Ye.MINUS){let e=t.getExecutor(po.MINUS);r=new mo(n,Ye.MINUS,e),s++}else o===Ye.AT&&(i=new mo(n,Ye.AT),r&&i.setParent(r),s++);return s>0&&(a=a.slice(s)),{tokenTrim:a,minusPrefixNode:r,atPrefixNode:i}}var _o=class extends Ya{constructor(e,t,n,r,i,a){super(e),this._functionExecutor=t,this._currentConfigService=n,this._runtimeService=r,this._definedNamesService=i,this._formulaDataModel=a,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 H.FUNCTION}async executeAsync(){let e=[],t=this.getChildren(),n=t.length;this._compatibility();for(let r=0;r<n;r++){let n=t[r].getValue();n!=null&&(n.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?e.push(n.toArrayValueObject()):e.push(n))}let r=await this._calculateAsync(e),i;return i=r.isAsyncObject()||r.isAsyncArrayObject()?await r.getValue():r,this._setEmbeddedArrayFormulaToResult(i),this._setRefData(i),this.setValue(i),Promise.resolve(Pe.SUCCESS)}execute(){let e=[],t=this.getChildren(),n=t.length;this._compatibility();for(let r=0;r<n;r++){let n=t[r].getValue();n!=null&&(n.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(n),n.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?e.push(n.toArrayValueObject()):e.push(n))}let r=this._calculate(e);this._setEmbeddedArrayFormulaToResult(r),this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_setEmbeddedArrayFormulaToResult(e){if(!e.isArray())return;let t=e.getRowCount(),n=e.getColumnCount();t<=1&&n<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){let e=this.getChildren(),t=e.length;if(!this._functionExecutor.needsExpandParams||t!==3)return;let n=e[1].getValue(),r=e[2].getValue();if(!(n!=null&&n.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let i,a;if(n!=null&&n.isReferenceObject()){let{startRow:e,startColumn:t,endRow:r,endColumn:o}=n.getRangeData();i=r-e+1,a=o-t+1}else i=n!=null&&n.isArray()?n.getRowCount():1,a=n!=null&&n.isArray()?n.getColumnCount():1;let o=r.getRangeData(),{startRow:s,startColumn:c,endRow:l,endColumn:u}=o,d=l-s+1,f=u-c+1;i!==d&&(o.endRow+=i-d),a!==f&&(o.endColumn+=a-f)}_handleCustomResult(e){var t;if(typeof e!=`object`||!e)return ga.create(e);let n=ma(e);return B.create({calculateValueList:n,rowCount:n.length,columnCount:((t=n[0])==null?void 0:t.length)||0,unitId:``,sheetId:``,row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(e){return e.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(e){let{minParams:t,maxParams:n}=this._functionExecutor;if(t!==-1&&n!==-1&&(e.length<t||e.length>n))return j.create(D.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){let t=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));r=this._handleCustomResult(t)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...e);return r}async _calculateAsync(e){let{minParams:t,maxParams:n}=this._functionExecutor;if(t!==-1&&n!==-1&&(e.length<t||e.length>n))return j.create(D.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){let t=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));r=this._handleCustomResult(t)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...e);return r}_setDefinedNamesForFunction(){let e=this._currentConfigService.getExecuteUnitId();if(e==null)return;let t=this._definedNamesService.getDefinedNameMap(e);t!=null&&this._functionExecutor.setDefinedNames(t)}_setRefInfo(){let{currentUnitId:e,currentSubUnitId:t,currentRow:n,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(e,t,n,r),this._functionExecutor.needsSheetRowColumnCount){let{rowCount:n,columnCount:r}=this._currentConfigService.getSheetRowColumnCount(e,t);this._functionExecutor.setSheetRowColumnCount(n,r)}}_setRefData(e){if(!e.isReferenceObject())return;let t=e;t.setForcedSheetId(this._currentConfigService.getSheetNameMap()),t.setUnitData(this._currentConfigService.getUnitData()),t.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),t.setArrayFormulaRange(this._currentConfigService.getArrayFormulaRange()),t.setRuntimeData(this._runtimeService.getUnitData()),t.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),t.setRuntimeArrayFormulaRange(this._runtimeService.getUnitArrayFormula()),t.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(e){let{startRow:t,endRow:n}=e.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(e.getUnitId(),e.getSheetId(),t,n);e.setFilteredOutRows(r)}},vo=class extends Ya{constructor(e=`Error`){super(e)}get nodeType(){return H.FUNCTION}async executeAsync(){return this.setValue(j.create(D.NAME)),Promise.resolve(Pe.SUCCESS)}execute(){this.setValue(j.create(D.NAME))}};let yo=class extends Za{constructor(e,t,n,r,i,a){super(),this._functionService=e,this._currentConfigService=t,this._runtimeService=n,this._definedNamesService=r,this._injector=i,this._formulaDataModel=a}get zIndex(){return Ja.get(H.FUNCTION)||100}create(e){let t=this._functionService.getExecutor(e);return t?new _o(e,t,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${e}`),Xa.create(D.NAME))}checkAndCreateNodeType(e){if(typeof e==`string`)return;let{tokenTrim:t,minusPrefixNode:n,atPrefixNode:r}=go(e.getToken().trim(),this._functionService,this._runtimeService),i=this._isParentUnionNode(e);if(!Number.isNaN(Number(t))&&!i)return Xa.create(D.VALUE);let a=t.toUpperCase();if(!(i&&ao.has(a))&&this._functionService.hasExecutor(a)){let e=this.create(a);return r?e.setParent(r):n&&e.setParent(n),e}}_isParentUnionNode(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken())===A.COLON}};yo=dr([P(0,uo),P(1,fi),P(2,qa),P(3,pr),P(4,f(p)),P(5,f(ai))],yo);let bo=class extends s{constructor(e){super(),this._runtimeService=e}async executeAsync(e){if(!e||!e.node)return Promise.resolve(j.create(D.VALUE));let t=e.node,n=e.refOffsetX,r=e.refOffsetY;await this._executeAsync(t,n,r);let i=t.getValue();return i==null?Promise.resolve(j.create(D.VALUE)):Promise.resolve(i)}execute(e){if(!e||!e.node)return j.create(D.VALUE);let t=e.node,n=e.refOffsetX,r=e.refOffsetY;this._execute(t,n,r);let i=t.getValue();return i==null?j.create(D.VALUE):i}executePreCalculateNode(e){return e.execute(),e.getValue()}checkAsyncNode(e){if(e==null)return!1;let t=[];this._checkAsyncNode(e,t);for(let e=0,n=t.length;e<n;e++)if(t[e]===!0)return!0;return!1}_checkAsyncNode(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];t.push(r.isAsync()),this._checkAsyncNode(r,t)}}async _executeAsync(e,t=0,n=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Pe.ERROR);let r=e.getChildren(),i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.getToken().toUpperCase()===`LAMBDA`&&i.isEmptyParamFunction()){i.execute();continue}await this._executeAsync(i,t,n)}return e.nodeType===H.REFERENCE&&e.setRefOffset(t,n),e.nodeType===H.FUNCTION&&e.isAsync()?await e.executeAsync():e.execute(),Promise.resolve(Pe.SUCCESS)}_execute(e,t=0,n=0){if(this._runtimeService.isStopExecution())return Pe.ERROR;let r=e.getChildren(),i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.getToken().toUpperCase()===`LAMBDA`&&i.isEmptyParamFunction()){i.execute();continue}this._execute(i,t,n)}return e.nodeType===H.REFERENCE&&e.setRefOffset(t,n),e.execute(),Pe.SUCCESS}};bo=dr([P(0,qa)],bo);function xo(e){return e instanceof F?e.getToken()===`L_1`:!1}function So(e){return e instanceof F?e.getToken()===Nn:!1}function Co(e,t,n){let r=e.getChildren(),i=r.length,a=r[0];for(let e=0;e<i;e++){let i=r[e];if(!(xo(a)&&e!==0))if(i instanceof F)Co(i,t,n);else{let a=i.trim();if(n.has(a)){let i=new F;i.setToken(`LR_1`),i.setLambdaId(t),i.setLambdaPrivacyVar(n),i.setLambdaParameter(a),r[e]=i}}}}function wo(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}function To(e,t=0,n=0){return{node:e,refOffsetX:t,refOffsetY:n}}function Eo(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(!n)return;let i=n.get(r);return i==null&&e.getValue()?e:Eo(i)}var Do=class e extends Xe{static create(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(0),this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=n,E(this,`_lambdaPrivacyValueMap`,new Map),this._lambdaPrivacyValueMap.clear()}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){let t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return j.create(D.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let n;if(this._interpreter.checkAsyncNode(this._lambdaNode))n=new ba(this._interpreter.executeAsync(To(this._lambdaNode)));else{let e=this._interpreter.execute(To(this._lambdaNode));n=e.isReferenceObject()?e.toArrayValueObject():e}return this._lambdaNode.setNotEmpty(!0),n}executeCustom(...e){let t=e.map(e=>ga.create(e));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;let t=e.getChildren(),n=t.length;for(let e=0;e<n;e++){let n=t[e];if(n.getToken()===`LR_1`){let e=n.getLambdaParameter(),t=this._lambdaPrivacyValueMap.get(e);if(t)n.setValue(t);else{let t=Eo(n.getCurrentLambdaPrivacyVar().get(e));t!=null&&n.setValue(t.getValue())}continue}this._setLambdaNodeValue(n)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){let n=e[t],r=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(r,n)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}},Oo=class extends Ya{constructor(e,t,n,r,i){super(e),this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=r,this._runtimeService=i,E(this,`_isNotEmpty`,!0)}get nodeType(){return H.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(Do.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{let e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let ko=class extends Za{constructor(e,t){super(),this._runtimeService=e,this._interpreter=t}get zIndex(){return Ja.get(H.LAMBDA)||100}create(e){let t=e.getChildren(),n=t[0],r=t.slice(1,-1),i=t[t.length-1];if(!(n instanceof F&&i instanceof F))return Xa.create(D.NAME);if(n.getToken()===`L_1`){let e=n.getChildren();if(r.length!==e.length)return Xa.create(D.VALUE)}else r=t.slice(0,-1);let a=ce(8),o=new Map;for(let e=0;e<r.length;e++){let t=r[e];if(t instanceof F){let e=t.getChildren()[0];t.setToken(Nn),o.set(e.trim(),void 0)}else return Xa.create(D.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(a,o),this._updateLambdaStatement(i,a,o),new Oo(e.getToken(),a,this._interpreter,[...o.keys()],this._runtimeService)}checkAndCreateNodeType(e){if(e instanceof F&&e.getToken().trim().toUpperCase()===`LAMBDA`)return this.create(e)}_updateLambdaStatement(e,t,n){Co(e,t,n)}};ko=dr([P(0,qa),P(1,f(bo))],ko);function Ao(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(n)return Ao(n.get(r))}var jo=class extends Ya{constructor(e,t,n){super(e),this._lambdaParameter=t,this._currentLambdaPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return H.LAMBDA_PARAMETER}execute(){let e=Ao(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(e)this.setValue(e.getValue());else{let e=this.getValue();(e==null||e.isError())&&this.setValue(j.create(D.NAME))}}},Mo=class extends Za{get zIndex(){return Ja.get(H.LAMBDA_PARAMETER)||100}create(e){let t=e.getFunctionDefinitionPrivacyVar(),n=e.getLambdaParameter();return t?new jo(e.getToken(),n,t):new Xa(D.NAME)}checkAndCreateNodeType(e){if(e instanceof F&&e.getToken().trim()===`LR_1`)return this.create(e)}},No=class extends Ya{constructor(e){super(e),this._operatorString=e}get nodeType(){return H.NULL}execute(){this.setValue(I.create())}},Po=class extends Ya{constructor(e,t,n){super(e),this._functionExecutor=t,this._runtimeService=n}get nodeType(){return H.OPERATOR}execute(){let e=this.getChildren();this._functionExecutor.name===po.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let t=e[0],n=e[1],r=t==null?void 0:t.getValue(),i=n==null?void 0:n.getValue(),a=this.getToken();if((r==null||i==null)&&a!==O.MINUS&&a!==O.PLUS){this.setValue(j.create(D.VALUE));return}r==null&&(r=I.create()),i==null&&(i=I.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());let o=this._functionExecutor.calculate(r,i);this._setEmbeddedArrayFormulaToResult(o),this.setValue(o)}_setEmbeddedArrayFormulaToResult(e){if(!e.isArray())return;let t=e.getRowCount(),n=e.getColumnCount();t<=1&&n<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let Fo=class extends Za{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Ja.get(H.OPERATOR)||100}create(e){let t=``,n=e;n===O.PLUS?t=po.PLUS:n===O.MINUS?t=po.MINUS:n===O.MULTIPLY?t=po.MULTIPLY:n===O.DIVIDED?t=po.DIVIDED:n===O.CONCATENATE?t=J.CONCATENATE:n===O.POWER?t=K.POWER:Ke.has(n)&&(t=po.COMPARE);let r=this._functionService.getExecutor(t);return r?new Po(n,r,this._runtimeService):(console.error(`No function ${e}`),Xa.create(D.NAME))}checkAndCreateNodeType(e){if(e instanceof F)return;let t=e.trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&Ge.has(t))return this.create(t)}};Fo=dr([P(0,uo),P(1,qa)],Fo);var Io=class extends ya{constructor(e,t,n,r){super(e),this._tableData=t,this._columnDataString=n,this._tableOptionMap=r,E(this,`_isCurrentRowForRange`,!1);let{sheetId:i,range:a,titleMap:o}=this._tableData;this.setForcedSheetIdDirect(i);let{startColumn:s,endColumn:c,type:l}=this._parseStructuredRef(this._columnDataString,o),u=a.startRow,d=a.endRow,f=-1,p=-1;switch(l){case Fe.ALL:f=u,p=d;break;case Fe.DATA:f=u+1,p=d;break;case Fe.HEADERS:f=u,p=u;break;case Fe.TOTALS:f=d,p=d;break;case Fe.THIS_ROW:{let e=this._resolveThisRow(u,d);f=e,p=e;break}default:f=u+1,p=d;break}this.setRangeData({startColumn:s,endColumn:c,startRow:f,endRow:p})}getRangeData(){let e=super.getRangeData();if(this._isCurrentRowForRange){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=e,a=this.getCurrentRow();return{startRow:a==null?t:a,endRow:a==null?r:a,startColumn:n,endColumn:i}}return e}getRefOffset(){return{x:0,y:0}}isTable(){return!0}isCurrentRowForRange(){return this._isCurrentRowForRange}setForcedSheetId(e){}_parseStructuredRef(e,t){var n,r;let{range:i}=this._tableData,a=(n=i.startColumn)==null?0:n,o=(r=i.endColumn)==null?0:r;if(!e||e.trim().length===0)return{startColumn:a,endColumn:o,type:Fe.DATA};let s=e.trim();if(s[0]!==`[`){let e=this._mapSection(s);if(e!==void 0)return{startColumn:a,endColumn:o,type:e};let{startColumn:n,endColumn:r}=this._parseColumnOrRange(s,t,a);return{startColumn:n,endColumn:r,type:Fe.DATA}}let c=this._stripOuterBracketOnce(s),l=this._findCommaAtTopLevel(c);if(c.length===0)return{startColumn:a,endColumn:o,type:Fe.DATA};if(l===-1){if(c.startsWith(`#`)){let e=this._mapSection(c);return e===void 0?{startColumn:a,endColumn:o,type:Fe.DATA}:{startColumn:a,endColumn:o,type:e}}let{startColumn:e,endColumn:n}=this._parseColumnOrRange(c,t,a);return{startColumn:e,endColumn:n,type:Fe.DATA}}let u=c.slice(0,l).trim(),d=c.slice(l+1).trim(),f=this._parseSectionMaybeBracketed(u),{startColumn:p,endColumn:m}=this._parseColumnOrRange(d,t,a);return{startColumn:p,endColumn:m,type:f}}_stripOuterBracketOnce(e){return e.length>=2&&e[0]===`[`&&e[e.length-1]===`]`?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t=Math.max(0,t-1);else if(r===A.COMMA&&t===0)return n}return-1}_parseSectionMaybeBracketed(e){let t=e.trim(),n=t.startsWith(`[`)&&t.endsWith(`]`)?this._stripOuterBracketOnce(t):t,r=this._mapSection(n);return r==null?Fe.DATA:r}_mapSection(e){let t=e.trim();if(!t.startsWith(`#`))return;let n=this._tableOptionMap.get(t);if(n!==void 0)return n;let r=t.replace(/\s+/g,` `).toLowerCase();for(let[e,t]of this._tableOptionMap.entries())if(e.replace(/\s+/g,` `).toLowerCase()===r)return t}_parseColumnOrRange(e,t,n){let r=e.trim(),i=this._findColonAtTopLevel(r);if(i===-1){let e=this._stripOuterBracketIfAny(r),i=this._titleToIndex(e,t);return{startColumn:n+i,endColumn:+n+i}}let a=r.slice(0,i).trim(),o=r.slice(i+1).trim(),s=this._stripOuterBracketIfAny(a),c=this._stripOuterBracketIfAny(o),l=this._titleToIndex(s,t),u=this._titleToIndex(c,t);return l!==-1&&u!==-1&&l>u?{startColumn:n+u,endColumn:n+l}:{startColumn:n+l,endColumn:n+u}}_stripOuterBracketIfAny(e){return e.length>=2&&e[0]===`[`&&e[e.length-1]===`]`?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t=Math.max(0,t-1);else if(r===A.COLON&&t===0)return n}return-1}_titleToIndex(e,t){var n;let r=e.trim(),i=t.get(r);if(i!==void 0)return i;let a=r.replace(/\u3000/g,` `).trim();return(n=t.get(a))==null?-1:n}_resolveThisRow(e,t){return this._isCurrentRowForRange=!0,Math.min(e+1,t)}},Lo=class extends Ya{constructor(e,t,n,r,i=!1,a){super(n),this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=r,this._isPrepareMerge=i,this._tableReferenceObject=a,E(this,`_refOffsetX`,0),E(this,`_refOffsetY`,0)}get nodeType(){return H.REFERENCE}execute(){let e=this._currentConfigService,t=this._runtimeService,n=this._tableReferenceObject||Ba(this.getToken(),this._referenceObjectType);n.setDefaultUnitId(t.currentUnitId),n.setDefaultSheetId(t.currentSubUnitId),n.setForcedSheetId(e.getSheetNameMap()),n.setUnitData(e.getUnitData()),n.setArrayFormulaCellData(e.getArrayFormulaCellData()),n.setArrayFormulaRange(e.getArrayFormulaRange()),n.setRuntimeData(t.getUnitData()),n.setUnitStylesData(e.getUnitStylesData()),n.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),n.setRuntimeArrayFormulaRange(t.getUnitArrayFormula()),n.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());let r=t.currentRow,i=t.currentColumn;n.setCurrentRowAndColumn(r,i);let{x:a,y:o}=this.getRefOffset();n.setRefOffset(a,o),!this._isPrepareMerge&&n.isExceedRange()?this.setValue(j.create(D.NAME)):this.setValue(n)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}};let Ro=class extends Za{constructor(e,t,n,r){super(),this._currentConfigService=e,this._formulaRuntimeService=t,this._functionService=n,this._superTableService=r}get zIndex(){return Ja.get(H.REFERENCE)||100}checkAndCreateNodeType(e){let t=!1,n,r=!1;if(e instanceof F){var i;t=!0,n=e.getToken().trim(),((i=e.getParent())==null||(i=i.getParent())==null?void 0:i.getToken().trim())===A.COLON&&(r=!0)}else n=e.trim();let{tokenTrim:a,minusPrefixNode:o,atPrefixNode:s}=go(n,this._functionService,this._formulaRuntimeService);if(!t&&a.charAt(0)===`"`&&a.charAt(a.length-1)===`"`)return;let c=this._getNode(a,t,r,e);if(c)return s?c.setParent(s):o&&c.setParent(o),c}_getTableMap(){let e=this._currentConfigService.getExecuteUnitId();if(e)return this._superTableService.getTableMap(e)}_getNode(e,t,n,r){var i;let a=this._currentConfigService,o=this._formulaRuntimeService,s=t=>new Lo(a,o,e,t,n),c=this._getTableMap();if((i=c==null?void 0:c.has(e))!=null&&i)return this._getTableReferenceNode(e,t,n,!0);if(gn(e))return s(za.CELL);let l=t&&this._checkParentIsUnionOperator(r);return l&&bn(e)?s(za.ROW):l&&xn(e)?s(za.COLUMN):this._getTableReferenceNode(e,t,n,!1)}_getTableReferenceNode(e,t,n,r=!1){if(!this._checkTokenIsTableReference(e)&&!r)return;let{tableName:i,columnStruct:a}=ur(e),o=this._getTableMap();if(!t&&o!=null&&o.has(i)){let t=a,r=o.get(i),s=this._superTableService.getTableOptionMap();return new Lo(this._currentConfigService,this._formulaRuntimeService,e,za.COLUMN,n,new Io(e,r,t,s))}}_checkTokenIsTableReference(e){return Sn(e)||Cn(e)||wn(e)||Tn(e)}_checkParentIsUnionOperator(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken().trim())===A.COLON}};Ro=dr([P(0,fi),P(1,qa),P(2,uo),P(3,zr)],Ro);var zo=class extends Ya{constructor(e,t,n,r){super(n),this._currentConfigService=e,this._lexer=t,this._operatorString=n,this._functionExecutor=r}get nodeType(){return H.SUFFIX}execute(){var e;let t=(e=this.getChildren()[0])==null?void 0:e.getValue(),n;if(t==null){this.setValue(j.create(D.ERROR));return}if(this._operatorString===qe.PERCENTAGE){if(t.isReferenceObject()&&(t=t.toArrayValueObject()),n=this._functionExecutor.calculate(t,R.create(100)),n.isNumber()){let e=Number(n.getValue());n=R.create(e,`0.00%`)}}else n=this._operatorString===qe.POUND?this._handlerPound(t):j.create(D.VALUE);this.setValue(n)}_handlerPound(e){var t;if(!e.isReferenceObject()||!e.isCell())return j.create(D.VALUE);let n=e,r=n.getRangePosition(),i=n.getUnitId(),a=n.getSheetId(),o=this._currentConfigService.getFormulaData(),s=o==null||(t=o[i])==null||(t=t[a])==null||(t=t[r.startRow])==null||(t=t[r.startColumn])==null?void 0:t.f;return s&&this._lexer.treeBuilder(s),j.create(D.VALUE)}};let Bo=class extends Za{constructor(e,t,n){super(),this._functionService=e,this._lexer=t,this._currentConfigService=n}get zIndex(){return Ja.get(H.SUFFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof F))return;let t=e.getToken().trim();if(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)return;let n=``;if(t===qe.PERCENTAGE)n=po.DIVIDED;else if(t===qe.POUND)return new zo(this._currentConfigService,this._lexer,t);else return;let r=this._functionService.getExecutor(n);return r?new zo(this._currentConfigService,this._lexer,t,r):(console.error(`No function ${e}`),Xa.create(D.NAME))}};Bo=dr([P(0,uo),P(1,f(pi)),P(2,fi)],Bo);var Vo=class extends Ya{constructor(e){super(e)}get nodeType(){return H.UNION}execute(){let e=this.getChildren(),t=e[0],n=e[1],r=t.getValue(),i=n.getValue();if(r==null||i==null){console.error(`UnionNode execute leftNode or rightNode is null`),this.setValue(j.create(D.VALUE));return}let a;a=this.getToken()===A.COLON?this._unionFunction(r,i):j.create(D.NAME),this.setValue(a)}_unionFunction(e,t){return e.isError()||t.isError()||!e.isReferenceObject()||!t.isReferenceObject()?j.create(D.REF):(e=e,t=t,Va(e,t))}};let Ho=class extends Za{constructor(e){super(),this._functionService=e}get zIndex(){return Ja.get(H.UNION)||100}create(e){return new Vo(e)}checkAndCreateNodeType(e){if(!(e instanceof F))return;let t=e.getToken().trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&t===A.COLON)return this.create(t)}};Ho=dr([P(0,uo)],Ho);var Uo=class extends Ya{constructor(e){super(e)}get nodeType(){return H.VALUE}execute(){let e=this.getParent(),t=!0;if((e==null?void 0:e.nodeType)===H.FUNCTION){var n,r;t=(n=(r=e.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(e))==null?!0:n}this.setValue(ga.create(this.getToken(),t))}},Wo=class extends Za{get zIndex(){return Ja.get(H.VALUE)||100}_checkValueNode(e){if(Number.isNaN(Number(e))){let t=e.trim(),n=t.charAt(0),r=t.charAt(t.length-1);if(Ve.has(t)||n===`"`&&r===`"`||n===`{`&&r===`}`)return this.create(t);let i=t.toUpperCase();if(i===Ne.TRUE||i===Ne.FALSE)return this.create(i)}else return this.create(e)}create(e){return new Uo(e)}checkAndCreateNodeType(e){if(!(e instanceof F))return this._checkValueNode(e)}};let Go=class extends s{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=n,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=s,this._suffixNodeFactory=c,this._unionNodeFactory=l,this._valueNodeFactory=u,E(this,`_astNodeFactoryList`,[]),this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){let t=new Qa(`R_1`),n=this._parse(e,t);return e.hasDefinedNames()&&(n==null||n.setDefinedNames(e.getDefinedNames())),n}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return Xa.create(D.VALUE);let n=t.getLambdaId(),r=new Qa(`R_1`),i=this._runtimeService.getFunctionDefinitionPrivacyVar(n);if(!i)return!1;let a=[...i.keys()],o=e.getChildren(),s=o.length;for(let e=0;e<s;e++){let t=o[e];if(t instanceof F){Co(t,n,i),this._parse(t,r);let o=r.getChildren()[e];o!=null&&i.set(a[e],o)}else return!1}return r.setParent(t),t}_changeLetToLambda(e){let t=e.getChildren(),n=t.length;if(n%2!=1||n===0)return;let r=new F;r.setToken(Fn);let i=new F;i.setToken(`L_1`);let a=[...t];for(let e=0;e<n;e++){let t=a[e];if(!(t instanceof F))return;e%2==0?t.changeToParent(r):t.changeToParent(i)}r.addChildrenFirst(i),i.setParent(r);let o=e.getParent();return o==null||o.replaceChild(e,r),r}_parse(e,t){let n=e.getChildren(),r=n.length,i=[],a=null,o=e.getToken().trim().toUpperCase();if(o===`LET`){let n=this._changeLetToLambda(e);return n==null?Xa.create(D.ERROR):this._parse(n,t)}if(o===`P_1`){if(a=t,r===0)return new No(`R_1`).setParent(t),a}else{if(o===`L_1`){let n=this._lambdaParameterHandler(e,t);return n===!1&&(n=Xa.create(D.ERROR)),n}if(a=this._checkAstNode(e),a==null)return Xa.create(D.NAME)}let s=n[0];for(let e=0;e<r;e++){let t=n[e];if(xo(s)){if(e!==0&&e!==r-1)continue}else if(So(t)&&e!==r-1)continue;let o=null;if(t instanceof F){if(t.getToken()===`P_1`&&t.getChildren().length===0){var c;let e=(c=t.getParent())==null?void 0:c.getChildren();if(e&&e.length===1)return Xa.create(D.NAME)}if(o=this._parse(t,a),o===a)continue}else o=this._checkAstNode(t);if(o==null)return Xa.create(D.NAME);if(o=wo(o),o==null||(o==null?void 0:o.nodeType)===H.ERROR)return o;switch(o.nodeType){case H.FUNCTION:{let e=o.getToken().trim().toUpperCase();In.has(e)&&o.setForcedCalculateFunction(),i.push(o);break}case H.LAMBDA:i.push(o);break;case H.LAMBDA_PARAMETER:i.push(o);break;case H.OPERATOR:{let e=i.pop(),t=i.pop();t&&t.setParent(o),e&&e.setParent(o),i.push(o);break}case H.REFERENCE:i.push(o);break;case H.ROOT:i.push(o);break;case H.UNION:i.push(o);break;case H.VALUE:i.push(o);break;case H.PREFIX:i.push(o);break;case H.SUFFIX:i.push(o);break}}let l=i.length;for(let e=0;e<l;e++)i[e].setParent(a);return a}_checkAstNode(e){let t=null,n=this._astNodeFactoryList.length;for(let r=0;r<n&&(t=this._astNodeFactoryList[r].checkAndCreateNodeType(e),t==null);r++);return t==null?new vo: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(ye)}};Go=dr([P(0,qa),P(1,f($a)),P(2,f(yo)),P(3,f(ko)),P(4,f(Mo)),P(5,f(Fo)),P(6,f(ho)),P(7,f(Ro)),P(8,f(Bo)),P(9,f(Ho)),P(10,f(Wo))],Go);var Ko=class extends s{constructor(...e){super(...e),E(this,`_otherFormulaData`,new Map),E(this,`_featureFormulaData`,new Map),E(this,`_formulaData`,new Map),E(this,`_definedNameMap`,new Map),E(this,`_otherFormulaDataMainData`,new Set),E(this,`_dependencyRTreeCache`,new ee),E(this,`_dependencyTreeIdLast`,0)}buildDependencyTree(e,t){throw Error(`Method not implemented.`)}getTreeById(e){throw Error(`Method not implemented.`)}getAllTree(){throw Error(`Method not implemented.`)}reset(){throw Error(`Method not implemented.`)}addOtherFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}removeOtherFormulaDependency(e,t,n){throw Error(`Method not implemented.`)}clearOtherFormulaDependency(e,t){throw Error(`Method not implemented.`)}addFeatureFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}removeFeatureFormulaDependency(e,t,n){throw Error(`Method not implemented.`)}clearFeatureFormulaDependency(e,t){throw Error(`Method not implemented.`)}addFormulaDependency(e,t,n,r,i){throw Error(`Method not implemented.`)}removeFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}clearFormulaDependency(e,t){throw Error(`Method not implemented.`)}removeFormulaDependencyByDefinedName(e,t){throw Error(`Method not implemented.`)}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,n){var r;return(r=this._otherFormulaData.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,n){var r;return(r=this._featureFormulaData.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getFormulaDependency(e,t,n,r){var i;return(i=this._formulaData.get(e))==null||(i=i.get(t))==null?void 0:i.getValue(n,r)}addDependencyRTreeCache(e){let t=[];for(let n=0;n<e.rangeList.length;n++){let{unitId:r,sheetId:i,range:a}=e.rangeList[n];t.push({unitId:r,sheetId:i,range:a,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){let e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw Error(`Method not implemented.`)}_addDefinedName(e,t,n){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);let r=this._definedNameMap.get(e);r.has(t)||r.set(t,new Set),r.get(t).add(n)}addFormulaDependencyByDefinedName(e,t){let n=e.treeId,r=(t==null?void 0:t.getDefinedNames())||[];for(let t of r)this._addDefinedName(e.unitId,t,n)}updateDependencyTreeDirtyState(e,t){throw Error(`Method not implemented.`)}},qo=class extends Ko{constructor(...e){super(...e),E(this,`_allTreeMap`,new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){let n=this.getAllTree();return e.length===0?(this._buildReverseDependency(n,t),n):(this._buildDependencyTree(n,e),this._buildReverseDependency(n,e),n)}_buildDependencyTree(e,t){let n=new Map;for(let e=0;e<t.length;e++){let r=t[e];n.set(r.treeId,r)}for(let t=0;t<e.length;t++){let r=e[t],i=r.toRTreeItem(),a=this._dependencyRTreeCache.bulkSearch(i);for(let e of a){let t=n.get(e);t&&r!==t&&!t.hasChildren(r.treeId)&&t.pushChildren(r)}}n.clear()}_buildReverseDependency(e,t){let n=new Map;for(let t=0;t<e.length;t++){let r=e[t];n.set(r.treeId,r)}for(let e=0;e<t.length;e++){let r=t[e],i=r.toRTreeItem(),a=this._dependencyRTreeCache.bulkSearch(i);for(let e of a){let t=n.get(e);t&&r!==t&&!t.hasChildren(r.treeId)&&t.pushChildren(r)}}n.clear()}getAllTree(){let 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,n,r){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);let i=this._otherFormulaData.get(e);i.has(t)||i.set(t,new Map);let a=i.get(t);a.has(n)||a.set(n,new b),a.get(n).setValue(r.refOffsetX,r.refOffsetY,r.treeId),this._addAllTreeMap(r)}removeOtherFormulaDependency(e,t,n){let r=this._otherFormulaData.get(e);if(r&&r.has(t)){let i=r.get(t);n.forEach(e=>{let t=i.get(e);t!=null&&(t.forValue((e,t,n)=>{this._removeDependencyRTreeCache(n),this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)}),i.delete(e),this._otherFormulaDataMainData.delete(e))}),i.size===0&&r.delete(t),r.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){let n=this._otherFormulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of r.keys()){let t=r.get(e);t!=null&&(t.forValue((e,t,n)=>{let r=this._allTreeMap.get(n);r&&(this.clearDependencyForTree(r),this._removeAllTreeMap(n))}),this._otherFormulaDataMainData.delete(e))}r.clear()}else if(n){for(let t of n.keys()){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of r.keys()){let t=r.get(e);t!=null&&(t.forValue((e,t,n)=>{let r=this._allTreeMap.get(n);r&&(this.clearDependencyForTree(r),this._removeAllTreeMap(n))}),this._otherFormulaDataMainData.delete(e))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,n,r){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);let i=this._featureFormulaData.get(e);i.has(t)||i.set(t,new Map),i.get(t).set(n,r.treeId),this._addAllTreeMap(r)}removeFeatureFormulaDependency(e,t,n){let r=this._featureFormulaData.get(e);if(r&&r.has(t)){let e=r.get(t);n.forEach(t=>{let n=e.get(t);n!=null&&(this._removeDependencyRTreeCache(n),e.delete(t),this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n))})}}clearFeatureFormulaDependency(e,t){let n=this._featureFormulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t),r.forEach(e=>{e!=null&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))}),r.clear()}else n&&(n.forEach((t,n)=>{this._removeDependencyRTreeCacheById(e,n),t.forEach(e=>{e!=null&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,n,r,i){this._formulaData.has(e)||this._formulaData.set(e,new Map);let a=this._formulaData.get(e);a.has(t)||a.set(t,new b),a.get(t).setValue(n,r,i.treeId),this._addAllTreeMap(i)}removeFormulaDependency(e,t,n,r){let i=this._formulaData.get(e);if(i&&i.has(t)){let e=i.get(t),a=e.getValue(n,r);if(a==null)return;this._removeDependencyRTreeCache(a),e.realDeleteValue(n,r),this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a)}}clearFormulaDependency(e,t){let n=this._formulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t),r.forValue((e,t,n)=>{if(n==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)}),r.reset()}else n&&(n.forEach((t,n)=>{this._removeDependencyRTreeCacheById(e,n),t.forValue((e,t,n)=>{if(n==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;let t=e.parents,n=e.children,r=this._allTreeMap;for(let n of t){let t=r.get(n);t==null||t.children.delete(e.treeId)}for(let t of n){let n=r.get(t);n==null||n.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;let t=this._allTreeMap.get(e);if(t){let n=[];for(let r=0;r<t.rangeList.length;r++){let{unitId:i,sheetId:a,range:o}=t.rangeList[r];n.push({unitId:i,sheetId:a,range:o,id:e})}this._dependencyRTreeCache.bulkRemove(n)}}removeFormulaDependencyByDefinedName(e,t){let n=this._definedNameMap.get(e);if(n){let e=n.get(t);if(e){for(let t of e)this._removeDependencyRTreeCache(t),this.clearDependencyForTree(this._allTreeMap.get(t)),this._removeAllTreeMap(t);e.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}updateDependencyTreeDirtyState(e,t){let n=this._allTreeMap.get(e);n&&(n.isDirty=t)}};const Jo=se(`univer.formula.dependency-manager.service`);var Yo=class extends s{constructor(...e){super(...e),E(this,`_referenceExecutorMap`,new Map),E(this,`_onChanged$`,new we),E(this,`onChanged$`,this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,n){n.forEach(n=>{var r;(r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null||r.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:n})}get(e,t,n){var r;return(r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}has(e,t,n){var r;return!!(!((r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null)&&r.has(n))}register(e,t,n,r){let i=this._referenceExecutorMap.get(e);i||(i=new Map,this._referenceExecutorMap.set(e,i));let a=i.get(t);a||(a=new Map,i.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[n]}),a.set(n,r)}getReferenceExecutorMap(){return this._referenceExecutorMap}};const Xo=se(`univer.formula.feature-calculation-manager.service`);var Zo=class extends s{constructor(...e){super(...e),E(this,`_otherFormulaData`,{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;(t=this._otherFormulaData)==null||(t=t[n])==null||(t=t[r])==null||delete t[i]}get(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;return(t=this._otherFormulaData[n])==null||(t=t[r])==null?void 0:t[i]}has(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;return((t=this._otherFormulaData[n])==null||(t=t[r])==null?void 0:t[i])!=null}register(e){let{unitId:t,subUnitId:n,formulaId:r,item:i}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][n]||(this._otherFormulaData[t][n]={}),this._otherFormulaData[t][n][r]=i}batchRegister(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{let r=n[e];if(r==null)return!0;Object.keys(r).forEach(n=>{let i=r[n];if(i==null)return!0;this.register({unitId:t,subUnitId:e,formulaId:n,item:i})})})})}batchRemove(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{let r=n[e];if(r==null)return!0;Object.keys(r).forEach(n=>{this.remove({unitId:t,subUnitId:e,formulaId:n})})})})}getOtherFormulaData(){return this._otherFormulaData}};const Qo=se(`univer.formula.other-formula-manager.service`);let $o=function(e){return e[e.DEFAULT=0]=`DEFAULT`,e[e.ADDED=1]=`ADDED`,e[e.SKIP=2]=`SKIP`,e}({}),es=function(e){return e[e.NORMAL_FORMULA=0]=`NORMAL_FORMULA`,e[e.OTHER_FORMULA=1]=`OTHER_FORMULA`,e[e.FEATURE_FORMULA=2]=`FEATURE_FORMULA`,e}({});var ts=class{constructor(){E(this,`_state`,$o.DEFAULT),E(this,`type`,es.NORMAL_FORMULA),E(this,`treeId`,void 0),E(this,`children`,new Set),E(this,`parents`,new Set)}resetState(){this._state=$o.DEFAULT}setAdded(){this._state=$o.ADDED}isAdded(){return this._state===$o.ADDED}setSkip(){this._state=$o.SKIP}isSkip(){return this._state===$o.SKIP}pushChildren(e){this.children.add(e.treeId),e._pushParent(this)}hasChildren(e){return this.children.has(e)}_pushParent(e){this.parents.add(e.treeId)}},ns=class extends ts{constructor(...e){super(...e),E(this,`refTree`,void 0),E(this,`refOffsetX`,-1),E(this,`refOffsetY`,-1),E(this,`isCache`,!1),E(this,`isDirty`,!1),E(this,`addressFunctionNodes`,[]),E(this,`getDirtyData`,void 0),E(this,`featureId`,void 0)}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(e=(t=this.refTree)==null?void 0:t.formula)==null?``:e}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(){let e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){let n=this.refTree.rangeList[t];e.push({unitId:n.unitId,sheetId:n.sheetId,range:ge(n.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){let t=e.startRow,n=e.startColumn,r=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(a<t||a>r||o<n||o>i)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){let t=this.rangeList;if(t.length===0)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a,range:o}=t[r],s=e==null||(n=e[i])==null?void 0:n[a],{startRow:c,endRow:l,startColumn:u,endColumn:d}=o;Number.isNaN(c)&&(c=0),Number.isNaN(u)&&(u=0),Number.isNaN(l)&&(l=1/0),Number.isNaN(d)&&(d=1/0);let f=!1;if(s==null||s.forValue((e,t)=>{if(e>=c&&e<=l&&t>=u&&t<=d)return f=!0,!1}),f)return!0}return!1}get formulaId(){return this.refTree==null?``:this.refTree.formulaId}},rs=class extends ts{constructor(e){super(),E(this,`isCache`,!1),E(this,`featureId`,void 0),E(this,`featureDirtyRanges`,[]),E(this,`refOffsetX`,0),E(this,`refOffsetY`,0),E(this,`formulaId`,void 0),E(this,`subUnitId`,``),E(this,`unitId`,``),E(this,`rangeList`,[]),E(this,`formula`,``),E(this,`row`,-1),E(this,`column`,-1),E(this,`rowCount`,-1/0),E(this,`columnCount`,-1/0),E(this,`isDirty`,!1),E(this,`node`,void 0),E(this,`addressFunctionNodes`,[]),E(this,`getDirtyData`,void 0),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){let t=e.startRow,n=e.startColumn,r=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(a<t||a>r||o<n||o>i)}dependencySheetName(e){let t=this.rangeList;if(t.length===0||e==null)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a}=t[r];if(((n=e[i])==null?void 0:n[a])!=null)return!0}return!1}isExcludeRange(e){let t=this.rangeList;if(t.length===0)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a,range:o}=t[r],s=e==null||(n=e[i])==null?void 0:n[a],{startRow:c,endRow:l,startColumn:u,endColumn:d}=o;Number.isNaN(c)&&(c=0),Number.isNaN(u)&&(u=0),Number.isNaN(l)&&(l=1/0),Number.isNaN(d)&&(d=1/0);let f=!1;if(s==null||s.forValue((e,t)=>{if(e>=c&&e<=l&&t>=u&&t<=d)return f=!0,!1}),f)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==es.FEATURE_FORMULA}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}},is=class{constructor(e){if(E(this,`children`,new Set),E(this,`parents`,new Set),E(this,`treeId`,-1),E(this,`formula`,``),E(this,`refOffsetX`,0),E(this,`refOffsetY`,0),E(this,`row`,-1),E(this,`column`,-1),E(this,`unitId`,``),E(this,`subUnitId`,``),E(this,`rangeList`,[]),E(this,`refTreeId`,void 0),E(this,`formulaId`,void 0),E(this,`featureId`,void 0),E(this,`type`,void 0),this.treeId=e.treeId,this.row=e.row,this.column=e.column,this.unitId=e.unitId,this.subUnitId=e.subUnitId,this.refOffsetX=e.refOffsetX,this.refOffsetY=e.refOffsetY,this.rangeList=e.rangeList,e.isVirtual){var t,n;this.refTreeId=(t=(n=e.refTree)==null?void 0:n.treeId)==null?-1:t}else{var r,i;this.formula=e.formula,this.formulaId=(r=e.formulaId)==null?void 0:r,this.featureId=(i=e.featureId)==null?void 0:i,this.type=e.type}}toJson(){return{children:Array.from(this.children).map(e=>e.treeId),parents:Array.from(this.parents).map(e=>e.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(e=>e.toJson()),parents:Array.from(this.parents).map(e=>e.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(e){this.parents.add(e)}addChild(e){this.children.add(e)}};function as(e){return e.getLastTreeId()||0}const os=se(`engine-formula.dependency-generator`);let ss=class extends s{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=n,this._featureCalculationManagerService=r,this._univerInstanceService=i,this._interpreter=a,this._astTreeBuilder=o,this._lexer=s,this._dependencyManagerService=c,this._lexerTreeBuilder=l,E(this,`_updateRangeFlattenCache`,new Map),E(this,`_dependencyRTreeCacheForAddressFunction`,new ee),E(this,`_executedAddressFunctionNodeIds`,new Set),E(this,`_formulaDependencyTreeModel`,new Map),this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),oo.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(ie.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){oo.forEach((t,n)=>{n.startsWith(e)&&oo.delete(n)})}async generate(e=!1){this._updateRangeFlatten();let t=this._currentConfigService.getFormulaData(),n=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getClearDependencyTreeCache();r!=null&&Object.keys(r).forEach(e=>{e!=null&&Object.keys(r[e]).forEach(t=>{t!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(e,t),this._dependencyManagerService.clearFeatureFormulaDependency(e,t),this._dependencyManagerService.clearFormulaDependency(e,t))})});let i=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,n,i);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));let o=this._getUpdateTreeListAndMakeDependency(a),s=this._calculateRunList(o);return this._dependencyFeatureCalculation(s)&&(s.forEach(e=>{e.resetState()}),s=this._calculateRunList(s)),this._checkIsCycleDependency(s)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(s)}_dependencyFeatureCalculation(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let n=!1;return t.forEach((t,r)=>{t.forEach((t,r)=>{t.forEach((t,r)=>{let{unitId:i,subUnitId:a,getDirtyData:o}=t,s=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),c=this._convertDirtyRangesToUnitRange(s.dirtyRanges),l=this._intersectFeatureCalculation(c,e,{unitId:i,subUnitId:a,featureId:r});if(l.length>0){let o=this._getExistTreeList({unitId:i,subUnitId:a,featureId:r},e);o==null&&(o=this._getFeatureFormulaTree(r,as(this._dependencyManagerService),t),e.push(o)),o.parents=new Set,l.forEach(e=>{e.hasChildren(o.treeId)||e.pushChildren(o)}),n=!0}})})}),n}_clearFeatureCalculationNode(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(e=>{let n=new Set;for(let i of e.children){var r;let a=this._dependencyManagerService.getTreeById(i);a&&(a.featureId&&!((r=t.get(e.unitId))==null||(r=r.get(e.subUnitId))==null)&&r.has(a.featureId)||n.add(i))}e.children=n;let i=new Set;for(let n of e.parents){var a;let r=this._dependencyManagerService.getTreeById(n);r&&(r.featureId&&!((a=t.get(e.unitId))==null||(a=a.get(e.subUnitId))==null)&&a.has(r.featureId)||i.add(n))}e.parents=i})}_convertDirtyRangesToUnitRange(e){let t=[];for(let n in e){let r=e[n];for(let e in r){let i=r[e];for(let r of i)t.push({unitId:n,sheetId:e,range:r})}}return t}_intersectFeatureCalculation(e,t,n){let r=[],i=this._dependencyManagerService.searchDependency(e);for(let e=0,a=t.length;e<a;e++){let a=t[e];a.unitId===n.unitId&&a.subUnitId===n.subUnitId&&a.featureId===n.featureId||i.has(a.treeId)&&r.push(a)}return r}_getExistTreeList(e,t){let{unitId:n,subUnitId:r,featureId:i}=e;for(let e=0,a=t.length;e<a;e++){let a=t[e];if(a.unitId===n&&a.subUnitId===r&&a.featureId===i)return a}}_isCyclicUtil(e,t,n){let r=this._dependencyManagerService.getTreeById(e);if(r==null)return!1;if(!t.has(r.treeId)){t.add(r.treeId),n.add(r.treeId);for(let e of r.children)if(!t.has(e)&&this._isCyclicUtil(e,t,n)||n.has(e))return!0}return n.delete(r.treeId),!1}_checkIsCycleDependency(e){let t=new Set,n=new Set;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(this._isCyclicUtil(i.treeId,t,n)===!0)return!0}return!1}async _generateTreeList(e,t,n){let r=Object.keys(e),i=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(r,e,n,a),this._registerOtherFormulas(t,i,a),this._registerFeatureFormulas(a);for(let e=0,t=a.length;e<t;e++){let t=a[e];if(!t.formula)continue;let n=this._getTreeNode(t);t.isDirty=this._includeTree(t,n);let r=this._getAddressFunctionNodeList(n);if(r.length>0&&(t.addressFunctionNodes=r),t.isVirtual)continue;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let i=await this._getRangeListByNode({node:n,refOffsetX:t.refOffsetX,refOffsetY:t.refOffsetY});t.pushRangeList(i)}for(let e=0,t=a.length;e<t;e++){let t=a[e];t.isCache||this._dependencyManagerService.addDependencyRTreeCache(t)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((t,n)=>{t.forEach((t,n)=>{t.forEach((t,n)=>{let r=this._dependencyManagerService.getFeatureFormulaDependency(t.unitId,t.subUnitId,n);e.push(this._getFeatureFormulaTree(n,r,t))})})})}_getFeatureFormulaTree(e,t,n){let{unitId:r,subUnitId:i,dependencyRanges:a,getDirtyData:o}=n,s=new rs(t||as(this._dependencyManagerService));s.unitId=r,s.subUnitId=i,s.rangeList=a,s.getDirtyData=o;let c=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());return s.featureDirtyRanges=this._convertDirtyRangesToUnitRange(c.dirtyRanges),s.featureId=e,s.type=es.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(r,i,e,s),this._dependencyManagerService.getFeatureFormulaDependency(n.unitId,n.subUnitId,e)&&(s.isCache=!0),s}_registerOtherFormulas(e,t,n){for(let r of t){let t=e[r];if(t==null)continue;let i=Object.keys(t);for(let e of i){let i=t[e];if(i==null)continue;let{rowCount:a=1/0,columnCount:o=1/0}=this._currentConfigService.getSheetRowColumnCount(r,e)||{},s=Object.keys(i);for(let t of s){let s=this._dependencyManagerService.hasOtherFormulaDataMainData(t),{f:c,ranges:l}=i[t],u=!1;s&&(u=!0);let d=so(r,c,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:f,firstColumn:p}=this._getFirstCellOfRange(l),m=this._dependencyManagerService.getOtherFormulaDependency(r,e,t),h=new rs((m==null?void 0:m.getValue(0,0))||as(this._dependencyManagerService));for(let i=0;i<l.length;i++){let s=l[i],{startRow:g,startColumn:_}=s,{endRow:v,endColumn:y}=s;v=Math.min(v,a-1),y=Math.min(y,o-1);for(let i=g;i<=v;i++)for(let a=_;a<=y;a++){let o=a-p,s=i-f;if(o===0&&s===0){h.node=d,h.formula=c,h.unitId=r,h.subUnitId=e,h.formulaId=t,h.type=es.OTHER_FORMULA,h.isCache=u,n.push(h),this._dependencyManagerService.addOtherFormulaDependency(r,e,t,h),this._dependencyManagerService.addFormulaDependencyByDefinedName(h);continue}let l=new ns;l.treeId=(m==null?void 0:m.getValue(o,s))||as(this._dependencyManagerService),l.refTree=h,l.refOffsetX=o,l.refOffsetY=s,l.isCache=u,l.type=es.OTHER_FORMULA,this._dependencyManagerService.addOtherFormulaDependency(r,e,t,l),this._dependencyManagerService.addFormulaDependencyByDefinedName(l),n.push(l)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(t)}}}}_getFirstCellOfRange(e){let t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,n,r){for(let i of e){let e=t[i];if(e==null)continue;let a=Object.keys(e);for(let t of a){let a=new b(e[t]||{}),o=new Map;a.forValue((e,a,s)=>{if(s==null)return!0;let{x:c=0,y:l=0,si:u}=s;if(!(c===0&&l===0&&u!=null))return!0;let d=this._createFDtree(i,t,e,a,n,s),f=this._dependencyManagerService.getFormulaDependency(i,t,e,a);f==null?(this._dependencyManagerService.addFormulaDependency(i,t,e,a,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=f,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(f,!1)),o.set(u,d),r.push(d)}),a.forValue((e,a,s)=>{if(s==null)return!0;let{x:c=0,y:l=0,si:u}=s;if(c===0&&l===0&&u!=null)return!0;let d;if(u&&o.has(u)){let e=o.get(u);d=this._createVirtualFDtree(e,s)}else d=this._createFDtree(i,t,e,a,n,s);let f=this._dependencyManagerService.getFormulaDependency(i,t,e,a);f==null?(this._dependencyManagerService.addFormulaDependency(i,t,e,a,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=f,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(f,!1)),r.push(d)}),o.clear()}}}_createFDtree(e,t,n,r,i,a){let{f:o,x:s=0,y:c=0}=a,l=new rs(as(this._dependencyManagerService)),u=i[e][t];return l.node=so(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService),l.formula=o,l.unitId=e,l.subUnitId=t,l.row=n,l.column=r,l.rowCount=u.rowCount,l.columnCount=u.columnCount,l}_createVirtualFDtree(e,t){let{x:n=0,y:r=0}=t,i=new ns;return i.treeId=as(this._dependencyManagerService),i.refTree=e,i.refOffsetX=n,i.refOffsetY=r,i}_updateRangeFlatten(){let e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let e=0;e<t.length;e++){let n=t[e],r=n.range,i=n.sheetId,a=n.unitId;this._addFlattenCache(a,i,r)}}}_addFlattenCache(e,t,n){let r=this._updateRangeFlattenCache.get(e);r==null&&(r=new Map,this._updateRangeFlattenCache.set(e,r));let i=r.get(t);i==null&&(i=[],r.set(t,i)),i.push(n)}_isPreCalculateNode(e){return e.nodeType===H.UNION||e.nodeType===H.PREFIX&&e.getToken()===Ye.AT||e.nodeType===H.SUFFIX&&e.getToken()===qe.POUND}_nodeTraversalRef(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(this._isPreCalculateNode(r)){if(t.push(r),r.nodeType===H.UNION)for(let e of r.getChildren())e.nodeType===H.FUNCTION&&e.isAddress()&&this._nodeTraversalRef(e,t);continue}else r.nodeType===H.REFERENCE&&t.push(r);this._nodeTraversalRef(r,t)}}_nodeTraversalReferenceFunction(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(r.nodeType===H.FUNCTION&&r.isAddress()){t.push(r);continue}this._nodeTraversalReferenceFunction(r,t)}}async _executeNode(e,t=0,n=0){let r,i={node:e,refOffsetX:t,refOffsetY:n};return r=this._interpreter.checkAsyncNode(e)?await this._interpreter.executeAsync(i):this._interpreter.execute(i),r}async _getRangeListByNode(e){let t=[],n=e.refOffsetX,r=e.refOffsetY,i=e.node;if(i==null)return[];this._nodeTraversalRef(i,t);let a=[];for(let e=0,i=t.length;e<i;e++){let i=t[e],o=(await this._executeNode(i,n,r)).toUnitRange();a.push(o),i.setValue(null)}return a}_getAddressFunctionNodeList(e){let t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){let n=t.addressFunctionNodes;if(n.length===0)return;let r=t.refOffsetX,i=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(n,r,i);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);let o=e.bulkSearch(a),s=this._buildTreeNodeById(o);s.length!==0&&await this._calculateAddressFunctionRuntimeData(e,s)}async _calculateListByFunctionRefNode(e){let t=new ee;for(let n=0,r=e.length;n<r;n++){let r=e[n];t.insert({unitId:r.unitId,sheetId:r.subUnitId,range:{startRow:r.row,startColumn:r.column,endRow:r.row,endColumn:r.column},id:r.treeId})}this._executedAddressFunctionNodeIds.clear();for(let n=0,r=e.length;n<r;n++){let r=e[n];await this._calculateAddressFunction(t,r)}}async _calculateAddressFunction(e,t){let n=t.addressFunctionNodes;if(n.length===0)return;let r=t.refOffsetX,i=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let a=[];for(let e=0,t=n.length;e<t;e++){let t=await this._getRangeListByNode({node:n[e],refOffsetX:r,refOffsetY:i});a.push(...t)}let o=new Set;this._searchDependencyByAddressFunction(e,a,o);let s=this._buildTreeNodeById(o);if(s.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,s),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){let n=t.pop(),r={node:this._getTreeNode(n),refOffsetX:n.refOffsetX,refOffsetY:n.refOffsetY};await this._calculateAddressFunction(e,n),this._runtimeService.setCurrent(n.row,n.column,n.rowCount,n.columnCount,n.subUnitId,n.unitId);let i;i=this._interpreter.checkAsyncNode(r.node)?await this._interpreter.executeAsync(r):this._interpreter.execute(r),n.formulaId==null?this._runtimeService.setRuntimeData(i):this._runtimeService.setRuntimeOtherData(n.formulaId,n.refOffsetX,n.refOffsetY,i)}}_buildTreeNodeById(e){let t=[];for(let n of e){let e=this._getTreeById(n);!e||this._executedAddressFunctionNodeIds.has(n)||(this._executedAddressFunctionNodeIds.add(n),t.push(e))}return t}_searchDependencyByAddressFunction(e,t,n){let r=e.bulkSearch(t),i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(let e of i)n.has(e)||n.add(e);let a=[];for(let e of r){let t=this._getTreeById(e);t&&!n.has(e)&&(a.push(...t.rangeList),n.add(e))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,n),n}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){let n=[];for(let r=0;r<t.length;r++){let{unitId:i,sheetId:a,range:o}=t[r];n.push({unitId:i,sheetId:a,range:o,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(n)}async _getRangeListByFunctionRefNode(e,t,n){let r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i],o=(await this._executeNode(a,t,n)).toUnitRange();r.push(o),a.setValue(null)}return r}_getUpdateTreeListAndMakeDependency(e){let t=[],n=new Set,r=this._currentConfigService.isForceCalculate(),i=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(i),o=this._dependencyRTreeCacheForAddressFunction.bulkSearch(i);for(let e of o)a.add(e);let s=this._dependencyManagerService.buildDependencyTree(e);for(let e of s){let i=e.treeId;(r||e.isDirty||e.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(i)&&!e.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!n.has(i)&&(t.push(e),n.add(i))}return t}_includeTreeFeature(e){let t=e.unitId,n=e.subUnitId,r=e.featureId;if(r!=null){var i;let e=this._currentConfigService.getDirtyUnitFeatureMap();if((e==null||(i=e[t])==null||(i=i[n])==null?void 0:i[r])!=null)return!0}return!1}_includeOtherFormula(e){let t=e.unitId,n=e.subUnitId,r=e.formulaId;if(r!=null){var i;let e=this._currentConfigService.getDirtyUnitOtherFormulaMap();if((e==null||(i=e[t])==null||(i=i[n])==null?void 0:i[r])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;let t=e.getChildren();for(let e=0,n=t.length;e<n;e++){let n=t[e];if(this._detectForcedRecalculationNodeRecursion(n))return!0}return!1}_includeTree(e,t){var n,r;let i=e.unitId,a=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||lo(e,t,this._currentConfigService)===!0)return!0;let o=(n=this._currentConfigService.getExcludedRange())==null||(n=n[i])==null?void 0:n[a];if((o==null?void 0:o.getValue(e.row,e.column))!=null)return!1;if(((r=this._currentConfigService.getDirtyNameMap()[i])==null?void 0:r[a])!=null)return!0;if(!this._updateRangeFlattenCache.has(i))return!1;let s=this._updateRangeFlattenCache.get(i);if(!s.has(a))return!1;let c=s.get(a);for(let t of c)if(e.inRangeData(t))return!0;return!1}_calculateRunList(e){e.length;let t=e,n=[],r=[];for(;t.length>0;){let e=t.pop();if(e===void 0||e.isSkip())continue;if(e.isAdded()){n.push(e),e.setSkip();continue}r.length=0;for(let t of e.parents){let n=this._dependencyManagerService.getTreeById(t);if(!n){console.error(`Dependency tree not found for treeId:`,t);continue}n.isAdded()||e.isSkip()||r.push(n)}let i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(e.toRTreeItem());for(let t of i){let n=this._dependencyManagerService.getTreeById(t);if(!n){console.error(`Dependency tree not found for treeId:`,t);continue}n.isAdded()||e.isSkip()||r.push(n)}r.length===0?(n.push(e),e.setSkip()):(e.setAdded(),t.push(e,...r))}return n}async _initializeGenerateTreeList(){let e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,n)}async _getAllTreeList(){let e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){let n=this._getTreeById(e);if(!n){console.error(`FormulaDependencyTree is null for treeId:`,e);return}t=new is(n),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){let t=this._getTreeModel(e.treeId),n=this._getDependencyTreeParenIds(e);if(!t)return new is(e);for(let e of n){let n=this._getTreeModel(e);n&&(t.addParent(n),n.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();let t=[];for(let n of e){let e=n.type;if(n.isVirtual&&(e===es.FEATURE_FORMULA||e===es.OTHER_FORMULA))continue;let r=this._getFormulaDependencyTreeModel(n);t.push(r)}let n=[];for(let e of t)n.push(e.toJson());return this._endFormulaDependencyTreeModel(),n}async getAllDependencyJson(){let e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(e.refTreeId==null)return;let t=this._getTreeById(e.refTreeId);t&&(e.formula=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY))}async getCellDependencyJson(e,t,n,r){await this._initializeGenerateTreeList();let i=this._dependencyManagerService.getFormulaDependency(e,t,n,r);if(i==null)return;let a=this._getTreeById(i);if(!a)return;this._startFormulaDependencyTreeModel();let o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o);let s=this._getDependencyTreeChildrenIds(a);for(let e of s){let t=this._getTreeModel(e);t&&(this._setRealFormulaString(t),o.addChild(t))}for(let e of o.parents)this._setRealFormulaString(e);return this._endFormulaDependencyTreeModel(),o.toFullJson()}_getRangeDependents(e){let t=this._dependencyManagerService.searchDependency(e),n=[];for(let e of t){let t=this._getTreeById(e);if(!t)continue;let r=this._getFormulaDependencyTreeModel(t);this._setRealFormulaString(r),n.push(r)}let r=[];for(let e of n)e&&r.push(e.toJson());return r}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();let t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){let n=[];for(let r of t)for(let t of e){let e=t.unitId,i=t.sheetId;if(!(r.unitId!==e||r.subUnitId!==i)&&(t.range,r.inRangeData(t.range))){n.push(r);break}}let r=[];for(let e of n){let t=this._getFormulaDependencyTreeModel(e);this._setRealFormulaString(t),r[e.treeId]=t}let i=[];for(let e of r)e&&i.push(e.toJson());return i}async getInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),n}async getRangeDependentsAndInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let n=this._getRangeDependents(e),r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:n,inRanges:r}}};ss=dr([P(0,fi),P(1,qa),P(2,Qo),P(3,Xo),P(4,f(d)),P(5,f(bo)),P(6,f(Go)),P(7,f(pi)),P(8,Jo),P(9,f(ni))],ss);const cs=500,ls=se(`engine-formula.calculate-formula.service`);let us=class extends s{constructor(e,n,r,i,a,o,s){super(),this._configService=e,this._lexer=n,this._currentConfigService=r,this._runtimeService=i,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=s,E(this,`_executionInProgressListener$`,new we),E(this,`executionInProgressListener$`,this._executionInProgressListener$.asObservable()),E(this,`_executionCompleteListener$`,new we),E(this,`executionCompleteListener$`,this._executionCompleteListener$.asObservable()),E(this,`_executeLock`,new t),E(this,`_isCalculateTreeModel`,!1)}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),va.clear(),ci.clear(),Ze.clear(),sa.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(Wa.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();let t=e.maxIteration||1;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire(`FORMULA_EXECUTION_LOCK`,async()=>{for(let e=0;e<t&&(this._runtimeService.setFormulaCycleIndex(e),await this._executeStep(),va.clear(),this._runtimeService.isCycleDependency());e++);this._runtimeService.setFormulaExecuteStage(Wa.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),ci.clear(),this._runtimeService.reset()})}async _executeStep(){let e=await this._apply();if(e==null)return;let{arrayFormulaRange:t,runtimeFeatureRange:n}=e,{dirtyRanges:r,excludedCell:i}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,n);return r==null||r.length===0?!0:(va.clear(),this._currentConfigService.loadDirtyRangesAndExcludedCell(r,i),await this._apply(!0),!0)}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){let n=[],r={};return Object.keys(e).forEach(t=>{let i=e[t];if(i==null)return!0;Object.keys(i).forEach(e=>{let a=new b(i[e]);if(a==null)return!0;let o=new b;a.forValue((r,i,a)=>{o.setValue(r,i,!0),n.push({unitId:t,sheetId:e,range:a})}),r[t]==null&&(r[t]={}),r[t][e]=o})}),Object.keys(t).forEach(e=>{let r=t[e];Object.keys(r).forEach(e=>{let t=r[e];if(t==null)return!0;Object.keys(t).forEach(r=>{let i=t[r];if(i==null)return!0;for(let t of i)n.push({unitId:e,sheetId:r,range:t})})})}),{dirtyRanges:n,excludedCell:r}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(Wa.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Wa.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Wa.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Wa.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let r=[],i=this._configService.getConfig(Ur),a=(i==null?void 0:i.intervalCount)||500,o=t.length;for(let i=0;i<o;i++){var s;let o=t[i],c=o.nodeData,l=o.getDirtyData;if(i%a===0&&(await new Promise(e=>{let t=ve(e);r.push(t)}),e?(this._runtimeService.setFormulaExecuteStage(Wa.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(Wa.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||c==null&&l==null)){this._runtimeService.setFormulaExecuteStage(Wa.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(o.row,o.column,o.rowCount,o.columnCount,o.subUnitId,o.unitId);let u;if(l!=null&&o.featureId!=null){let{runtimeCellData:e,dirtyRanges:t}=l(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(o.featureId,e),this._runtimeService.setRuntimeFeatureRange(o.featureId,t)}else c!=null&&(u=n.checkAsyncNode(c.node)?await n.executeAsync(c):n.execute(c),o.formulaId==null?this._runtimeService.setRuntimeData(u):this._runtimeService.setRuntimeOtherData(o.formulaId,o.refOffsetX,o.refOffsetY,u));(s=c.node)==null||s.resetCalculationState()}return r.forEach(e=>e()),r=[],o>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){this._currentConfigService.loadDataLite(t);let n=this._currentConfigService.getUnitData();this._runtimeService.reset();let r={};for(let t of Object.keys(e)){let a=e[t];if(a!=null){r[t]={};for(let e of Object.keys(a)){var i;let o=a[e];if(o==null)continue;let s=(i=n[t])==null?void 0:i[e];if(s!=null){r[t][e]={};for(let n of Object.keys(o)){let i=Number.parseInt(n);r[t][e][i]={};let a=o[i];if(a)for(let n of Object.keys(a)){let o=Number.parseInt(n),c=a[o];if(!c)continue;let l=s.rowCount||0,u=s.columnCount||0;this._runtimeService.setCurrent(i,o,l,u,e,t);let d=[];for(let e of c){let t=await this.calculate(e);if(!t){d.push({value:null,formula:e});continue}t.isReferenceObject()&&(t=t.toArrayValueObject());let n=t;if(n.isArray()){let t=n;if(t.getRowCount()===1&&t.getColumnCount()===1){d.push({value:t.getFirstCell().getValue(),formula:e});continue}d.push({value:t.toValue(),formula:e});continue}d.push({value:n.getValue(),formula:e})}r[t][e][i][o]=d}}}}}}return r}async calculate(e){let t=this._lexer.treeBuilder(e);if(Object.values(D).includes(t))return;let n=this._astTreeBuilder.parse(t),r=this._interpreter;if(n==null)return;let i={node:n,refOffsetX:0,refOffsetY:0};return r.checkAsyncNode(n)?await r.executeAsync(i):r.execute(i)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,n,r){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,n,r)}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)}};us=dr([P(0,u),P(1,f(pi)),P(2,fi),P(3,qa),P(4,os),P(5,f(bo)),P(6,f(Go))],us);let ds=class extends s{constructor(e,t,n){super(),this._commandService=e,this._calculateFormulaService=t,this._formulaDataModel=n,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Cr.id)this._calculateFormulaService.stopFormulaExecution();else if(e.id===yr.id)this._calculate(e.params);else if(e.id===zn.id){let t=e.params;if(t==null)return;let{arrayFormulaRange:n,arrayFormulaCellData:r}=t;this._formulaDataModel.setArrayFormulaRange(n),this._formulaDataModel.setArrayFormulaCellData(r)}else if(e.id===xr.id)this._calculateFormulaString(e.params);else if(e.id===Er.id)this._generateAllDependencyTreeJson();else if(e.id===Or.id)this._generateCellDependencyTreeJson(e.params);else if(e.id===Ar.id){let t=e.params;this._queryFormulaDependencyJson(t)}else if(e.id===Mr.id){let t=e.params;this._queryFormulaDependencyAllJson(t)}}))}async _calculate(e){let{forceCalculation:t=!1,dirtyRanges:n=[],dirtyNameMap:r={},dirtyDefinedNameMap:i={},dirtyUnitFeatureMap:a={},dirtyUnitOtherFormulaMap:o={},clearDependencyTreeCache:s={},maxIteration:c=1,rowData:l,isCalculateTreeModel:u=!1}=e,d=this._formulaDataModel.getFormulaData(),f=this._formulaDataModel.getArrayFormulaCellData(),p=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:d,arrayFormulaCellData:f,arrayFormulaRange:p,forceCalculate:t,dirtyRanges:n,dirtyNameMap:r,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,clearDependencyTreeCache:s,maxIteration:c,isCalculateTreeModel:u,rowData:l})}async _queryFormulaDependencyJson(e){let{unitRanges:t,isInRange:n}=e,r=[];r=n?await this._calculateFormulaService.getInRangeFormulas(t):await this._calculateFormulaService.getRangeDependents(t),this._commandService.executeCommand(jr.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(e){let{unitRanges:t}=e,n=await this._calculateFormulaService.getDependentsAndInRangeFormulas(t);this._commandService.executeCommand(Nr.id,{result:n},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){let e=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(Dr.id,{result:e},{onlyLocal:!0})}async _generateCellDependencyTreeJson(e){let{unitId:t,sheetId:n,row:r,column:i}=e,a=await this._calculateFormulaService.getCellDependencyJson(t,n,r,i);this._commandService.executeCommand(kr.id,{result:a},{onlyLocal:!0})}async _calculateFormulaString(e){let{formulas:t}=e,n=await this._calculateFormulaService.executeFormulas(t);this._commandService.executeCommand(Sr.id,{result:n},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(e=>{let t=e.functionsExecutedState;switch(t){case Ga.NOT_EXECUTED:this._applyTreeResult(e);break;case Ga.STOP_EXECUTION:break;case Ga.SUCCESS:this._applyResult(e);break;case Ga.INITIAL:break}this._commandService.executeCommand(wr.id,{functionsExecutedState:t},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(e=>{this._commandService.executeCommand(wr.id,{stageInfo:e},{onlyLocal:!0})})}async _applyTreeResult(e){let{dependencyTreeModelData:t}=e;t.length>0&&this._commandService.executeCommand(Dr.id,{result:t},{onlyLocal:!0})}async _applyResult(e){let{unitData:t,unitOtherData:n,arrayFormulaRange:r,arrayFormulaCellData:i,clearArrayFormulaCellData:a,arrayFormulaEmbedded:o,imageFormulaData:s,dependencyTreeModelData:c}=e;if(!t){this._applyTreeResult(e),console.error(`No sheetData from Formula Engine!`);return}(r||o)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(a),this._formulaDataModel.mergeArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(zn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:o},{onlyLocal:!0})),s&&s.length>0&&this._commandService.executeCommand(Fr.id,{imageFormulaData:s},{onlyLocal:!0}),this._applyTreeResult(e),this._commandService.executeCommand(Tr.id,{unitData:kn(t),unitOtherData:n},{onlyLocal:!0})}};ds=dr([P(0,l),P(1,ls),P(2,f(ai))],ds);const fs=/[\[\]]/g;function ps(e,t){return fs.test(e)?t+Number(e.replace(fs,``)):Number(e)-1}function ms(t,n=0,r=0){t=t.toLocaleUpperCase();let i=t.split(/[RC]/),a=i[1],o=i[2];return{row:ps(a,n),column:ps(o,r),absoluteRefType:e.NONE}}function hs(e,t=0,n=0){let{refBody:r,sheetName:i,unitId:a}=Xn(e),o=r.indexOf(`:`);if(o===-1){let e=ms(r,t,n),o=e.row,s=e.column,c=e.absoluteRefType;return{unitId:a,sheetName:i,range:{startRow:o,startColumn:s,endRow:o,endColumn:s,startAbsoluteRefType:c,endAbsoluteRefType:c}}}let s=r.substring(0,o),c=r.substring(o+1),l=ms(s,t,n),u=ms(c,t,n);return{unitId:a,sheetName:i,range:{startRow:l.row,startColumn:l.column,endRow:u.row,endColumn:u.column,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:u.absoluteRefType}}}function gs(e){let t=_s(e.startRow,e.startAbsoluteRefType,!0),n=_s(e.startColumn,e.startAbsoluteRefType,!1),r=_s(e.endRow,e.endAbsoluteRefType,!0),i=_s(e.endColumn,e.endAbsoluteRefType,!1);return t===r&&n===i?`R${t}C${n}`:`R${t}C${n}:R${r}C${i}`}function _s(t,n=e.ALL,r){switch(t+=1,n){case e.ALL:return`${t}`;case e.ROW:return r?`${t}`:`[${t}]`;case e.COLUMN:return r?`[${t}]`:`${t}`;case e.NONE:return`[${t}]`}}function vs(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return j.create(D.VALUE);t=e.get(0,0)}return t.isError(),t}function ys(...e){for(let t=0;t<e.length;t++){let n=vs(e[t]);if(n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}function Y(...e){for(let t=0;t<e.length;t++){let n=vs(e[t]);if(n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE)};e[t]=n}return{isError:!1,variants:e}}function bs(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return{isError:!0,errorObject:n};if(n.isNull())return{isError:!0,errorObject:j.create(D.NA)};if(n=vs(e[t]),n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE)};e[t]=n}return{isError:!1,variants:e}}function X(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}var Z=class{constructor(e){this._name=e,E(this,`_unitId`,void 0),E(this,`_subUnitId`,void 0),E(this,`_row`,-1),E(this,`_column`,-1),E(this,`_definedNames`,void 0),E(this,`_locale`,void 0),E(this,`_sheetOrder`,void 0),E(this,`_sheetNameMap`,void 0),E(this,`_formulaDataModel`,void 0),E(this,`_rowCount`,-1),E(this,`_columnCount`,-1),E(this,`needsExpandParams`,!1),E(this,`needsReferenceObject`,!1),E(this,`needsLocale`,!1),E(this,`needsSheetsInfo`,!1),E(this,`needsFormulaDataModel`,!1),E(this,`needsSheetRowColumnCount`,!1),E(this,`needsFilteredOutRows`,!1),E(this,`minParams`,-1),E(this,`maxParams`,-1)}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(e){var t;let n=this._definedNames;return n==null?null:(t=Array.from(Object.values(n)).filter(t=>t.name===e))==null?void 0:t[0]}setDefinedNames(e){this._definedNames=e}getLocale(){return this._locale}setLocale(e){this._locale=e}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:e,sheetNameMap:t}){this._sheetOrder=e,this._sheetNameMap=t}setFormulaDataModel(e){this._formulaDataModel=e}setSheetRowColumnCount(e,t){this._rowCount=e,this._columnCount=t}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(e,t,n,r){this._unitId=e,this._subUnitId=t,this._row=n,this._column=r}calculateCustom(...e){return null}calculate(...e){return j.create(D.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){let n=e;if(n.isArray()&&(n=n.getFirstCell()),n.isBoolean())return n.getValue()===!1?j.create(D.VALUE):t;if(n.isString()){let e=Number(n.getValue());return Number.isNaN(e)?j.create(D.REF):e}else if(n.isNumber())return n.getValue();return j.create(D.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else if(e.isString())return;else e.isNumber()&&e.getValue()===0&&(t=0);return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else if(e.isString())return;else if(e.isNumber()){let n=e.getValue();n<=0&&(t=n)}return t}binarySearch(e,t,n,r,i){let a=t.binarySearch(e,r,i);if(a==null)return j.create(D.NA);let o;return o=n.getRowCount()===1?n.get(0,a)||I.create():n.get(a,0)||I.create(),o.isNull()?R.create(0):o}_getOneFirstByRaw(e){return e.length===0?j.create(D.NA):e[0][0]||j.create(D.NA)}_getOneLastByRaw(e){return e.length===0?j.create(D.NA):e[e.length-1][e[0].length-1]||j.create(D.NA)}equalSearch(e,t,n,r=!0){let i=n.pickRaw(t.isEqual(e));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}fuzzySearch(e,t,n,r=!0){let i=n.pickRaw(t.compare(e,k.EQUALS));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,n,r=yi.MIN,i=!1){let a=t.orderSearch(e,r,i);if(a==null)return j.create(D.NA);let o=n.get(a.row,a.column)||I.create();return o.isNull()?j.create(D.NA):o}binarySearchExpand(e,t,n,r=0,i,a){let o=t.binarySearch(e,i,a);return o==null?j.create(D.NA):r===0?n.slice([o,o+1]):n.slice(void 0,[o,o+1])}equalSearchExpand(e,t,n,r=!0,i=0){let a=t.isEqual(e),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?j.create(D.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}fuzzySearchExpand(e,t,n,r=!0,i=0){let a=t.compare(e,k.EQUALS),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?j.create(D.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}orderSearchExpand(e,t,n,r=yi.MIN,i=!1,a=0){let o=t.orderSearch(e,r,i);return o==null?j.create(D.NA):a===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}flattenArray(e,t=!0){let n=[];n[0]=[];for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean()||i.isNull())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){let e;if(i.iterator(r=>{if(r==null||r.isNull()||t&&(r.isString()||r.isBoolean()))return!0;if(r=this._includingLogicalValuesAndText(r),r.isError())return e=r,!1;n[0].push(r)}),e!=null&&e.isError())return e}else n[0].push(i)}return Ea(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Aa(e)),e.isString()){let t=Number(e.getValue());e=R.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){let n=e.getForcedUnitId()||e.getDefaultUnitId()||``,r=e.getForcedSheetId()||e.getDefaultUnitId()||``,i=Jn({unitId:n,sheetName:e.getForcedSheetName(),range:t}),a;return a=gn(i)?new Ca(i):bn(i)?new Ta(i):xn(i)?new wa(i):new Sa(t,r,n),this._setReferenceDefault(e,a)}_setReferenceDefault(e,t){if(this.unitId==null||this.subUnitId==null)return j.create(D.REF);t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId);let n=e.getUnitId();n!=null&&t.setForcedUnitIdDirect(n);let r=e.getForcedSheetId();return r!=null&&t.setForcedSheetIdDirect(r),t.setForcedSheetName(e.getForcedSheetName()),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setUnitStylesData(e.getUnitStylesData()),t}},xs=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;let{isError:r,errorObject:i,variants:a}=ys(t,n);if(r)return i;let{isError:o,errorObject:s,variants:c}=X(...a);if(o)return s;let[l,u]=c,d=Math.floor(+l.getValue()),f=Math.floor(+u.getValue());if(d<0||f<0)return j.create(D.NUM);if(d===0||f===0)return j.create(D.REF);let p=e.isArray()?e.getRowCount():1,m=e.isArray()?e.getColumnCount():1;if(p===1&&m===1)return e.isArray()?e.get(0,0):e;let h=d>p?p:d,g=f>m?m:f;return e.slice([0,h],[0,g])}},Ss=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=r.isArray()?r.getRowCount():1,a=r.isArray()?r.getColumnCount():1;for(let e=0;e<i;e++)for(let n=0;n<a;n++){let i=r.isArray()?r.get(e,n):r;t.push([i])}}return B.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}};let Cs=function(e){return e.ARRAY_CONSTRAIN=`ARRAY_CONSTRAIN`,e.FLATTEN=`FLATTEN`,e}({});const ws=[[xs,Cs.ARRAY_CONSTRAIN],[Ss,Cs.FLATTEN]];let Ts;(function(e){let t=.636619772;function n(e,t){let n=0;for(let r=0;r<e.length;++r)n=t*n+e[r];return n}function r(e,t,n,r,i){if(t===0)return n;if(t===1)return r;let a=2/e,o=n,s=r,c=r;for(let e=1;e<t;++e)c=s*e*a+i*o,o=s,s=c;return c}function i(e,t,n,i){return function(a,o){if(n){if(a===0)return n===1?-1/0:1/0;if(a<0)return NaN}return o===0?e(a):o===1?t(a):o<0?NaN:r(a,o|0,e(a),t(a),i)}}let a=e.besselj=(()=>{let e=[-184.9052456,77392.33017,-11214424.18,651619640.7,-13362590354,57568490574],i=[1,267.8532712,59272.64853,9494680.718,1029532985,57568490411],a=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-9.34935152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function s(r){let s=0,c=0,l=0,u=r*r;if(r<8)c=n(e,u),l=n(i,u),s=c/l;else{let e=r-.785398164;u=64/u,c=n(a,u),l=n(o,u),s=Math.sqrt(t/r)*(Math.cos(e)*c-Math.sin(e)*l*8/r)}return s}let c=[-30.16036606,15704.4826,-2972611.439,242396853.1,-7895059235,72362614232],l=[1,376.9991397,99447.43394,18583304.74,2300535178,144725228442],u=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],d=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function f(e){let r=0,i=0,a=0,o=e*e,s=Math.abs(e)-2.356194491;return Math.abs(e)<8?(i=e*n(c,o),a=n(l,o),r=i/a):(o=64/o,i=n(u,o),a=n(d,o),r=Math.sqrt(t/Math.abs(e))*(Math.cos(s)*i-Math.sin(s)*a*8/Math.abs(e)),e<0&&(r=-r)),r}return function e(t,n){let i=Math.round(n);if(!Number.isFinite(t))return Number.isNaN(t)?t:0;if(i<0)return(i%2?-1:1)*e(t,-i);if(t<0)return(i%2?-1:1)*e(-t,i);if(i===0)return s(t);if(i===1)return f(t);if(t===0)return 0;let a=0;if(t>i)a=r(t,i,s(t),f(t),-1);else{let e=2*Math.floor((i+Math.floor(Math.sqrt(40*i)))/2),n=!1,r=0,o=0,s=1,c=0,l=2/t;for(let t=e;t>0;t--)if(c=t*l*s-r,r=s,s=c,Math.abs(s)>1e10&&(s*=1e-10,r*=1e-10,a*=1e-10,o*=1e-10),n&&(o+=s),n=!n,t===i&&(a=r),e-t>100&&a===0)return NaN;o=2*o-s,a/=o}return a}})();e.bessely=(()=>{let e=[228.4622733,-86327.92757,10879881.29,-512359803.6,7062834065,-2957821389],r=[1,226.1030244,47447.2647,7189466.438,745249964.8,40076544269],o=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],s=[-9.34945152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function c(i){let c=0,l=0,u=0,d=i*i,f=i-.785398164;return i<8?(l=n(e,d),u=n(r,d),c=l/u+t*a(i,0)*Math.log(i)):(d=64/d,l=n(o,d),u=n(s,d),c=Math.sqrt(t/i)*(Math.sin(f)*l+Math.cos(f)*u*8/i)),c}let l=[8511.937935,-4237922.726,734926455.1,-51534381390,127527439e4,-4900604943e3],u=[1,354.9632885,102042.605,22459040.02,3733650367,424441966400,249958057e5],d=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],f=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function p(e){let r=0,i=0,o=0,s=e*e,c=e-2.356194491;return e<8?(i=e*n(l,s),o=n(u,s),r=i/o+t*(a(e,1)*Math.log(e)-1/e)):(s=64/s,i=n(d,s),o=n(f,s),r=Math.sqrt(t/e)*(Math.sin(c)*i+Math.cos(c)*o*8/e)),r}return i(c,p,1,-1)})();let o=e.besseli=(()=>{let e=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],t=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function r(r){return r<=3.75?n(e,r*r/(3.75*3.75)):Math.exp(Math.abs(r))/Math.sqrt(Math.abs(r))*n(t,3.75/Math.abs(r))}let i=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],a=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function o(e){return e<3.75?e*n(i,e*e/(3.75*3.75)):(e<0?-1:1)*Math.exp(Math.abs(e))/Math.sqrt(Math.abs(e))*n(a,3.75/Math.abs(e))}return function e(t,n){let i=Math.round(n);if(i===0)return r(t);if(i===1)return o(t);if(i<0)return NaN;if(Math.abs(t)===0)return 0;if(t===1/0)return 1/0;let a=0,s,c=2/Math.abs(t),l=0,u=1,d=0,f=2*Math.round((i+Math.round(Math.sqrt(40*i)))/2);for(s=f;s>0;s--)if(d=s*c*u+l,l=u,u=d,Math.abs(u)>1e10&&(u*=1e-10,l*=1e-10,a*=1e-10),s===i&&(a=l),f-s>100&&a===0)return NaN;return a*=e(t,0)/u,t<0&&i%2?-a:a}})();e.besselk=(()=>{let e=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],t=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function r(r){return r<=2?-Math.log(r/2)*o(r,0)+n(e,r*r/4):Math.exp(-r)/Math.sqrt(r)*n(t,2/r)}let a=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],s=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function c(e){return e<=2?Math.log(e/2)*o(e,1)+1/e*n(a,e*e/4):Math.exp(-e)/Math.sqrt(e)*n(s,2/e)}return i(r,c,2,1)})()})(Ts||(Ts={}));function Es(e){return/^[01]{1,10}$/.test(e)}function Ds(e){return/^[0-7]{1,10}$/.test(e)}function Os(e){return/^[0-9A-Fa-f]{1,10}$/.test(e)}function ks(e){if(e===0)return 0;let t=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-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],n=e,r=!1;n<0&&(n=-n,r=!0);let i=2/(2+n),a=4*i-2,o=0,s=0,c;for(let e=t.length-1;e>0;e--)c=o,o=a*o-s+t[e],s=c;let l=i*Math.exp(-n*n+.5*(t[0]+a*o)-s);return r?l-1:1-l}function As(e){return 1-ks(e)}function js(e){if(e>=2)return-100;if(e<=0)return 100;let t=e<1?e:2-e,n=Math.sqrt(-2*Math.log(t/2)),r=-.70711*((2.30753+n*.27061)/(1+n*(.99229+n*.04481))-n);for(let e=0;e<2;e++){let e=As(r)-t;r+=e/(1.1283791670955126*Math.exp(-r*r)-r*e)}return e<1?r:-r}function Ms(e,t=1){let n=Math.floor(e);if(e<0)return NaN;let r=1;for(;n>1&&Number.isFinite(r);)r*=n,n-=t;return r}function Ns(e,t){let n=Math.min(e-t,t),r=1;for(let t=1;t<=n&&Number.isFinite(r);t++)r*=e-t+1,r/=t;return r}function Ps(e,t){let n=Math.floor(e),r=Math.floor(t);for(;r!==0;){let e=r;r=n%r,n=e}return n}function Fs(e,t){let n=Ps(e,t);return n===0?0:Math.abs(e*t)/n}function Is(e){let t=e.length;if(t===1)return e[0][0];if(t===2)return e[0][0]*e[1][1]-e[0][1]*e[1][0];let{rowSwap:n,smallPivotDetected:r,luMatrix:i,permutation:a}=Us(e);if(r)return 0;let o=n?1:-1;for(let e=0;e<a.length;e++)o*=i[e][e];return o===0?0:o}function Ls(e){let t=Is(e);return t===0?null:e.length===1?[[1/t]]:zs(e).map(e=>e.map(e=>e/t))}function Rs(e,t,n){return e.filter((e,n)=>n!==t).map(e=>e.filter((e,t)=>t!==n))}function zs(e){let t=e.length,n=Array.from({length:t},()=>Array(t).fill(0));for(let r=0;r<t;r++)for(let i=0;i<t;i++){let t=((r+i)%2==0?1:-1)*Is(Rs(e,r,i));n[i][r]=t===0?0:t}return n}function Bs(e,t){return e.map(e=>t[0].map((n,r)=>e.reduce((e,n,i)=>e+n*t[i][r],0)))}function Vs(e){return e[0].map((t,n)=>e.map(e=>e[n]))}function Hs(e){let{smallPivotDetected:t,luMatrix:n,permutation:r}=Us(e);return t?null:Ws(n,r)}function Us(e){let t=Vs(e),n=t.length,r=t[0].length,i=!0,a=!1,o=Gs(n,r,0),s=Array(r).fill(0).map((e,t)=>t);for(let e=0;e<r;e++){for(let n=0;n<e;n++){let r=t[n][e];for(let t=0;t<n;t++)r-=o[n][t]*o[t][e];o[n][e]=r}let r=-1/0,c=e;for(let i=e;i<n;i++){let n=t[i][e];for(let t=0;t<e;t++)n-=o[i][t]*o[t][e];o[i][e]=n;let a=Math.abs(n);a>r&&(r=a,c=i)}if(Math.abs(o[c][e])<1e-11){a=!0;break}c!==e&&([o[e],o[c]]=[o[c],o[e]],[t[e],t[c]]=[t[c],t[e]],[s[e],s[c]]=[s[c],s[e]],i=!i);let l=o[e][e];for(let t=e+1;t<n;t++)o[t][e]/=l}return{rowSwap:i,smallPivotDetected:a,luMatrix:o,permutation:s}}function Ws(e,t){let n=t.length,r=Gs(n,n,0);for(let e=0;e<n;e++)r[e][e]=1;let i=Gs(n,n,0);for(let e=0;e<n;e++){let a=t[e];for(let t=0;t<n;t++)i[e][t]=r[a][t]}for(let t=0;t<n;t++){let r=i[t];for(let a=t+1;a<n;a++){let o=e[a][t];for(let e=0;e<n;e++)i[a][e]-=r[e]*o}}for(let t=n-1;t>=0;t--){let r=i[t],a=e[t][t];for(let e=0;e<n;e++)r[e]/=a;for(let a=0;a<t;a++){let o=e[a][t];for(let e=0;e<n;e++)i[a][e]-=r[e]*o}}return i}function Gs(e,t,n){let r=[];for(let i=0;i<e;i++){r[i]=[];for(let e=0;e<t;e++)r[i].push(n)}return r}function Ks(e){let t=qs(e);if(!t)return null;let{matrixU:n,matrixS:r,matrixV:i}=t,a=Vs(n),o=Array.from({length:r.length},()=>Array(e[0].length).fill(0)),s=Math.max(e.length,e[0].length)*2**-52*r[0];for(let e=0;e<r.length;e++)Math.abs(r[e])>s&&(o[e][e]=1/r[e]);return Bs(i,Bs(o,a))}function qs(e){let t=Vs(e),n=t.length,r=t[0].length;if(n<r)return null;let i=Array(r).fill(0),a=Array(r).fill(0),o=Array.from({length:r},()=>Array(r).fill(0)),s=2**-52,c=0,l=0,u=0;for(let e=0;e<r;e++){if(i[e]=c,l=Ys(t,e,n,e,e),l<=1e-64/s)c=0;else{c=Math.sqrt(l),t[e][e]>=0&&(c=-c);let i=t[e][e]*c-l;t[e][e]-=c;for(let a=e+1;a<r;a++){l=Ys(t,e,n,e,a);for(let r=e;r<n;r++)t[r][a]+=l/i*t[r][e]}}if(a[e]=c,l=Xs(t,e+1,r,e,e),l<=1e-64/s)c=0;else{c=Math.sqrt(l),t[e][e+1]>=0&&(c=-c);let a=t[e][e+1]*c-l;t[e][e+1]-=c;for(let n=e+1;n<r;n++)i[n]=t[e][n]/a;for(let a=e+1;a<n;a++){l=Xs(t,e+1,r,a,e);for(let n=e+1;n<r;n++)t[a][n]+=l*i[n]}}let o=Math.abs(a[e])+Math.abs(i[e]);o>u&&(u=o)}let d=0;for(let e=r-1;e>=0;e--){if(c!==0){for(let n=d;n<r;n++)o[n][e]=t[e][n]/(c*t[e][e+1]);for(let n=d;n<r;n++){l=0;for(let i=d;i<r;i++)l+=t[e][i]*o[i][n];for(let t=d;t<r;t++)o[t][n]+=l*o[t][e]}}for(let t=d;t<r;t++)o[e][t]=0,o[t][e]=0;o[e][e]=1,c=i[e],d=e}for(let e=r-1;e>=0;e--){c=a[e];for(let n=e+1;n<r;n++)t[e][n]=0;if(c!==0){for(let i=e+1;i<r;i++){l=Ys(t,e+1,n,e,i);for(let r=e;r<n;r++)t[r][i]+=l/(t[e][e]*c)*t[r][e]}for(let r=e;r<n;r++)t[r][e]/=c}else for(let r=e;r<n;r++)t[r][e]=0;t[e][e]+=1}s*=u;let f=0,p=0,m=0;for(let e=r-1;e>=0;e--)for(let c=0;c<50;c++){let l=!1,u=e;for(;u>=0;u--){if(Math.abs(i[u])<=s){l=!0;break}if(Math.abs(a[u-1])<=s)break}if(!l){let r=0,o=1;for(let c=u;c<e+1&&(f=o*i[c],p=a[c],i[c]*=r,!(Math.abs(f)<=s));c++){m=Js(f,p),a[c]=m,r=p/m,o=-f/m;for(let e=0;e<n;e++){let n=t[e][u-1],i=t[e][c];t[e][u-1]=n*r+i*o,t[e][c]=-n*o+i*r}}}if(u===e){if(a[e]<0){a[e]=-a[e];for(let t=0;t<r;t++)o[t][e]=-o[t][e]}break}if(c>=49)return null;let d=a[u];f=((a[e-1]-a[e])*(a[e-1]+a[e])+(i[e-1]-i[e])*(i[e-1]+i[e]))/(2*i[e]*a[e-1]),m=Js(f,1),f=f<0?((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(f-m)-i[e]))/d:((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(f+m)-i[e]))/d;let h=1,g=1;for(let s=u+1;s<e+1;s++){let e=i[s],c=a[s];p=g*e,e*=h,m=Js(f,p),i[s-1]=m,h=f/m,g=p/m,f=d*h+e*g,p=c*g,e=-d*g+e*h,c*=h;for(let e=0;e<r;e++){let t=o[e][s-1],n=o[e][s];o[e][s-1]=t*h+n*g,o[e][s]=-t*g+n*h}m=Js(f,p),a[s-1]=m,h=f/m,g=p/m,f=h*e+g*c,d=-g*e+h*c;for(let e=0;e<n;e++){let n=t[e][s-1],r=t[e][s];t[e][s-1]=n*h+r*g,t[e][s]=-n*g+r*h}}i[u]=0,i[e]=f,a[e]=d}for(let e=0;e<a.length;e++)a[e]<s&&(a[e]=0);for(let e=0;e<r;e++)for(let n=e-1;n>=0;n--)if(a[n]<a[e]){let r=a[n];a[n]=a[e],a[e]=r;for(let r=0;r<t.length;r++){let i=t[r][e];t[r][e]=t[r][n],t[r][n]=i}for(let t=0;t<o.length;t++){let r=o[t][e];o[t][e]=o[t][n],o[t][n]=r}e=n}return{matrixU:t,matrixS:a,matrixV:o}}function Js(e,t){let n=0;return Math.abs(e)>Math.abs(t)?(n=t/e,Math.abs(e)*Math.sqrt(1+n*n)):t===0?0:(n=e/t,Math.abs(t)*Math.sqrt(1+n*n))}function Ys(e,t,n,r,i){let a=0;for(let o=t;o<n;o++)a+=e[o][r]*e[o][i];return a}function Xs(e,t,n,r,i){let a=0;for(let o=t;o<n;o++)a+=e[r][o]*e[i][o];return a}const Zs=new Map([[`I`,1],[`V`,5],[`X`,10],[`L`,50],[`C`,100],[`D`,500],[`M`,1e3]]),Qs=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`]]),$s=[[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 ec(e,t,n){return e<=0?0:e>=1?1:rc(e,t,n)}function tc(e,t,n){return e<=0||e>=1?0:t===1&&n===1?1:t<512&&n<512?e**(t-1)*(1-e)**(n-1)/ac(t,n):Math.exp((t-1)*Math.log(e)+(n-1)*Math.log(1-e)-oc(t,n))}function nc(e,t,n){if(e<=0)return 0;if(e>=1)return 1;let r;if(t>=1&&n>=1){let i=e<.5?e:1-e,a=Math.sqrt(-2*Math.log(i));r=(2.30753+a*.27061)/(1+a*(.99229+a*.04481))-a,e<.5&&(r=-r);let o=(r*r-3)/6,s=2/(1/(2*t-1)+1/(2*n-1)),c=r*Math.sqrt(o+s)/s-(1/(2*n-1)-1/(2*t-1))*(o+5/6-2/(3*s));r=t/(t+n*Math.exp(2*c))}else{let i=Math.exp(t*Math.log(t/(t+n)))/t,a=i+Math.exp(n*Math.log(n/(t+n)))/n;r=e<i/a?(t*a*e)**(1/t):1-(n*a*(1-e))**(1/n)}let i=-oc(t,n),a,o,s;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(a=rc(r,t,n)-e,o=Math.exp((t-1)*Math.log(r)+(n-1)*Math.log(1-r)+i),s=a/o,r-=o=s/(1-.5*Math.min(1,s*((t-1)/r-(n-1)/(1-r)))),r<=0&&(r=.5*(r+o)),r>=1&&(r=.5*(r+o+1)),Math.abs(o)<1e-8*r&&c>0)break}return r}function rc(e,t,n){let r=e===0||e===1?0:Math.exp(Sc(t+n)-Sc(t)-Sc(n)+t*Math.log(e)+n*Math.log(1-e));return e<(t+1)/(t+n+2)?r*ic(e,t,n)/t:1-r*ic(1-e,n,t)/n}function ic(e,t,n){let r=1e-8,i=1-(t+n)*e/(t+1);Math.abs(i)<r&&(i=r),i=1/i;let a=1,o=i;for(let s=1;s<=100;s++){let c=s*(n-s)*e/((t-1+s*2)*(t+s*2));if(i=1+c*i,Math.abs(i)<r&&(i=r),a=1+c/a,Math.abs(a)<r&&(a=r),i=1/i,o*=i*a,c=-(t+s)*(t+n+s)*e/((t+s*2)*(t+1+s*2)),i=1+c*i,Math.abs(i)<r&&(i=r),a=1+c/a,Math.abs(a)<r&&(a=r),i=1/i,o*=i*a,Math.abs(i*a-1)<r)break}return o}function ac(e,t){return e+t>170?Math.exp(oc(e,t)):vc(e)*vc(t)/vc(e+t)}function oc(e,t){return Sc(e)+Sc(t)-Sc(e+t)}function sc(e,t,n){if(e<0)return 0;if(e>=t)return 1;if(n<0||n>1||t<=0)return NaN;let r=0;for(let i=0;i<=e;i++)r+=cc(i,t,n);return r}function cc(e,t,n){return n===0||n===1?t*n===e?1:0:Ns(t,e)*n**e*(1-n)**(t-e)}function lc(e,t){return e<=0?0:Cc(t/2,e/2)}function uc(e,t){return e<0?0:e===0&&t===2?.5:Math.exp((t/2-1)*Math.log(e)-e/2-t/2*Math.log(2)-Sc(t/2))}function dc(e,t){return e<=0?0:e>=1?1/0:2*wc(e,t/2)}function fc(e,t,n){return e<0?0:rc(t*e/(t*e+n),t/2,n/2)}function pc(e,t,n){if(e<0)return 0;if(e===0&&t<2)return 1/0;if(e===0&&t===2)return 1;let r=1/ac(t/2,n/2);return r*=(t/n)**(t/2),r*=e**(t/2-1),r*=(1+t/n*e)**(-(t+n)/2),r}function mc(e,t,n){return e<=0?0:e>=1?1/0:n/(t*(1/nc(e,t/2,n/2)-1))}function hc(e,t){return e<0?0:1-Math.exp(-t*e)}function gc(e,t){return e<0?0:t*Math.exp(-t*e)}function _c(e,t,n){let r=t.length,i=0,a=0;for(let e=0;e<r;e++)i+=t[e],a+=n[e];let o=i/r,s=a/r,c=0,l=0;for(let e=0;e<r;e++)c+=(t[e]-o)*(n[e]-s),l+=(n[e]-s)**2;if(l===0)return 1/0;let u=c/l;return o-u*s+u*e}function vc(e){let t=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],n=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535],r=0,i=e;if(e>171.6243769536076)return 1/0;if(i<=0){let e=i%1+36e-17;if(e)r=(i&1?-1:1)*Math.PI/Math.sin(Math.PI*e),i=1-i;else return 1/0}let a=i,o=0,s;s=i<1?i++:(i-=o=(i|0)-1)-1;let c=0,l=0;for(let e=0;e<8;++e)c=(c+t[e])*s,l=l*s+n[e];let u=c/l+1;if(a<i)u/=a;else if(a>i)for(let e=0;e<o;++e)u*=i,i++;return r&&(u=r/u),u}function yc(e,t,n){return e<=0?0:Cc(t,e/n)}function bc(e,t,n){return e<0?0:e===0&&t===1?1/n:Math.exp((t-1)*Math.log(e)-e/n-Sc(t)-t*Math.log(n))}function xc(e,t,n){return e<=0?0:e>=1?1/0:n*wc(e,t)}function Sc(e){let t=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],n=e,r=e+5.5;r-=(e+.5)*Math.log(r);let i=1.000000000190015;for(let e=0;e<6;e++)i+=t[e]/++n;return-r+Math.log(2.5066282746310007*i/e)}function Cc(e,t){if(t<0||e<=0)return NaN;let n=1e-30,r=-~(Math.log(e>=1?e:1/e)*8.5+e*.4+17),i=Sc(e),a=Math.exp(-t+e*Math.log(t)-i),o=e,s=1/e,c=s;if(t<e+1){if(a===0)return 0;for(let e=1;e<=r&&(s+=c*=t/++o,!(Math.abs(c)<Math.abs(s)*n));e++);return s*a}if(a===0)return 1;let l=t+1-e,u=1/n,d=1/l,f=d;for(let t=1;t<=r;t++){let r=-t*(t-e);if(l+=2,d=r*d+l,Math.abs(d)<n&&(d=n),u=l+r/u,Math.abs(u)<n&&(u=n),d=1/d,f*=d*u,Math.abs(d*u-1)<n)break}return 1-f*a}function wc(e,t){if(e<=0)return 0;if(e>=1)return Math.max(100,t+100*Math.sqrt(t));let n;if(t>1){let r=e<.5?e:1-e,i=Math.sqrt(-2*Math.log(r));n=(2.30753+i*.27061)/(1+i*(.99229+i*.04481))-i,e<.5&&(n=-n),n=Math.max(.001,t*(1-1/(9*t)-n/(3*Math.sqrt(t)))**3)}else{let r=1-t*(.253+t*.12);n=e<r?(e/r)**(1/t):1-Math.log(1-(e-r)/(1-r))}let r=Sc(t),i,a;for(let o=0;o<12;o++){if(n<=0)return 0;if(i=Cc(t,n)-e,a=t>1?Math.exp((t-1)*(Math.log(t-1)-1)-r)*Math.exp(-(n-(t-1))+(t-1)*(Math.log(n)-Math.log(t-1))):Math.exp(-n+(t-1)*Math.log(n)-r),a!==0&&(a=i/a/(1-.5*Math.min(1,i/a*((t-1)/n-1)))),n-=a,n<=0&&(n=.5*(n+a)),Math.abs(a)<1e-8*n)break}return n}function Tc(e,t,n,r){let i=0;for(let a=0;a<=e;a++)i+=Ec(a,t,n,r);return i}function Ec(e,t,n,r){return t-e>r-n?0:Ns(n,e)*Ns(r-n,t-e)/Ns(r,t)}function Dc(e,t,n){return e<0?0:.5+.5*ks((Math.log(e)-t)/Math.sqrt(2*n*n))}function Oc(e,t,n){return e<=0?0:Math.exp(-Math.log(e)-.5*Math.log(2*Math.PI)-Math.log(n)-(Math.log(e)-t)**2/(2*n*n))}function kc(e,t,n){return Math.exp(Pc(e,t,n))}function Ac(e,t,n){if(e<0)return 0;let r=0;for(let i=0;i<=e;i++)r+=jc(i,t,n);return r}function jc(e,t,n){return e<0?0:Ns(e+t-1,t-1)*n**t*(1-n)**e}function Mc(e,t,n){return .5*(1+ks((e-t)/Math.sqrt(2*n*n)))}function Nc(e,t,n){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(n)-(e-t)**2/(2*n*n))}function Pc(e,t,n){return-1.4142135623730951*n*js(2*e)+t}function Fc(e,t){let n=0;for(let r=0;r<=e;r++)n+=Ic(r,t);return n}function Ic(e,t){return Math.exp(-t)*t**e/Ms(e)}function Lc(e,t){let n=.5*rc(t/(e**2+t),t/2,.5);return e<0?n:1-n}function Rc(e,t){let n=(1+e**2/t)**(-(t+1)/2);return 1/(Math.sqrt(t)*ac(.5,t/2))*n}function zc(e,t){let n=nc(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}function Bc(e,t,n,r,i){let a=[],o=[],s=!0;for(let c=0;c<n;c++){let n=Math.floor(c/r),l=c%r,u=Math.floor(c/i),d=c%i,f=e.isArray()?e.get(n,l):e,p=t.isArray()?t.get(u,d):t;if(f.isError())return{isError:!0,errorObject:f,array1Values:a,array2Values:o,noCalculate:s};if(p.isError())return{isError:!0,errorObject:p,array1Values:a,array2Values:o,noCalculate:s};if(f.isNull()||p.isNull()||f.isBoolean()||p.isBoolean())continue;let m=f.getValue(),h=p.getValue();!w(m)||!w(h)||(a.push(+m),o.push(+h),s=!1)}return{isError:!1,errorObject:null,array1Values:a,array2Values:o,noCalculate:s}}function Vc(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=r,o=i;if(t&&!t.isNull()&&(a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,r===1&&o!==i||i===1&&a!==r||r!==1&&i!==1&&(a!==r||o!==i)))return{isError:!0,errorObject:j.create(D.REF)};if(n&&!n.isNull()){let e=n.isArray()?n.getRowCount():1,t=n.isArray()?n.getColumnCount():1;if(r===1&&a>1&&e!==a||i===1&&o>1&&t!==o)return{isError:!0,errorObject:j.create(D.REF)}}return{isError:!1,errorObject:null}}function Hc(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){r[i]=[];for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError()||n.isNull()||n.isBoolean()||n.isString())return j.create(D.VALUE);r[i].push(+n.getValue())}}return r}function Uc(e,t){let n=[],r=1;for(let i=0;i<e;i++){n[i]=[];for(let e=0;e<t;e++)n[i].push(r++)}return n}function Wc(e,t,n,r){let i=t;r&&(i=t.map(e=>Math.log(e)));let a,o;return n?{slope:a,intercept:o}=Gc(e,i):{slope:a,intercept:o}=Kc(e,i),r&&(a=Math.exp(a),o=Math.exp(o)),Number.isNaN(a)&&!n&&(a=0),{slope:a,intercept:o,Y:i}}function Gc(e,t){let n=t.length,r=0,i=0,a=0,o=0;for(let s=0;s<n;s++)r+=e[s],i+=t[s],a+=e[s]*e[s],o+=e[s]*t[s];let s=(n*o-r*i)/(n*a-r*r);return{slope:s,intercept:1/n*i-1/n*s*r}}function Kc(e,t){let n=[[...e]],r=[...t],i=n.length,a=n[0].length,o=Math.min(i,a),s=Array(o).fill(0);for(let e=0;e<o;e++){let t=n[e],r=0;for(let e=0;e<a;e++)r+=t[e]**2;let o=t[e]<0?Math.sqrt(r):-Math.sqrt(r);if(s[e]=o,o!==0){t[e]-=o;for(let r=e+1;r<i;r++){let i=0;for(let o=e;o<a;o++)i-=n[r][o]*t[o];i/=o*t[e];for(let o=e;o<a;o++)n[r][o]-=i*t[o]}}}i=n.length,a=n[0].length,o=Math.min(i,a);let c=Array(i).fill(0);for(let e=0;e<o;e++){let t=n[e],i=0;for(let e=0;e<a;e++)i+=r[e]*t[e];i/=s[e]*t[e];for(let e=0;e<a;e++)r[e]+=i*t[e]}for(let e=s.length-1;e>=0;e--){r[e]/=s[e];let t=r[e],i=n[e];c[e]=t;for(let n=0;n<e;n++)r[n]-=t*i[n]}return{slope:c[0],intercept:0}}function qc(e,t,n,r,i){let a=e.length===1&&e[0].length>1,o=e;i&&(o=e.map(e=>e.map(e=>Math.log(e))));let s=t,c=n;a&&(o=Vs(o),s=Vs(s),c=Vs(c)),r&&(s=s.map(e=>[...e,1]));let l=Vs(s),u=Bs(l,s),d=Bs(l,o),f=Hs(u);if(!f&&(f=Ks(u),!f))return j.create(D.NA);let p=Bs(f,d);r||p.push([0]),p=Vs(p);let m=p[0].pop();if(p[0].reverse(),p[0].push(m),i)for(let e=0;e<p[0].length;e++)p[0][e]=Math.exp(p[0][e]);return{coefficients:p,Y:o,X:s,newX:c,XTXInverse:f}}function Jc(e){let t=[],n=[],r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isReferenceObject())a.isMultiArea()?t.push(a):n.push(a);else{r=!0;break}}return{isError:r,multiAreaRefs:t,normalRefs:n}}let Q=function(e){return e.AVERAGE=`AVERAGE`,e.COUNT=`COUNT`,e.COUNTA=`COUNTA`,e.MAX=`MAX`,e.MIN=`MIN`,e.PRODUCT=`PRODUCT`,e.STDEV=`STDEV`,e.STDEV_S=`STDEV.S`,e.STDEVP=`STDEVP`,e.STDEV_P=`STDEV.P`,e.SUM=`SUM`,e.VAR=`VAR`,e.VAR_S=`VAR.S`,e.VARP=`VARP`,e.VAR_P=`VAR.P`,e.MEDIAN=`MEDIAN`,e.MODE_SNGL=`MODE.SNGL`,e}({});function Yc(e,t){let r=e[t];return r?r.hd===n.TRUE:!1}function Xc(e,t,n,r,i,a){let o=e.getValue(t,n);if(o!=null&&o.f||o!=null&&o.si){let e=a.getFormulaStringByCell(t,n,r,i);if(e&&(e.indexOf(`${K.SUBTOTAL}(`)>-1||e.indexOf(`${K.AGGREGATE}(`)>-1))return!0}return!1}function Zc(e,t){let n=Object.entries(e).filter(([e,{count:n}])=>n===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return R.create(n[0])}function Qc(e,t){let{type:n,ignoreRowHidden:r,ignoreErrorValues:i,ignoreNested:a,formulaDataModel:o}=e,s=[],c=0,l=0,u=0,d=0,f=0,p=0,m=1,h={},g=1,_=0;for(let e=0;e<t.length;e++){var v;let y=t[e],b=y.getFilteredOutRows(),x=y.getRowData(),S=y.getUnitId(),C=y.getSheetId(),ee=(v=y.getUnitData()[S])==null||(v=v[C])==null?void 0:v.cellData,te;if(y.iterator((e,t,v)=>{if(b.includes(t)||r&&Yc(x,t)||a&&Xc(ee,t,v,C,S,o))return!0;if(n===Q.COUNT)return e!=null&&e.isNumber()&&c++,!0;if(n===Q.COUNTA)return e!=null&&!e.isNull()&&l++,!0;if(e!=null&&e.isError())return i?!0:(te=e,!1);if(!e||e.isNull()||e.isBoolean()||e.isString())return!0;let y=e.getValue();if(!w(y))return!0;if(y=+y,d++,n===Q.MAX)return f=d===1?y:Math.max(f,y),!0;if(n===Q.MIN)return p=d===1?y:Math.min(p,y),!0;if(n===Q.MODE_SNGL)return h[y]?(h[y].count++,h[y].count>g&&(g=h[y].count)):h[y]={count:1,order:_++},!0;u+=y,m*=y,s.push(e)}),te!=null&&te.isError())return te}switch(n){case Q.AVERAGE:return d===0?j.create(D.DIV_BY_ZERO):R.create(u/d);case Q.COUNT:return R.create(c);case Q.COUNTA:return R.create(l);case Q.MAX:return R.create(f);case Q.MIN:return R.create(p);case Q.PRODUCT:return R.create(d===0?0:m);case Q.STDEV:case Q.STDEV_S:return d<2?j.create(D.DIV_BY_ZERO):Ea([s],1,d).std(1);case Q.STDEVP:case Q.STDEV_P:return d===0?j.create(D.DIV_BY_ZERO):Ea([s],1,d).std();case Q.SUM:return R.create(u);case Q.VAR:case Q.VAR_S:return d<2?j.create(D.DIV_BY_ZERO):Ea([s],1,d).var(1);case Q.VARP:case Q.VAR_P:return d===0?j.create(D.DIV_BY_ZERO):Ea([s],1,d).var();case Q.MEDIAN:return d===0?j.create(D.NUM):el(s.map(e=>+e.getValue()));case Q.MODE_SNGL:return _===0||g===1?j.create(D.NA):Zc(h,g);default:return j.create(D.VALUE)}}function $c(e,t,n){let{ignoreRowHidden:r=!1,ignoreErrorValues:i=!1,ignoreNested:a=!1}=t==null?{}:t,o=[];if(e.isReferenceObject()){var s;let t=e.getFilteredOutRows(),c=e.getRowData(),l=e.getUnitId(),u=e.getSheetId(),d=(s=e.getUnitData()[l])==null||(s=s[u])==null?void 0:s.cellData,f;if(e.iterator((e,s,p)=>{if(t.includes(s)||r&&Yc(c,s))return!0;if(e!=null&&e.isError())return i?!0:(f=e,!1);if(a&&n&&Xc(d,s,p,u,l,n)||!e||e.isNull()||e.isBoolean()||e.isString())return!0;let m=e.getValue();if(!w(m))return!0;o.push(+m)}),f)return f}else{let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let r=0;r<t;r++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(r,t):e;if(n.isError()){if(i)continue;return n}if(!n||n.isNull()||n.isBoolean()||n.isString())continue;let a=n.getValue();w(a)&&o.push(+a)}}return o.length===0?j.create(D.NUM):o}function el(e){let t=e.length;e.sort((e,t)=>e-t);let n;if(t%2==0){let r=t/2;n=(e[r-1]+e[r])/2}else n=e[Math.floor(t/2)];return R.create(n)}function tl(e,t){if(t<1||t>e.length)return j.create(D.NUM);e.sort((e,t)=>t-e);let n=Math.ceil(t);return R.create(e[n-1])}function nl(e,t){if(t<1||t>e.length)return j.create(D.NUM);e.sort((e,t)=>e-t);let n=Math.floor(t);return R.create(e[n-1])}function rl(e,t){let n=e.length;if(t<0||t>1)return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t*(n-1),i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function il(e,t){let n=e.length;if(t<1/(n+1)||t>1-1/(n+1))return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t*(n+1)-1,i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function al(e,t){let n=e.length;if(t<0||t>4)return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t/4*(n-1),i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function ol(e,t){let n=e.length;if(t<=0||t>=4)return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t/4;if(r<1/(n+1)||r>1-1/(n+1))return j.create(D.NUM);let i=r*(n+1)-1,a=Math.floor(i),o=i-a;if(o===0)return R.create(e[a]);let s=e[a]+o*(e[a+1]-e[a]);return R.create(s)}var sl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(1):i;a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.mapValue((e,t,n)=>{let r=u.get(t,n),i=d.get(t,n),a=f.get(t,n),o=p.get(t,n);return this._handleSingleObject(e,r,i,a,o)});return s===1&&c===1?m.get(0,0):m}_handleSingleObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,p=+c.getValue(),m=+l.getValue(),h=+u.getValue(),g=+d.getValue(),_=+f.getValue();if(m<=0||h<=0||p<=0||p>=1||g>=_)return j.create(D.NUM);let v=nc(p,m,h)*(_-g)+g;return R.create(v)}},cl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),p=+l.getValue(),m=+u.getValue();if(d<0||d>f||p<0||p>1)return j.create(D.NUM);let h;return h=m?sc(d,f,p):cc(d,f,p),R.create(h)}},ll=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=+s.getValue(),d=+c.getValue();if(l<0||u<=0||u>=1||d<=0||d>=1)return j.create(D.NUM);let f=0;for(;f<=l&&!(sc(f,l,u)>=d);)f++;return R.create(f)}},ul=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||c<1||c>10**10)return j.create(D.NUM);let l=1-lc(s,c);return R.create(l)}},dl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=dc(1-s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},fl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.NA);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d,n,r)}_getResult(e,t,n,r){let i=0;for(let n=0;n<e.length;n++){if(t[n]===0)return j.create(D.DIV_BY_ZERO);i+=(e[n]-t[n])**2/t[n]}let a=(n-1)*(r-1);n===1?a=r-1:r===1&&(a=n-1);let o=1-lc(i,a);return R.create(o)}},pl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,p=+u.getValue(),m=+d.getValue(),h=Math.floor(+f.getValue());if(p<=0||p>=1||m<=0||h<1)return j.create(D.NUM);let g=Math.abs(Pc(p/2,0,1)*m/Math.sqrt(h));return R.create(g)});return r===1&&i===1?c.get(0,0):c}},ml=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return j.create(D.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i}return R.create(s/n)}},hl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<0||u<=0)return j.create(D.NUM);let f;return f=d?hc(l,u):gc(l,u),R.create(f)}},gl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||u<1||u>10**10||d<1||d>10**10)return j.create(D.NUM);let f=1-fc(l,u,d);return R.create(f)}},_l=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||l>1||u<1||u>10**10||d<1||d>10**10)return j.create(D.NUM);let f=mc(1-l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},vl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variance:i,ns1:a}=this._getValues(e);if(n)return r;let{isError:o,errorObject:s,variance:c,ns1:l}=this._getValues(t);if(o)return s;let u=2*(1-fc(i/c,a,l));return u>1&&(u=2-u),R.create(u)}_getValues(e){let t=0,n=0,r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(r===1&&i===1){let r=e.isArray()?e.get(0,0):e;return r.isError()?{isError:!0,errorObject:r,variance:t,ns1:n}:r.isNull()?{isError:!0,errorObject:j.create(D.VALUE),variance:t,ns1:n}:{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),variance:t,ns1:n}}let a=[],o=0;for(let s=0;s<r;s++)for(let r=0;r<i;r++){let i=e.isArray()?e.get(s,r):e;if(i.isError())return{isError:!0,errorObject:i,variance:t,ns1:n};if(i.isNull()||i.isBoolean())continue;let c=i.getValue();w(c)&&(a.push(+c),o+=+c)}if(a.length<=1)return{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),variance:t,ns1:n};let s=o/a.length,c=0;for(let e=0;e<a.length;e++)c+=(a[e]-s)**2;return n=a.length-1,t=c/n,t===0?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),variance:t,ns1:n}:{isError:!1,errorObject:null,variance:t,ns1:n}}},yl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(d<0||f<=0||p<=0)return j.create(D.NUM);let h;return h=m?yc(d,f,p):bc(d,f,p),R.create(h)}},bl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<0||l>1||u<=0||d<=0)return j.create(D.NUM);let f=xc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},xl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||l>=1||d<=0)return j.create(D.NUM);let f=kc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},Sl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t={},n=0,r=1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;let s=o.getValue();w(s)&&(t[+s]?(t[+s].count++,t[+s].count>r&&(r=t[+s].count)):t[+s]={count:1,order:n++})}}return n===0||r===1?new j(D.NA):Zc(t,r)}},Cl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(p<=0)return j.create(D.NUM);let h;return h=m?Mc(d,f,p):Nc(d,f,p),R.create(h)}},wl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||l>=1||d<=0)return j.create(D.NUM);let f=Pc(l,u,d);return R.create(f)}},Tl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0||a>=1)return j.create(D.NUM);let o=Pc(a,0,1);return R.create(o)}},El=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return rl(e,+a.getValue())}},Dl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?R.create(3):n;i.isNull()&&(i=R.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,t,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((e,t,n)=>{let i=c.get(t,n);return e.isError()?e:i.isError()?i:this._handleSingleObject(r,e,i)});return a===1&&o===1?l.get(0,0):l}_handleSingleObject(e,t,n){if(e instanceof j)return e;let{isError:r,errorObject:i,variants:a}=X(t,n);if(r)return i;let[o,s]=a,c=+o.getValue(),l=Math.floor(+s.getValue()),u=e.length;if(u===0||c<e[0]||c>e[u-1])return j.create(D.NA);if(u===1)return c===e[0]?R.create(1):j.create(D.NA);let d=0,f=!1,p=0;for(;!f&&p<u;)c===e[p]?(d=p/(u-1),f=!0):c>e[p]&&p+1<u&&c<e[p+1]&&(d=(p+(c-e[p])/(e[p+1]-e[p]))/(u-1),f=!0),p++;return f?l<1?j.create(D.NUM):(d=Ki(d,l),R.create(d)):j.create(D.NA)}_getValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;let a=n.getValue();w(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},Ol=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=+s.getValue(),d=+c.getValue();if(l<0||u<0)return j.create(D.NUM);let f;return f=d?Fc(l,u):Ic(l,u),R.create(f)}},kl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return al(e,Math.floor(+a.getValue()))}},Al=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std()}},jl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std(1)}},Ml=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<=0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=Math.abs(zc(s/2,c));return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Nl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,array1Values:o,array2Values:s}=this._handleArray1AndArray2(e,t),c=this._getArrayValues(e),l=this._getArrayValues(t),u=Math.max(n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),d=Math.max(n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=V(u,d,n,j.create(D.NA)),p=V(u,d,r,j.create(D.NA)),m=f.mapValue((n,r,u)=>{let d=p.get(r,u);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(d.isError())return d;let{isError:f,errorObject:m,variants:h}=X(n,d);if(f)return m;let[g,_]=h,v=Math.floor(+g.getValue()),y=Math.floor(+_.getValue());return![1,2].includes(v)||![1,2,3].includes(y)?j.create(D.NUM):y===1&&i?a:y!==1&&c instanceof j?c:y!==1&&l instanceof j?l:this._handleSingleObject(y===1?o:c,y===1?s:l,v,y)});return u===1&&d===1?m.get(0,0):m}_handleSingleObject(e,t,n,r){if(e.length<2||t.length<2)return j.create(D.DIV_BY_ZERO);let{isError:i,errorObject:a,x:o,degFreedom:s}=this._getTDistParamByArrayValues(e,t,r);if(i)return a;let c=Lc(-o,s);return n===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?j.create(D.NUM):R.create(c)}_getArrayValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let a=0;a<n;a++){let o=e.isArray()?e.get(i,a):e;if(o.isError())return o;if(o.isNull()){if(t*n===1)return j.create(D.VALUE);continue}o.isBoolean()||o.isString()||r.push(+o.getValue())}return r}_handleArray1AndArray2(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,array1Values:[],array2Values:[]};let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,array1Values:[],array2Values:[]};if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:j.create(D.VALUE),array1Values:[],array2Values:[]};if(n*r!==i*a)return{isError:!0,errorObject:j.create(D.NA),array1Values:[],array2Values:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,array1Values:[],array2Values:[]}:f||u.length<2?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:u,array2Values:d}}_getTDistParamByArrayValues(e,t,n){return n===1?this._getTDistParamByType1(e,t):n===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){let n=e.length,r=0,i=0,a=0;for(let o=0;o<n;o++)r+=e[o],i+=t[o],a+=(e[o]-t[o])**2;let o=r-i,s=n*a-o**2,c=n-1;return s===0?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),x:0,degFreedom:c}:{isError:!1,errorObject:null,x:Math.abs(o)*Math.sqrt(c/s),degFreedom:c}}_getTDistParamByType2(e,t){let n=e.length,r=t.length,i=0,a=0;for(let t=0;t<n;t++)i+=e[t],a+=e[t]**2;let o=0,s=0;for(let e=0;e<r;e++)o+=t[e],s+=t[e]**2;let c=a-i**2/n,l=s-o**2/r,u=Math.sqrt(c+l);if(u===0)return{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),x:0,degFreedom:0};let d=n-1+r-1,f=Math.sqrt(n*r*d/(n+r));return{isError:!1,errorObject:null,x:Math.abs(i/n-o/r)/u*f,degFreedom:d}}_getTDistParamByType3(e,t){let n=e.length,r=t.length,i=0,a=0;for(let t=0;t<n;t++)i+=e[t],a+=e[t]**2;let o=0,s=0;for(let e=0;e<r;e++)o+=t[e],s+=t[e]**2;let c=(a-i**2/n)/(n*(n-1)),l=(s-o**2/r)/(r*(r-1));if(c+l===0)return{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),x:0,degFreedom:0};let u=c/(c+l);return{isError:!1,errorObject:null,x:Math.abs(i/n-o/r)/Math.sqrt(c+l),degFreedom:1/(u**2/(n-1)+(1-u)**2/(r-1))}}},Pl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var()}},Fl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var(1)}},Il=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(d<0||f<=0||p<=0)return j.create(D.NUM);let h=Math.exp(-((d/p)**f)),g;return g=m?1-h:f/p**f*d**(f-1)*h,Number.isNaN(g)||!Number.isFinite(g)?j.create(D.NUM):R.create(g)}},Ll=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=this._getArrayValues(e),i=Math.max(t.isArray()?t.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=V(i,a,t,j.create(D.NA)),s=n?V(i,a,n,j.create(D.NA)):void 0,c=o.mapValue((e,t,i)=>{if(r instanceof j)return r;if(e.isError())return e;let a=n?s.get(t,i):void 0;return a!=null&&a.isError()?a:r.length===0?j.create(D.NA):r.length===1?j.create(D.DIV_BY_ZERO):this._handleSingleObject(r,e,a)});return i===1&&a===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=+o.getValue(),c=e.length,l=0,u=0;for(let t=0;t<c;t++)l+=e[t],u+=e[t]**2;let d=0;if(n!==void 0){let{isError:e,errorObject:t,variants:r}=X(n);if(e)return t;let[i]=r;d=+i.getValue()}else{let e=l/c;d=Math.sqrt((u-2*e*l+c*e**2)/(c-1))}if(d<=0)return j.create(D.NUM);let f=1-Mc((l/c-s)/(d/Math.sqrt(c)),0,1);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}_getArrayValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;if(r.isNull()||r.isBoolean()||r.isString())continue;let a=r.getValue();w(a)&&t.push(+a)}return t}},Rl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(1):i;a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.mapValue((e,t,n)=>{let r=u.get(t,n),i=d.get(t,n),a=f.get(t,n),o=p.get(t,n);return this._handleSingleObject(e,r,i,a,o)});return s===1&&c===1?m.get(0,0):m}_handleSingleObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,p=+c.getValue(),m=+l.getValue(),h=+u.getValue(),g=+d.getValue(),_=+f.getValue();if(m<=0||h<=0||p<g||p>_||g===_)return j.create(D.NUM);let v=ec((p-g)/(_-g),m,h);return R.create(v)}};let zl=function(e){return e.BETADIST=`BETADIST`,e.BETAINV=`BETAINV`,e.BINOMDIST=`BINOMDIST`,e.CHIDIST=`CHIDIST`,e.CHIINV=`CHIINV`,e.CHITEST=`CHITEST`,e.CONFIDENCE=`CONFIDENCE`,e.COVAR=`COVAR`,e.CRITBINOM=`CRITBINOM`,e.EXPONDIST=`EXPONDIST`,e.FDIST=`FDIST`,e.FINV=`FINV`,e.FTEST=`FTEST`,e.GAMMADIST=`GAMMADIST`,e.GAMMAINV=`GAMMAINV`,e.HYPGEOMDIST=`HYPGEOMDIST`,e.LOGINV=`LOGINV`,e.LOGNORMDIST=`LOGNORMDIST`,e.MODE=`MODE`,e.NEGBINOMDIST=`NEGBINOMDIST`,e.NORMDIST=`NORMDIST`,e.NORMINV=`NORMINV`,e.NORMSDIST=`NORMSDIST`,e.NORMSINV=`NORMSINV`,e.PERCENTILE=`PERCENTILE`,e.PERCENTRANK=`PERCENTRANK`,e.POISSON=`POISSON`,e.QUARTILE=`QUARTILE`,e.RANK=`RANK`,e.STDEV=`STDEV`,e.STDEVP=`STDEVP`,e.TDIST=`TDIST`,e.TINV=`TINV`,e.TTEST=`TTEST`,e.VAR=`VAR`,e.VARP=`VARP`,e.WEIBULL=`WEIBULL`,e.ZTEST=`ZTEST`,e}({});var Bl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(d<0||d>f||d>p||d<f-m+p||f<=0||f>m||p<=0||p>m||m<=0)return j.create(D.NUM);let h=Ec(d,f,p,m);return Number.isNaN(h)&&(h=0),R.create(h)}},Vl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||d<=0)return j.create(D.NUM);let f=Dc(l,u,d);return R.create(f)}},Hl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=Math.floor(+s.getValue()),d=+c.getValue();if(l<0||u<1||d<=0||d>=1)return j.create(D.NUM);let f=jc(l,u,d);return R.create(f)}},Ul=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Mc(+i.getValue(),0,1);return R.create(a)}},Wl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return j.create(D.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?j.create(D.NA):R.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=j.create(D.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},Gl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||u<1||u>10**10||d<1||d>2)return j.create(D.NUM);let f=Lc(-l,u);return d===2&&(f*=2),Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}};const Kl=[[Rl,zl.BETADIST],[sl,zl.BETAINV],[cl,zl.BINOMDIST],[ul,zl.CHIDIST],[dl,zl.CHIINV],[fl,zl.CHITEST],[pl,zl.CONFIDENCE],[ml,zl.COVAR],[ll,zl.CRITBINOM],[hl,zl.EXPONDIST],[gl,zl.FDIST],[_l,zl.FINV],[vl,zl.FTEST],[yl,zl.GAMMADIST],[bl,zl.GAMMAINV],[Bl,zl.HYPGEOMDIST],[Vl,zl.LOGNORMDIST],[xl,zl.LOGINV],[Sl,zl.MODE],[Hl,zl.NEGBINOMDIST],[Cl,zl.NORMDIST],[wl,zl.NORMINV],[Ul,zl.NORMSDIST],[Tl,zl.NORMSINV],[El,zl.PERCENTILE],[Dl,zl.PERCENTRANK],[Ol,zl.POISSON],[kl,zl.QUARTILE],[Wl,zl.RANK],[jl,zl.STDEV],[Al,zl.STDEVP],[Gl,zl.TDIST],[Ml,zl.TINV],[Nl,zl.TTEST],[Fl,zl.VAR],[Pl,zl.VARP],[Il,zl.WEIBULL],[Ll,zl.ZTEST]],ql=[];let Jl=function(e){return e.CUBEKPIMEMBER=`CUBEKPIMEMBER`,e.CUBEMEMBER=`CUBEMEMBER`,e.CUBEMEMBERPROPERTY=`CUBEMEMBERPROPERTY`,e.CUBERANKEDMEMBER=`CUBERANKEDMEMBER`,e.CUBESET=`CUBESET`,e.CUBESETCOUNT=`CUBESETCOUNT`,e.CUBEVALUE=`CUBEVALUE`,e}({});var Yl=class extends Z{isCustom(){return!0}},Xl=class extends Yl{isAsync(){return!0}};function Zl(e){let t=[];if(e.isError())return{isError:!0,errorObject:e,databaseValues:t};let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;if(n<2)return{isError:!0,errorObject:j.create(D.VALUE),databaseValues:t};for(let i=0;i<n;i++){let n=[];for(let t=0;t<r;t++){let r=e.get(i,t);if(r.isNull()){n.push(null);continue}let a=`${r.getValue()}`;if(r.isBoolean()&&(a=a.toLocaleUpperCase()),r.isNumber()||w(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,databaseValues:t}}function Ql(e,t){let n=-1;if(e.isError())return{isError:!0,errorObject:e,fieldIndex:n};let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(r>1||i>1)return{isError:!0,errorObject:j.create(D.VALUE),fieldIndex:n};let a=e.isArray()?e.get(0,0):e,o=`${a.getValue()}`;if(a.isNull()?o=0:a.isBoolean()?o=a.getValue()?1:0:(a.isNumber()||w(o))&&(o=Math.floor(+o)),typeof o==`number`){if(o<1||o>t[0].length)return{isError:!0,errorObject:j.create(D.VALUE),fieldIndex:n};n=o-1}else if(n=t[0].findIndex(e=>e===null?!1:`${e}`.toLocaleLowerCase()===o.toLocaleLowerCase()),n===-1)return{isError:!0,errorObject:j.create(D.VALUE),fieldIndex:n};return{isError:!1,errorObject:null,fieldIndex:n}}function $l(e){let t=[];if(e.isError())return{isError:!0,errorObject:e,criteriaValues:t};let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;if(n<2)return{isError:!0,errorObject:j.create(D.VALUE),criteriaValues:t};for(let i=0;i<n;i++){let n=[];for(let t=0;t<r;t++){let r=e.get(i,t);if(r.isNull()){n.push(null);continue}let a=`${r.getValue()}`;if(r.isBoolean()){n.push(r.getValue()?1:0);continue}if(r.isNumber()||w(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,criteriaValues:t}}function eu(e,t,n){let r=e.length,i=e[0].length,a={},o=!1;for(let s=1;s<r;s++){let r=!0;for(let o=0;o<i;o++){let i=e[s][o];if(i===null)continue;let c=a[o];if(c===void 0){let n=e[0][o];c=t[0].findIndex(e=>e===null||n===null?!1:`${e}`.toLocaleLowerCase()===`${n}`.toLocaleLowerCase()),a[o]=c}if(c===-1&&(typeof i==`string`||i===0)){r=!1;break}else if(c>-1){let e=t[n][c];if(e===null){r=!1;break}let[a,o]=Da(`${i}`);if(!ga.create(`${e}`).compare(o,a).getValue()){r=!1;break}}}if(r){o=!0;break}}return o}var tu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f+=t,p++)}return p===0?j.create(D.DIV_BY_ZERO):R.create(f/p)}},nu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)typeof a[e][c]==`number`&&eu(d,a,e)&&f++;return R.create(f)}},ru=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&eu(d,a,e)&&f++;return R.create(f)}},iu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0,p=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&eu(d,a,e)&&(f++,p=e);return f===0?j.create(D.VALUE):f>1?j.create(D.NUM):e.get(p,c)}},au=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=-1/0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f=Math.max(f,t),p++)}return p===0?R.create(0):R.create(f)}},ou=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=1/0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f=Math.min(f,t),p++)}return p===0?R.create(0):R.create(f)}},su=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=1,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f*=t,p++)}return p===0?R.create(0):R.create(f)}},cu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=Math.sqrt(g/(m-1));return R.create(_)}},lu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=Math.sqrt(g/m);return R.create(_)}},uu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f+=t)}return R.create(f)}},du=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=g/(m-1);return R.create(_)}},fu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=g/m;return R.create(_)}};let pu=function(e){return e.DAVERAGE=`DAVERAGE`,e.DCOUNT=`DCOUNT`,e.DCOUNTA=`DCOUNTA`,e.DGET=`DGET`,e.DMAX=`DMAX`,e.DMIN=`DMIN`,e.DPRODUCT=`DPRODUCT`,e.DSTDEV=`DSTDEV`,e.DSTDEVP=`DSTDEVP`,e.DSUM=`DSUM`,e.DVAR=`DVAR`,e.DVARP=`DVARP`,e}({});const mu=[[tu,pu.DAVERAGE],[nu,pu.DCOUNT],[ru,pu.DCOUNTA],[iu,pu.DGET],[au,pu.DMAX],[ou,pu.DMIN],[su,pu.DPRODUCT],[cu,pu.DSTDEV],[lu,pu.DSTDEVP],[uu,pu.DSUM],[du,pu.DVAR],[fu,pu.DVARP]];var hu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,p=Math.floor(+u.getValue()),m=Math.floor(+d.getValue()),h=Math.floor(+f.getValue());if(p<0||p>9999)return j.create(D.NUM);p>=0&&p<1899&&(p+=1900);let g=et(new Date(Date.UTC(p,m-1,h)));return g<0?j.create(D.NUM):R.create(g,Qe)});return r===1&&i===1?c.get(0,0):c}},gu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t,a=n;if(r.isArray()&&(r=r.get(0,0)),i.isArray()&&(i=i.get(0,0)),a.isArray()&&(a=a.get(0,0)),r.isError())return r;if(i.isError())return i;if(a.isError())return a;let o=N(r);if(typeof o!=`number`)return o;let s=N(i);return typeof s==`number`?s<o||!a.isString()?j.create(D.NUM):this._getResultByUnit(o,s,a):s}_getResultByUnit(e,t,n){let r=M(e),i=r.getUTCFullYear(),a=r.getUTCMonth()+1,o=r.getUTCDate(),s=M(t),c=s.getUTCFullYear(),l=s.getUTCMonth()+1,u=s.getUTCDate(),d=`${n.getValue()}`.toLocaleUpperCase(),f=0,p;switch(d){case`Y`:f=c-i,(l<a||l===a&&u<o)&&--f;break;case`M`:f=(c-i)*12+l-a,u<o&&--f;break;case`D`:f=Math.floor(t)-Math.floor(e);break;case`MD`:f=u-o,u<o&&(p=new Date(Date.UTC(c,l-1,0)),f+=xt(p.getUTCFullYear(),p.getUTCMonth()));break;case`YM`:f=l-a,(l<a||l===a&&u<o)&&(f+=12),u<o&&--f;break;case`YD`:p=new Date(Date.UTC(i,l-1,u)),(l<a||l===a&&u<o)&&(p=new Date(Date.UTC(i+1,l-1,u))),f=Math.floor(et(p))-Math.floor(e);break;default:return j.create(D.NUM)}return R.create(f)}},_u=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=`${e.getValue()}`,n=it(t);if(n===null&&(n=at(t)),n){let{v:e,z:t}=n;if(t&&ot(t))return e instanceof Date&&(e=tt(e)),R.create(Math.trunc(+e))}}return j.create(D.VALUE)}},vu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t,n=e.getValue();if(e.isString()){if(!rt(`${n}`))return j.create(D.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return j.create(D.NUM);if(n===0)return R.create(0);t=M(n)}let r=t.getUTCDate();return R.create(r)}},yu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t),o=i.map((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let i=N(e);if(typeof i!=`number`)return i;let o=N(r);if(typeof o!=`number`)return o;let s=Math.floor(i)-Math.floor(o);return R.create(s)});return n===1&&r===1?o.get(0,0):o}},bu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?L.create(!1):n;if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);if(e.isError())return e;let a=N(e);if(typeof a!=`number`)return a;if(r.isError())return r;let o=N(r);if(typeof o!=`number`)return o;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let{days:l}=pt(a,o,+i.getValue()?4:0),u=o>=a?l:-l;return R.create(u)});return i===1&&a===1?l.get(0,0):l}},xu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.map((e,t,n)=>{let r=a.get(t,n)||I.create();if(e.isError())return e;if(r.isError())return r;if(e.isString()||e.isBoolean()||r.isString()||r.isBoolean())return j.create(D.VALUE);let i=+e.getValue();if(i<0)return j.create(D.NUM);let o=Math.floor(+r.getValue()),s=M(i),c=s.getUTCFullYear(),l=s.getUTCMonth()+o,u=s.getUTCDate(),d=et(new Date(Date.UTC(c,l,u)));return R.create(d,Qe)})}},Su=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e,r=t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(n.isError())return n;if(r.isError())return r;let i=N(n);if(typeof i!=`number`)return i;if(r.isBoolean())return j.create(D.VALUE);let a=M(i),o=i>0?a.getUTCFullYear():1900,s=i>0?a.getUTCMonth():0,c=Math.floor(+r.getValue());if(Number.isNaN(c))return j.create(D.VALUE);let l=et(new Date(Date.UTC(o,s+c+1,0)));return R.create(l)}},Cu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){let n=t==null?R.create(1):t,{isError:r,errorObject:i,timestampIsReferenceObject:a,timestampObject:o,unitObject:s}=this._checkVariants(e,n);if(r)return i;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&o.getPattern()!==``)return j.create(D.VALUE);let c=+o.getValue(),{isError:l,errorObject:u,variants:d}=X(s);if(l)return u;let[f]=d,p=Math.floor(+f.getValue());if(c<0||p<1||p>3)return j.create(D.NUM);p===1&&(c*=1e3),p===3&&(c/=1e3);let m=new Date(Date.UTC(1970,0,1,0,0,0,0)+c);if(Number.isNaN(m.getTime())){let e=25569+c/864e5;return R.create(e)}else{let e=tt(m);return R.create(e,`yyyy-MM-dd AM/PM hh:mm:ss`)}}_checkVariants(e,t){let n=e.isReferenceObject(),r=t.isReferenceObject(),i=e;if(n&&(i=e.toArrayValueObject()),i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:j.create(D.VALUE)};i=i.get(0,0)}if(i.isError())return{isError:!0,errorObject:i};let a=t;if(r&&(a=t.toArrayValueObject()),a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:j.create(D.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:n,timestampObject:i,unitIsReferenceObject:r,unitObject:a}}},wu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=nt(t).getUTCHours();return R.create(n)}},Tu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;let n=M(t),r=t>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=et(i),o=ft(a),s;s=o<1?a+1:o<=4?a-(o-1):a+(11-o),t<s&&(i=new Date(Date.UTC(r-1,0,1)),a=et(i),o=ft(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));let c=Math.ceil((t-s+1)/7);return R.create(c)}},Eu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=nt(t).getUTCMinutes();return R.create(n)}},Du=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,n=e.getValue();if(e.isString()){if(!rt(`${n}`))return j.create(D.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return j.create(D.NUM);if(n===0)return R.create(1);t=M(n)}let r=t.getUTCMonth()+1;return R.create(r)}},Ou=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return j.create(D.VALUE);let a=N(r);if(typeof a!=`number`)return a;let o=N(i);if(typeof o!=`number`)return o;if(n)return this._getResultByHolidays(a,o,n);let s=ut(a,o);return R.create(s)}_getResultByHolidays(e,t,n){let r=[];if(n!=null&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let i=0;i<e;i++)for(let e=0;e<t;e++){let t=n.get(i,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return j.create(D.VALUE);let e=N(n);if(typeof e!=`number`)return e;r.push(e)}let i=ut(e,t,1,r);return R.create(i)}},ku=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){return e.isError()?e:t.isError()?t:n!=null&&n.isError()?n:r!=null&&r.isError()?r:n!=null&&n.isArray()?n.map(n=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,t,n,r)}_handleSingleObject(e,t,n,r){let i=e,a=t;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}if(i.isError())return i;if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(n){if(o=n.getValue(),n.isBoolean()&&(o=+o),n.isString()&&!ct(o))return j.create(D.VALUE);if(!ct(o))return j.create(D.NUM)}if(i.isBoolean()||a.isBoolean())return j.create(D.VALUE);let s=N(i);if(typeof s!=`number`)return s;let c=N(a);if(typeof c!=`number`)return c;if(r)return this._getResultByHolidays(s,c,o,r);let l=ut(s,c,o);return R.create(l)}_getResultByHolidays(e,t,n,r){let i=[];if(r!=null&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r.get(n,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return j.create(D.VALUE);let e=N(r);if(typeof e!=`number`)return e;i.push(e)}let a=ut(e,t,n,i);return R.create(a)}},Au=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){let e=new Date,t=tt(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())));return R.create(t,`yyyy/mm/dd hh:mm`)}},ju=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=nt(t).getUTCSeconds();return R.create(n)}},Mu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e),o=V(r,i,t),s=V(r,i,n);return a.map((e,t,n)=>this._calculateTime(e,o,s,t,n))}_calculateTime(e,t,n,r,i){let a=e,o=t.get(r,i)||I.create(),s=n.get(r,i)||I.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(s.isError())return s;let c=Math.floor(+a.getValue()),l=Math.floor(+o.getValue()),u=Math.floor(+s.getValue());if(c<0||l<0||u<0||c>32767||l>32767||u>32767)return j.create(D.NUM);l+=Math.floor(u/60),u%=60,c+=Math.floor(l/60),l%=60,c%=24;let d=(c*3600+l*60+u)/86400;return R.create(d,`h:mm A/P`)}},Nu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=le(`${e.getValue()}`);if(t){let{v:e,z:n}=t;if(n&&ot(n))return e instanceof Date&&(e=tt(e)),R.create(oa(+e))}}return j.create(D.VALUE)}},Pu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){let t=e.isReferenceObject(),n=e;if(t&&(n=e.toArrayValueObject()),n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError()||n.isNull()||n.isBoolean()||n.isString()||!t&&n.isNumber()&&n.getPattern()!==``)return n;let r=+n.getValue();return R.create(r,`yyyy-MM-dd hh:mm:ss AM/PM`)}},Fu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){let e=new Date,t=et(new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())));return R.create(t,Qe)}},Iu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(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){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n);return this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(n.isError())return n;let r=N(e);if(typeof r!=`number`)return r;if(n.isString()&&(n=n.convertToNumberObjectValue(),n.isError()))return n;let i=Math.floor(+n.getValue());if(!this._returnTypeMap[i])return j.create(D.NUM);let a=ft(r),o=this._returnTypeMap[i][a];return R.create(o)}},Lu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(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 n=e,r=t==null?R.create(1):t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean())return j.create(D.VALUE);let i=N(n);if(typeof i!=`number`)return i;if(r.isBoolean())return j.create(D.VALUE);let a=Math.floor(+r.getValue());return Number.isNaN(a)?j.create(D.VALUE):a in this._returnTypeMap?this._getResult(i,a):j.create(D.NUM)}_getResult(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=et(i),o=ft(a),s;if(t===21)s=o<1?a+1:o<=4?a-(o-1):a+(11-o),e<s&&(i=new Date(Date.UTC(r-1,0,1)),a=et(i),o=ft(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));else{let e=this._returnTypeMap[t];s=o<e?a-(o+7-e):a-(o-e)}let c=Math.ceil((e-s+1)/7);return R.create(c)}},Ru=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return j.create(D.VALUE);let a=N(r);if(typeof a!=`number`)return a;let o=+i.getValue();if(Number.isNaN(o))return j.create(D.VALUE);if(n)return this._getResultByHolidays(a,o,n);let s=dt(a,o);return typeof s==`number`?R.create(s):s}_getResultByHolidays(e,t,n){let r=[];if(n!=null&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let i=0;i<e;i++)for(let e=0;e<t;e++){let t=n.get(i,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return j.create(D.VALUE);let e=N(n);if(typeof e!=`number`)return e;r.push(e)}let i=dt(e,t,1,r);return typeof i==`number`?R.create(i):i}},zu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){return e.isError()?e:t.isError()?t:n!=null&&n.isError()?n:r!=null&&r.isError()?r:n!=null&&n.isArray()?n.map(n=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,t,n,r)}_handleSingleObject(e,t,n,r){let i=n==null?R.create(1):n,a=this._checkArrayError(e);if(a.isError())return a;let o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return j.create(D.VALUE);let s=N(e);if(typeof s!=`number`)return s;let c=+t.getValue();if(Number.isNaN(c))return j.create(D.VALUE);let l=i.getValue();if(i.isBoolean()&&(l=+l),i.isString()&&(!ct(l)||l===`1111111`))return j.create(D.VALUE);if(!ct(l))return j.create(D.NUM);if(r)return this._getResultByHolidays(s,c,l,r);let u=dt(s,c,l);return typeof u==`number`?R.create(u):u}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,n,r){let i=[];if(r!=null&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r.get(n,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return j.create(D.VALUE);let e=N(r);if(typeof e!=`number`)return e;i.push(e)}let a=dt(e,t,n,i);return typeof a==`number`?R.create(a):a}},Bu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,n=e.getValue();if(e.isString()){if(!rt(`${n}`))return j.create(D.VALUE);t=new Date(`${n}`)}else{let e=+n;if(e<0)return j.create(D.NUM);if(e===0)return R.create(1900);t=M(e)}let r=t.getUTCFullYear();return R.create(r)}},Vu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n,i=vs(e);if(i.isError())return i;let a=vs(t);if(a.isError())return a;if(r=vs(r),r.isError())return r;if(i.isBoolean()||a.isBoolean()||r.isBoolean())return j.create(D.VALUE);let o=N(i);if(typeof o!=`number`)return o;let s=N(a);if(typeof s!=`number`)return s;let c=Math.floor(+r.getValue());if(Number.isNaN(c))return j.create(D.VALUE);if(c<0||c>4)return j.create(D.NUM);let{days:l,yearDays:u}=pt(o,s,c),d=l/u;return R.create(d)}};const Hu=[[hu,eo.DATE],[gu,eo.DATEDIF],[_u,eo.DATEVALUE],[vu,eo.DAY],[yu,eo.DAYS],[bu,eo.DAYS360],[xu,eo.EDATE],[Su,eo.EOMONTH],[Cu,eo.EPOCHTODATE],[wu,eo.HOUR],[Tu,eo.ISOWEEKNUM],[Eu,eo.MINUTE],[Du,eo.MONTH],[Ou,eo.NETWORKDAYS],[ku,eo.NETWORKDAYS_INTL],[Au,eo.NOW],[ju,eo.SECOND],[Mu,eo.TIME],[Nu,eo.TIMEVALUE],[Pu,eo.TO_DATE],[Fu,eo.TODAY],[Iu,eo.WEEKDAY],[Lu,eo.WEEKNUM],[Ru,eo.WORKDAY],[zu,eo.WORKDAY_INTL],[Bu,eo.YEAR],[Vu,eo.YEARFRAC]];var Uu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.besseli(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Wu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.besselj(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Gu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.besselk(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Ku=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.bessely(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},qu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Es(a))return j.create(D.NUM);let o;return o=a.length===10&&a.substring(0,1)===`1`?Number.parseInt(a.substring(1),2)-512:Number.parseInt(a,2),R.create(o)}},Ju=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Es(s))return j.create(D.NUM);let c;if(s.length===10&&s.substring(0,1)===`1`)c=(0xfffffffe00+Number.parseInt(s.substring(1),2)).toString(16);else if(c=Number.parseInt(s,2).toString(16),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c.toLocaleUpperCase())}},Yu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Es(s))return j.create(D.NUM);let c;if(s.length===10&&s.substring(0,1)===`1`)c=(1073741312+Number.parseInt(s.substring(1),2)).toString(8);else if(c=Number.parseInt(s,2).toString(8),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},Xu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return j.create(D.NUM);let c=o&s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}},Zu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return j.create(D.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)<<BigInt(s):BigInt(o)>>BigInt(-s));return c>0xffffffffffff?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},Qu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return j.create(D.NUM);let c=Number(BigInt(o)|BigInt(s));return R.create(c)});return n===1&&r===1?o.get(0,0):o}},$u=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return j.create(D.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)>>BigInt(s):BigInt(o)<<BigInt(-s));return c>0xffffffffffff?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},ed=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return j.create(D.NUM);let c=o^s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}};T.prototype.cos=function(){let e=this.toNumber();return new T(Math.cos(e))};var td=class e{static getComplex(e,t,n){let r=new T(e).toSignificantDigits(15).toNumber(),i=new T(t).toSignificantDigits(15).toNumber(),a=n===``?`i`:n,o;return o=r===0&&i===0?0:r===0?i===1?a:`${i}${a}`:i===0?r:`${r}${i>0?`+`:``}${i===1?a:`${i}${a}`}`,o}static createByComplexStr(t,n,r){return new e(e.getComplex(t,n,r))}constructor(e){if(E(this,`_inumber`,``),E(this,`_realNum`,0),E(this,`_iNum`,0),E(this,`_suffix`,``),E(this,`_isError`,!1),`${e}`.trim()===``){this._isError=!0;return}this._inumber=e,this._getImReal(),this._getImAginary(),this._getImSuffix()}_getImReal(){if(this._inumber===0||this._inumber===`0`){this._realNum=0;return}let e=`${this._inumber}`;if([`i`,`+i`,`1i`,`+1i`,`-i`,`-1i`,`j`,`+j`,`1j`,`+1j`,`-j`,`-1j`].indexOf(e)>=0){this._realNum=0;return}let t=e.indexOf(`+`),n=e.indexOf(`-`);t===0&&(t=e.indexOf(`+`,1)),n===0&&(n=e.indexOf(`-`,1));let r=e.substring(e.length-1,e.length),i=r===`i`||r===`j`;if(t>=0||n>=0){if(!i){this._isError=!0;return}t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,t):Number.isNaN(+e.substring(0,n))||Number.isNaN(+e.substring(n+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,n)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+e)?this._isError=!0:this._realNum=+e}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber===`0`){this._iNum=0;return}let e=`${this._inumber}`;if([`i`,`j`].indexOf(e)>=0){this._iNum=1;return}e=e.replace(`+i`,`+1i`).replace(`-i`,`-1i`).replace(`+j`,`+1j`).replace(`-j`,`-1j`);let t=e.indexOf(`+`),n=e.indexOf(`-`);t===0&&(t=e.indexOf(`+`,1)),n===0&&(n=e.indexOf(`-`,1));let r=e.substring(e.length-1,e.length),i=r===`i`||r===`j`;if(t>=0||n>=0){if(!i){this._isError=!0;return}t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._iNum=+e.substring(t+1,e.length-1):Number.isNaN(+e.substring(0,n))||Number.isNaN(+e.substring(n+1,e.length-1))?this._isError=!0:this._iNum=-+e.substring(n+1,e.length-1)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._iNum=+e.substring(0,e.length-1):Number.isNaN(+e)?this._isError=!0:this._iNum=0}_getImSuffix(){let e=`${this._inumber}`,t=e.substring(e.length-1);this._suffix=t===`i`||t===`j`?t:``}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return e.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(e){let t=e.getSuffix();return this._suffix===``||t===``?!1:this._suffix!==t}Abs(){return T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){let e=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),t=T.acos(new T(this._realNum).div(e)).toSignificantDigits(16).toNumber();return this._iNum<0&&(t=-t),t}Conjugate(){return e.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){let t=T.cos(this._realNum).mul(T.cosh(this._iNum)).toNumber(),n=T.sin(this._realNum).mul(T.sinh(this._iNum)).negated().toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.cos(this._realNum).toNumber();return e.getComplex(t,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){let t=T.cosh(this._realNum).mul(T.cos(this._iNum)).toNumber(),n=T.sinh(this._realNum).mul(T.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.cosh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cot(){if(this._iNum){let t=T.cosh(this._iNum*2).sub(T.cos(this._realNum*2)),n=T.sin(this._realNum*2).div(t).toNumber(),r=T.sinh(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.tan(this._realNum)).toNumber();return e.getComplex(t,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){let t=T.cosh(this._realNum*2).sub(T.cos(this._iNum*2)),n=T.sinh(this._realNum*2).div(t).toNumber(),r=T.sin(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.tanh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csc(){if(this._iNum){let t=T.cosh(this._iNum*2).sub(T.cos(this._realNum*2)),n=T.sin(this._realNum).mul(T.cosh(this._iNum)).mul(2).div(t).toNumber(),r=T.cos(this._realNum).mul(T.sinh(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.sin(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=T.cosh(this._realNum*2).sub(T.cos(this._iNum*2)),n=T.sinh(this._realNum).mul(T.cos(this._iNum)).mul(2).div(t).toNumber(),r=T.cosh(this._realNum).mul(T.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.sinh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Div(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=i.mul(i).add(a.mul(a)),s=n.mul(i).add(r.mul(a)).div(o).toNumber(),c=r.mul(i).sub(n.mul(a)).div(o).toNumber(),l=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(s,c,l)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,``;let t=T.exp(this._realNum).mul(T.cos(this._iNum)).toNumber(),n=T.exp(this._realNum).mul(T.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}Ln(){let t=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),n=T.ln(t).toNumber(),r=T.acos(new T(this._realNum).div(t)).toNumber();return e.getComplex(n,r,this._suffix)}Log(t){let n=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),r=T.ln(n),i=T.acos(new T(this._realNum).div(n));this._iNum<0&&(i=i.negated());let a=T.ln(t),o=new T(0),s=a.mul(a).add(o.mul(o));if(s.eq(0))return this._isError=!0,``;let c=r.mul(a).add(i.mul(o)).div(s).toNumber(),l=i.mul(a).sub(r.mul(o)).div(s).toNumber();return e.getComplex(c,l,this._suffix)}Power(t){if(this._realNum===0&&this._iNum===0)return t>0?e.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,``);let n=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),r=T.acos(new T(this._realNum).div(n));this._iNum<0&&(r=r.negated()),n=T.pow(n,t),r=r.mul(t);let i=T.cos(r).mul(n).toNumber(),a=T.sin(r).mul(n).toNumber();return!Number.isFinite(i)||!Number.isFinite(a)?(this._isError=!0,``):e.getComplex(i,a,this._suffix)}Product(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=n.mul(i).sub(r.mul(a)).toNumber(),s=n.mul(a).add(r.mul(i)).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Sec(){if(this._iNum){let t=T.cosh(this._iNum*2).add(T.cos(this._realNum*2)),n=T.cos(this._realNum).mul(T.cosh(this._iNum)).mul(2).div(t).toNumber(),r=T.sin(this._realNum).mul(T.sinh(this._iNum)).mul(2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.cos(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=T.cosh(this._realNum*2).add(T.cos(this._iNum*2)),n=T.cosh(this._realNum).mul(T.cos(this._iNum)).mul(2).div(t).toNumber(),r=T.sinh(this._realNum).mul(T.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.cosh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sin(){if(this._iNum){let t=T.sin(this._realNum).mul(T.cosh(this._iNum)).toNumber(),n=T.cos(this._realNum).mul(T.sinh(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.sin(this._realNum).toNumber();return e.getComplex(t,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){let t=T.sinh(this._realNum).mul(T.cos(this._iNum)).toNumber(),n=T.cosh(this._realNum).mul(T.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.sinh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sqrt(){let t=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),n=T.sqrt(t),r=T.acos(new T(this._realNum).div(t));this._iNum<0&&(r=r.negated());let i=n.mul(T.cos(r.div(2).toNumber())).toNumber(),a=n.mul(T.sin(r.div(2))).toNumber();return e.getComplex(i,a,this._suffix)}Sub(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=n.sub(i).toNumber(),s=r.sub(a).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Sum(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=n.add(i).toNumber(),s=r.add(a).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Tan(){if(this._iNum){let t=T.cos(this._realNum*2).add(T.cosh(this._iNum*2)),n=T.sin(this._realNum*2).div(t).toNumber(),r=T.sinh(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=T.tan(this._realNum).toNumber();return e.getComplex(t,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){let t=T.cosh(this._realNum*2).add(T.cos(this._iNum*2)),n=T.sinh(this._realNum*2).div(t).toNumber(),r=T.sin(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=T.tanh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}},nd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Y(e,t,n==null?z.create(`i`):n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=`${c.getValue()}`;if(Number.isNaN(l)||Number.isNaN(u)||d!==`i`&&d!==`j`)return j.create(D.VALUE);let f=td.getComplex(l,u,d);return typeof f==`number`?R.create(f):z.create(f)}},rd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(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,4168181825.44058],[`cubic nautical mile`,`Nmi3`,[`Nmi^3`],`volume`,!1,!0,6352182208],[`cubic Pica`,`Pica3`,[`Picapt3`,`Pica^3`,`Picapt^3`],`volume`,!1,!0,7.58660370370369e-8],[`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,2684519.538],[`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,2589988.110336],[`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]]),E(this,`_binaryPrefixes`,{Yi:[`yobi`,80,12089258196146292e8,`Yi`,`yotta`],Zi:[`zebi`,70,0x400000000000000000,`Zi`,`zetta`],Ei:[`exbi`,60,0x1000000000000000,`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`]}),E(this,`_unitPrefixes`,{Y:[`yotta`,1e24,`Y`],Z:[`zetta`,1e21,`Z`],E:[`exa`,0xde0b6b3a7640000,`E`],P:[`peta`,0x38d7ea4c68000,`P`],T:[`tera`,0xe8d4a51000,`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,n){let{isError:r,errorObject:i,variants:a}=Y(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=`${s.getValue()}`,d=`${c.getValue()}`;if(Number.isNaN(l))return j.create(D.VALUE);let f,p=1,m,h=1,{_from:g,_to:_}=this._lookupFromAndToUnits(u,d);if(f=g,m=_,f===null){let{_from:e,_fromMultiplier:t}=this._lookupFromPrefix(u);f=e,p=t}if(m===null){let{_to:e,_toMultiplier:t}=this._lookupToPrefix(d);m=e,h=t}if(f===null||m===null||f[3]!==m[3])return j.create(D.NA);let v;return f[3]===`temperature`?(v=this._getTemperatureConversion(l,f[1],m[1]),v=+v.toFixed(2)):v=l*f[6]*p/(m[6]*h),R.create(v)}_lookupFromAndToUnits(e,t){let n=null,r=null,i;for(let a=0;a<this._units.length;a++)i=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||i.indexOf(e)>=0)&&(n=this._units[a]),(this._units[a][1]===t||i.indexOf(t)>=0)&&(r=this._units[a]);return{_from:n,_to:r}}_lookupFromPrefix(e){let t=null,n=1,r=e,i,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)===`da`&&(o=[`dekao`,10,`da`]),a?(n=a[2],r=e.substring(2)):o&&(n=o[1],r=e.substring(o[2].length));for(let e=0;e<this._units.length;e++)i=this._units[e][2]===null?[]:this._units[e][2],(this._units[e][1]===r||i.indexOf(r)>=0)&&(t=this._units[e]);return{_from:t,_fromMultiplier:n}}_lookupToPrefix(e){let t=null,n=1,r=e,i,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)===`da`&&(o=[`dekao`,10,`da`]),a?(n=a[2],r=e.substring(2)):o&&(n=o[1],r=e.substring(o[2].length));for(let e=0;e<this._units.length;e++)i=this._units[e][2]===null?[]:this._units[e][2],(this._units[e][1]===r||i.indexOf(r)>=0)&&(t=this._units[e]);return{_to:t,_toMultiplier:n}}_getTemperatureConversion(e,t,n){switch(t){case`C`:return this._centigradeConversion(e,n);case`F`:return this._fahrenheitConversion(e,n);case`K`:return this._kelvinConversion(e,n);case`Rank`:return this._rankineConversion(e,n);case`Reau`:return this._reaumurConversion(e,n);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}}},id=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return j.create(D.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${s}`)||s<-512||s>511)return j.create(D.NUM);let c;if(s<0){let e=(512+s).toString(2);c=`1${`0`.repeat(9-e.length)}${e}`}else if(c=Number.parseInt(`${s}`,10).toString(2),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},ad=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return j.create(D.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${s}`)||s<-549755813888||s>549755813887)return j.create(D.NUM);let c;if(s<0)c=(1099511627776+s).toString(16);else if(c=Number.parseInt(`${s}`,10).toString(16),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c.toLocaleUpperCase())}},od=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return j.create(D.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${s}`)||s<-536870912||s>536870911)return j.create(D.NUM);let c;if(s<0)c=(1073741824+s).toString(8);else if(c=Number.parseInt(`${s}`,10).toString(8),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},sd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t==null?R.create(0):t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);let l=s===c?1:0;return R.create(l)}},cd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n;if(t){let{isError:r,errorObject:i,variants:a}=Y(e,t);if(r)return i;let[o,s]=a,c=+o.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);n=ks(l)-ks(c)}else{let{isError:t,errorObject:r,variants:i}=Y(e);if(t)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return j.create(D.VALUE);n=ks(o)}return R.create(n)}},ld=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return j.create(D.VALUE);let o=ks(a);return R.create(o)}},ud=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return j.create(D.VALUE);let o=As(a);return R.create(o)}},dd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return j.create(D.VALUE);let o=As(a);return R.create(o)}},fd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t==null?R.create(0):t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);let l=s>=c?1:0;return R.create(l)}},pd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Os(s))return j.create(D.NUM);let c=s.length===10&&s.substring(0,1).toLocaleUpperCase()===`F`,l=c?Number.parseInt(s,16)-1099511627776:Number.parseInt(s,16);if(l<-512||l>511)return j.create(D.NUM);let u;if(c){let e=(512+l).toString(2);u=`1${`0`.repeat(9-e.length)}${e}`}else if(u=l.toString(2),t){if(n<u.length)return j.create(D.NUM);u=`0`.repeat(n-u.length)+u}return z.create(u)}},md=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Os(a))return j.create(D.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),R.create(o)}},hd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Os(s))return j.create(D.NUM);let c=Number.parseInt(s,16);if(c>536870911&&c<0xffe0000000)return j.create(D.NUM);let l;if(c>=0xffe0000000)l=(c-0xffc0000000).toString(8);else if(l=c.toString(8),t){if(n<l.length)return j.create(D.NUM);l=`0`.repeat(n-l.length)+l}return z.create(l)}},gd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Abs();return R.create(o)}},_d=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.getINum();return R.create(o)}},vd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);if(a.getRealNum()===0&&a.getINum()===0)return j.create(D.DIV_BY_ZERO);let o=a.Argument();return R.create(o)}},yd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Conjugate();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},bd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Cos();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},xd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Cosh();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Sd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Cot();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Cd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Coth();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},wd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Csc();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Td=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Csch();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Ed=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,c=`${o.getValue()}`,l=new td(s),u=new td(c);if(l.isError()||u.isError()||l.isDifferentSuffixes(u)||u.getRealNum()===0&&u.getINum()===0)return j.create(D.NUM);let d=l.Div(u);return typeof d==`number`||w(d)?R.create(+d):z.create(d)}},Dd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Exp();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Od=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Ln();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},kd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=t==null?R.create(10):t;if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);o=o.get(0,0)}let{isError:s,errorObject:c,variants:l}=X(o);if(s)return c;let[u]=l,d=`${a.getValue()}`,f=+u.getValue(),p=new td(d);if(p.isError()||p.getRealNum()===0&&p.getINum()===0||f<=0)return j.create(D.NUM);let m=p.Log(f);return p.isError()?j.create(D.NUM):typeof m==`number`||w(m)?R.create(+m):z.create(m)}},Ad=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Log(2);return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},jd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Log(10);return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Md=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=new td(`${a.getValue()}`);if(s.isError())return j.create(D.NUM);let c=+o.getValue();if(Number.isNaN(c))return j.create(D.VALUE);let l=s.Power(c);return s.isError()?j.create(D.NUM):typeof l==`number`||w(l)?R.create(+l):z.create(l)}},Nd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof j)return t;let r=e[n];if(r.isArray()){let e=!1,n;if(r.iterator(r=>{if(t=this._handleSingleObject(r,t),t instanceof j)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof j?t:typeof t==`number`||w(t)?R.create(+t):z.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return j.create(D.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new td(r);if(e.isError())return j.create(D.NUM);n=e.toString()}else{let e=new td(t),i=new td(r);if(e.isError()||i.isError())return j.create(D.NUM);if(e.isDifferentSuffixes(i))return j.create(D.VALUE);n=e.Product(i)}return n}},Pd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.getRealNum();return R.create(o)}},Fd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sec();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Id=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sech();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Ld=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sin();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Rd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sinh();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},zd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);if(a.getRealNum()===0&&a.getINum()===0)return R.create(0);let o=a.Sqrt();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Bd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,c=`${o.getValue()}`,l=new td(s),u=new td(c);if(l.isError()||u.isError()||l.isDifferentSuffixes(u))return j.create(D.NUM);let d=l.Sub(u);return typeof d==`number`||w(d)?R.create(+d):z.create(d)}},Vd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof j)return t;let r=e[n];if(r.isArray()){let e=!1,n;if(r.iterator(r=>{if(t=this._handleSingleObject(r,t),t instanceof j)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof j?t:typeof t==`number`||w(t)?R.create(+t):z.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return j.create(D.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new td(r);if(e.isError())return j.create(D.NUM);n=e.toString()}else{let e=new td(t),i=new td(r);if(e.isError()||i.isError())return j.create(D.NUM);if(e.isDifferentSuffixes(i))return j.create(D.VALUE);n=e.Sum(i)}return n}},Hd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Tan();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Ud=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Tanh();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Wd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ds(s))return j.create(D.NUM);let c=s.length===10&&s.substring(0,1)===`7`,l=c?Number.parseInt(s,8)-1073741824:Number.parseInt(s,8);if(l<-512||l>511)return j.create(D.NUM);let u;if(c){let e=(512+l).toString(2);u=`1${`0`.repeat(9-e.length)}${e}`}else if(u=l.toString(2),t){if(n<u.length)return j.create(D.NUM);u=`0`.repeat(n-u.length)+u}return z.create(u)}},Gd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Ds(a))return j.create(D.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),R.create(o)}},Kd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ds(s))return j.create(D.NUM);let c=Number.parseInt(s,8),l;if(c>=536870912)l=`ff${(c+3221225472).toString(16)}`;else if(l=c.toString(16),t){if(n<l.length)return j.create(D.NUM);l=`0`.repeat(n-l.length)+l}return z.create(l.toLocaleUpperCase())}};const qd=[[Uu,U.BESSELI],[Wu,U.BESSELJ],[Gu,U.BESSELK],[Ku,U.BESSELY],[qu,U.BIN2DEC],[Ju,U.BIN2HEX],[Yu,U.BIN2OCT],[Xu,U.BITAND],[Zu,U.BITLSHIFT],[Qu,U.BITOR],[$u,U.BITRSHIFT],[ed,U.BITXOR],[nd,U.COMPLEX],[rd,U.CONVERT],[id,U.DEC2BIN],[ad,U.DEC2HEX],[od,U.DEC2OCT],[sd,U.DELTA],[cd,U.ERF],[ld,U.ERF_PRECISE],[ud,U.ERFC],[dd,U.ERFC_PRECISE],[fd,U.GESTEP],[pd,U.HEX2BIN],[md,U.HEX2DEC],[hd,U.HEX2OCT],[gd,U.IMABS],[_d,U.IMAGINARY],[vd,U.IMARGUMENT],[yd,U.IMCONJUGATE],[bd,U.IMCOS],[xd,U.IMCOSH],[Sd,U.IMCOT],[Cd,U.IMCOTH],[wd,U.IMCSC],[Td,U.IMCSCH],[Ed,U.IMDIV],[Dd,U.IMEXP],[Od,U.IMLN],[kd,U.IMLOG],[jd,U.IMLOG10],[Ad,U.IMLOG2],[Md,U.IMPOWER],[Nd,U.IMPRODUCT],[Pd,U.IMREAL],[Fd,U.IMSEC],[Id,U.IMSECH],[Ld,U.IMSIN],[Rd,U.IMSINH],[zd,U.IMSQRT],[Bd,U.IMSUB],[Vd,U.IMSUM],[Hd,U.IMTAN],[Ud,U.IMTANH],[Wd,U.OCT2BIN],[Gd,U.OCT2DEC],[Kd,U.OCT2HEX]];function Jd(e,t,n,r){let{days:i}=pt(Qd(e,t,n),e,r);return i}function Yd(e,t,n,r){let i;if(r===1){let r=Qd(e,t,n),a=M(r);a=Tt(a,12/n);let o=et(a);i=r<0&&n===1?365:o-r}else i=r===3?365/n:360/n;return i}function Xd(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Tt(i,-12/n);return i=Tt(i,12/n),et(i)}function Zd(e,t,n){let r=0,i=M(e),a=M(t);for(;a>i;)a=Tt(a,-12/n),r++;return r}function Qd(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Tt(i,-12/n);return et(i)}function $d(e,t,n,r,i,a){let o=Jd(e,t,i,a),s=Yd(e,t,i,a),c=Zd(e,t,i),l=(s-o)/s-1,u=r/i+1,d=n*100/i,f=0,p=0;for(let e=1;e<=c;e++){let t=e+l,n=d/u**t;f+=t*n,p+=n}let m=c+l,h=100/u**m;return f+=m*h,p+=h,f/p/i}function ef(e,t,n,r,i){let a;if(e===0)a=(n+r)/t;else{let o=(1+e)**t;a=i===1?(r*e/(o-1)+n*e/(1-1/o))/(1+e):r*e/(o-1)+n*e/(1-1/o)}return-a}function tf(e,t,n,r,i){let a;if(e===0)a=r+n*t;else{if(e===-1&&t===0)return NaN;let o=(1+e)**t;a=i===1?r*o+n*(1+e)*(o-1)/e:r*o+n*(o-1)/e}return-a}function nf(e,t,n,r,i,a){let o=ef(e,n,r,i,a);return(t===1?a===1?0:-r:a===1?tf(e,t-2,o,r,1)-o:tf(e,t-1,o,r,0))*e}function rf(e,t){let n=0;for(let r=1;r<=t.length;r++)n+=t[r-1]/(1+e)**r;return n}function af(e,t,n,r,i,a,o,s,c){let l=cf(n,r,c),u=Yd(e,r,s,c);return l<u?of(e,t,n,r,i,a,o,s,c,l,u):sf(e,t,n,r,i,a,o,s,c,u)}function of(e,t,n,r,i,a,o,s,c,l,u){let d=0,f=Zd(e,t,s),p=cf(e,r,c);d+=o/(1+a/s)**(f-1+p/u),d+=100*i/s*l/u/(1+a/s)**(p/u);for(let e=2;e<=f;e++)d+=100*i/s/(1+a/s)**(e-1+p/u);let m=cf(n,e,c);return d-=100*i/s*m/u,d}function sf(e,t,n,r,i,a,o,s,c,l){let u=0,d=Zd(r,t,s),f=ff(r,e,12/s,!0),p;if(c===2||c===3)p=cf(e,Xd(e,r,s),c);else{let{days:t}=pt(Qd(e,r,s),e,c);p=l-t}u+=o/(1+a/s)**(d+f+p/l);let m=Zd(n,r,s),h=r,g=0,_=0;for(let t=m;t>=1;t--){let r=df(h,-12/s,!1),i=c===1?cf(r,h,c):l,a=t>1?i:cf(n,h,c);g+=a/i;let o=cf(n>r?n:r,e<h?e:h,c);_+=o/i,h=r}u+=100*i/s*g/(1+a/s)**(f+p/l);for(let e=1;e<=d;e++)u+=100*i/s/(1+a/s)**(e+f+p/l);return u-=100*i/s*_,u}function cf(e,t,n){let{days:r}=pt(e,t,n);return e<t?r:0}function lf(e,t,n){let r=M(e),i=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),s=wt(i,a,o),c=M(t),l=c.getUTCFullYear(),u=c.getUTCMonth(),d=c.getUTCDate(),f=wt(l,u,d);return!(o!==d&&!(s&&f)||Math.abs((l-i)*12+(u-a))%(12/n)!=0)}function uf(e,t,n){return Qd(e,t,n)>=0}function df(e,t,n){let r=M(e);if(r=Tt(r,t),n){let e=xt(r.getUTCFullYear(),r.getUTCMonth());r.setUTCDate(e)}return et(r)}function ff(e,t,n,r){let i=M(e),a=M(t),o=i.getUTCFullYear(),s=i.getUTCMonth(),c=i.getUTCDate(),l=a.getUTCFullYear(),u=a.getUTCMonth(),d=a.getUTCDate(),f=wt(o,s,c),p=!f&&s!==1&&c>28&&c<xt(o,s)?wt(l,u,d):f,m=df(t,0,p),h=r-0+ +(t<m),g=df(m,n,p);for(;!(n>0?g>=t:g<=t);)g=df(g,n,p),h++;return h}function pf(e,t){let n=1e-7;n*2;let r=1,i=0,a=e,o;for(;r>n&&i<500;){let e=(t(a+n)-t(a-n))/2e-7;o=a-t(a)/e,i++,r=Math.abs(o-a),a=o}return Number.isNaN(a)||Math.abs(a)===1/0||i===500?mf(e,t):a}function mf(e,t){let n=1e-7,r=Number.MAX_VALUE,i=1.6,a=e-.01<=-1?-1+n:e-.01,o=e+.01>=r?r-n:e+.01,s,c,l=0;if(e<=-1||e>=r)return j.create(D.NUM);for(let e=0;e<60;e++){s=a<=-1?-1+n:a,c=o>=r?r-n:o;let l=t(s),u=t(c);if(l*u<=0)break;if(l*u>0)a=s+i*(s-c),o=c+i*(c-s);else return j.create(D.NUM);if(e===59)return j.create(D.NUM)}s=s,c=c;let u=t(s),d=t(c),f,p;if(Math.abs(u)<n||Math.abs(d)<n)return j.create(D.NUM);do p=s+(c-s)/2,f=t(p),u*f<0?c=p:s=p,u=t(s),l++;while(Math.abs(f)>n&&l<60);return p}function hf(e,t,n,r,i,a,o){let s=Zd(e,t,a),c=Yd(e,t,a,o),l=Jd(e,t,a,o);if(s===1){let e=c-l,t=100*n/a+i,o=r/a*e/c+1,s=100*n/a*l/c;return t/o-s}let u=c-l,d=i/(1+r/a)**(s-1+u/c);for(let e=1;e<=s;e++)d+=100*n/a/(1+r/a)**(e-1+u/c);return d-=100*n/a*l/c,d}function gf(e,t,n,r,i){let a=0,o=i/n;o>=1?(o=1,a=r===1?e:0):a=e*(1-o)**(r-1);let s=e*(1-o)**r,c=0;return c=s<t?a-t:a-s,c<0&&(c=0),c}var _f=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=o==null?R.create(0):o,l=s==null?L.create(!0):s,{isError:u,errorObject:d,variants:f}=Y(e,t,n,r,i,a,c);if(u)return d;let[p,m,h,g,_,v,y]=f,b=N(p);if(typeof b!=`number`)return b;let x=N(m);if(typeof x!=`number`)return x;let S=N(h);if(typeof S!=`number`)return S;let C=+g.getValue(),ee=+_.getValue(),te=Math.floor(+v.getValue()),ne=Math.floor(+y.getValue()),re=+l.getValue();return Number.isNaN(C)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)?j.create(D.VALUE):C<=0||ee<=0||![1,2,4].includes(te)||ne<0||ne>4||Math.floor(b)>=Math.floor(S)?j.create(D.NUM):this._getResult(b,x,S,C,ee,te,ne,re)}_getResult(e,t,n,r,i,a,o,s){let c=Qd(e,t,a);if(c<=0)return R.create(0);c=Qd(n,t,a);let l=12/a,u=M(t),d=wt(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),f=df(t,-l,d);if(n>t&&s)for(f=t;f<n;)f=df(f,l,d);let p=e>f?e:f,{days:m}=pt(p,n,o);if(c>=e){let{days:e}=pt(p,n,o?4:0);m=e}n<p&&(m=-m);let h=Yd(f,t,a,o),g=m/h,_=f,v=e;for(;_>e;){v=_,_=df(_,-l,d),p=e>_?e:_;let{days:t}=pt(p,v,o);if(o===0)m=v>=p||e<=_?t:-t,h=Yd(_,v,a,o);else if(m=v<p?-t:t,o===3)h=365/a;else{let{days:e}=pt(_,v,o);h=v<_?-e:e}g+=e<=_?s?1:0:m/h}let y=i*r/a*g;return R.create(y)}},vf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=N(c);if(typeof p!=`number`)return p;let m=N(l);if(typeof m!=`number`)return m;let h=+u.getValue(),g=+d.getValue(),_=Math.floor(+f.getValue());if(Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_))return j.create(D.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>Math.floor(m))return j.create(D.NUM);if(Math.floor(p)===Math.floor(m))return R.create(0);let{days:v,yearDays:y}=pt(p,m,_),b=g*h*v/y;return R.create(b)}},yf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let{isError:s,errorObject:c,variants:l}=Y(e,t,n,r,i,a,o==null?R.create(0):o);if(s)return c;let[u,d,f,p,m,h,g]=l,_=N(d);if(typeof _!=`number`)return _;let v=N(f);if(typeof v!=`number`)return v;let y=+u.getValue(),b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=Math.floor(+g.getValue());return Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)?j.create(D.VALUE):y<=0||b<0||y<b||Math.floor(_)>Math.floor(v)||x<0||S<=0||![0,1,3,4].includes(C)?j.create(D.NUM):(x=x>1?Math.floor(x):Math.ceil(x),this._getResult(y,_,v,b,x,S,C))}_getResult(e,t,n,r,i,a,o){let s=e-r,c=e*a,{days:l,yearDays:u}=pt(t,n,o),d=l/u,f=Math.ceil(s/c-d);if(f<0)return R.create(0);let p=c;return i===0?p=c*d:i===f?p=s-c*(d+i-1):i>f&&(p=0),R.create(p)}},bf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Jd(d,f,p,m);return R.create(h)}},xf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Yd(d,f,p,m);return R.create(h)}},Sf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=M(d),g=M(f);for(g.setUTCFullYear(h.getUTCFullYear()),g<h&&g.setUTCFullYear(g.getUTCFullYear()+1);g>h;)g.setUTCMonth(g.getUTCMonth()-12/p);g.setUTCMonth(g.getUTCMonth()+12/p);let{days:_}=pt(d,et(g),m);return R.create(_)}},Cf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Xd(d,f,p);return R.create(h)}},wf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f)||Qd(d,f,p)<0)return j.create(D.NUM);let h=Zd(d,f,p);return R.create(h)}},Tf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Qd(d,f,p);return h<0&&(h=0),R.create(h)}},Ef=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=Y(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,p,m]=c,h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue(),y=+p.getValue(),b=+m.getValue();return Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)?j.create(D.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||v>g||y>g||![0,1].includes(b)?j.create(D.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?R.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=ef(e,t,n,0,a),s=0,c=Math.ceil(r);c===1&&(a===0&&(s=-n),c++);let l=!1;for(let t=c;t<=i;t++){let r=a===1?tf(e,t-2,o,n,1):tf(e,t-1,o,n,0);if(r===0){l=!0;break}s+=a===1?r-o:r}return s*=e,(s<o*(i-r+1)||l)&&(s=o*(i-r+1)),R.create(s)}},Df=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=Y(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,p,m]=c,h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue(),y=+p.getValue(),b=+m.getValue();return Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)?j.create(D.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||![0,1].includes(b)?j.create(D.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?R.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=ef(e,t,n,0,a),s=0,c=Math.ceil(r);c===1&&(s=a===0?o+n*e:o,c++);for(let t=c;t<=i;t++)s+=a===1?o-(tf(e,t-2,o,n,1)-o)*e:o-tf(e,t-1,o,n,0)*e;return R.create(s)}},Of=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?R.create(12):i;a.isNull()&&(a=R.create(12));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,j.create(D.NA)),l=V(o,s,t,j.create(D.NA)),u=V(o,s,n,j.create(D.NA)),d=V(o,s,r,j.create(D.NA)),f=V(o,s,a,j.create(D.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,l.get(t,n),u.get(t,n),d.get(t,n),f.get(t,n));if(r)return i;let[o,s,c,p,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+p.getValue(),y=Math.floor(+m.getValue());return h<0||g<0||_<=0||v<=0||Math.floor(v)>Math.floor(_)||y<1||y>12?j.create(D.NUM):(v<1&&(v=1),v=Math.floor(v),this._getResult(h,g,_,v,y,t,n))});return o===1&&s===1?p.get(0,0):p}_getResult(e,t,n,r,i,a,o){let s=+(1-(t/e)**(1/n)).toFixed(3),c=e*s*i/12,l=c,u=0,d=r===n?n-1:r;for(let t=2;t<=d;t++)u=(e-l)*s,l+=u;let f;return f=r===1?c:r===n?(e-l)*s:u,Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):a===0&&o===0?R.create(f,Pi(this.getLocale())):R.create(f)}},kf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?R.create(2):i;a.isNull()&&(a=R.create(2));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,j.create(D.NA)),l=V(o,s,t,j.create(D.NA)),u=V(o,s,n,j.create(D.NA)),d=V(o,s,r,j.create(D.NA)),f=V(o,s,a,j.create(D.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,l.get(t,n),u.get(t,n),d.get(t,n),f.get(t,n));if(r)return i;let[o,s,c,p,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+p.getValue(),y=+m.getValue();if(h<0||g<0||_<=0||v<=0||v>_||y<=0)return j.create(D.NUM);let b=gf(h,g,_,v,y);return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):t===0&&n===0?R.create(b,Pi(this.getLocale())):R.create(b)});return o===1&&s===1?p.get(0,0):p}},Af=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=N(c);if(typeof p!=`number`)return p;let m=N(l);if(typeof m!=`number`)return m;let h=+u.getValue(),g=+d.getValue(),_=Math.floor(+f.getValue());if(Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_))return j.create(D.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return j.create(D.NUM);let{days:v,yearDays:y}=pt(p,m,_),b=(g-h)/g*(y/v);return R.create(b)}},jf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);if(c>=0&&c<1)return j.create(D.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let l=Number.parseInt(`${s}`,10);l+=s%1*10**Math.ceil(Math.log(c)/Math.LN10)/c;let u=10**(Math.ceil(Math.log(c)/Math.LN2)+1);return l=Math.round(l*u)/u,R.create(l)}},Mf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);if(c>=0&&c<1)return j.create(D.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let l=Number.parseInt(`${s}`,10);return l+=s%1*10**-Math.ceil(Math.log(c)/Math.LN10)*c,R.create(l)}},Nf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=+f.getValue(),y=+p.getValue(),b=Math.floor(+m.getValue()),x=Math.floor(+h.getValue());if(Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_)||g<=0||_<=366)return j.create(D.NUM);let S=$d(g,_,v,y,b,x);return R.create(S)}},Pf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(s<=0||c<1)return j.create(D.NUM);c=Number.parseInt(`${c}`,10);let l=(1+s/c)**c-1;return R.create(l)}},Ff=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=tf(+o.getValue(),+s.getValue(),+c.getValue(),+l.getValue(),+m.getValue()?1:0);return Number.isNaN(h)||!Number.isFinite(h)?j.create(D.NUM):t===0&&n===0?R.create(h,Pi(this.getLocale())):R.create(h)});return s===1&&c===1?m.get(0,0):m}},If=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return j.create(D.VALUE);let s=o;if(t.isArray()){let e=t.getArrayValue().flat();for(let t=0;t<e.length;t++){let n=e[t];if(n.isBoolean())return j.create(D.VALUE);let r=+n.getValue();if(Number.isNaN(r))return j.create(D.VALUE);s*=1+r}}else{if(t.isBoolean())return j.create(D.VALUE);let e=+t.getValue();if(Number.isNaN(e))return j.create(D.VALUE);s*=1+e}return R.create(s)}},Lf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=N(c);if(typeof p!=`number`)return p;let m=N(l);if(typeof m!=`number`)return m;let h=+u.getValue(),g=+d.getValue(),_=Math.floor(+f.getValue());if(Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_))return j.create(D.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return j.create(D.NUM);let{days:v,yearDays:y}=pt(p,m,_),b=(g-h)/h*(y/v);return R.create(b)}},Rf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,6),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(0):a,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,n,j.create(D.NA)),p=V(c,l,r,j.create(D.NA)),m=V(c,l,o,j.create(D.NA)),h=V(c,l,s,j.create(D.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,d.get(t,n),f.get(t,n),p.get(t,n),m.get(t,n),h.get(t,n));if(r)return i;let[o,s,c,l,u,g]=a,_=+o.getValue(),v=+s.getValue(),y=+c.getValue(),b=+l.getValue(),x=+u.getValue(),S=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y))return j.create(D.NUM);let C=nf(_,v,y,b,x,S?1:0);return Number.isNaN(C)||!Number.isFinite(C)?j.create(D.NUM):t===0&&n===0?R.create(C,Pi(this.getLocale())):R.create(C)});return c===1&&l===1?g.get(0,0):g}},zf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(.1):t;return n.isNull()&&(n=R.create(.1)),n.isArray()?n.map((t,n,r)=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,n)}_handleSingleObject(e,t,n=0,r=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return j.create(D.VALUE);if(!e.isArray())return j.create(D.NUM);let{_values:i,valuesHasError:a}=this._getValues(e);if(a)return j.create(D.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;let s=+o.getValue(),{positive:c,negative:l}=this._checkValues(i);if(!c||!l)return j.create(D.NUM);let u=pf(s,e=>rf(e,i));return typeof u==`number`?n===0&&r===0?R.create(u,`0%`):R.create(u):u}_getValues(e){let t=[],n=!1;return e.iterator(e=>{let r=e;if(r.isError())return n=!0,!1;if(r.isNull()||r.isBoolean()||r.isString()&&r.getValue()===``)return!0;let i=+r.getValue();if(Number.isNaN(i))return!0;t.push(i)}),{_values:t,valuesHasError:n}}_checkValues(e){let t=!1,n=!1;for(let r=0;r<e.length;r++)e[r]>0&&(t=!0),e[r]<0&&(n=!0);return{positive:t,negative:n}}},Bf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,s.get(t,n),c.get(t,n),l.get(t,n));if(r)return i;let[o,u,d,f]=a,p=+o.getValue(),m=+u.getValue(),h=+d.getValue(),g=+f.getValue();if(h===0)return j.create(D.DIV_BY_ZERO);let _=g*p*(m/h-1);return R.create(_)});return i===1&&a===1?u.get(0,0):u}},Vf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=+f.getValue(),y=+p.getValue(),b=Math.floor(+m.getValue()),x=Math.floor(+h.getValue());if(Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_))return j.create(D.NUM);let S=$d(g,_,v,y,b,x);return S/=1+y/b,R.create(S)}},Hf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{_values:r,numberValues:i,positive:a,negative:o}=this._getValues(e),s=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=V(s,c,t,j.create(D.NA)),u=V(s,c,n,j.create(D.NA)),d=l.map((t,n,s)=>{let c=u.get(n,s);if(e.isError())return e;if(c.isError())return c;if(r.isError())return r;if(!a||!o)return j.create(D.DIV_BY_ZERO);let l=+t.getValue(),d=+c.getValue();if(Number.isNaN(l)||Number.isNaN(d))return j.create(D.VALUE);if(d===-1)return j.create(D.DIV_BY_ZERO);let f=this._getResult(i,l,d);return n===0&&s===0?R.create(f,`0%`):R.create(f)});return s===1&&c===1?d.get(0,0):d}_getValues(e){let t=e,n=[],r=!1,i=!1;if(!e.isError())if(e.isNull())t=j.create(D.VALUE);else if(!e.isArray())t=j.create(D.DIV_BY_ZERO);else{let{numberValues:a,valuesHasError:o,errorObject:s,positive:c,negative:l}=this._checkValues(e);o&&(t=s),n=a,r=c,i=l}return{_values:t,numberValues:n,positive:r,negative:i}}_checkValues(e){let t=[],n=!1,r=j.create(D.VALUE),i=!1,a=!1;return e.iterator(e=>{let o=e;if(o.isError())return n=!0,r=o,!1;if(o.isNull()||o.isBoolean()||o.isString()&&o.getValue()===``)return!0;let s=+o.getValue();if(Number.isNaN(s))return!0;s>0&&(i=!0),s<0&&(a=!0),t.push(s)}),{numberValues:t,valuesHasError:n,errorObject:r,positive:i,negative:a}}_getResult(e,t,n){let r=e.length,i=[],a=[];for(let t=0;t<r;t++)e[t]>0?a.push(e[t]):e[t]<0&&i.push(e[t]);let o=this._npv(n,e,`positive`),s=this._npv(t,e,`negative`);return(-o*(1+n)**r/(s*(1+t)))**(1/(r-1))-1}_npv(e,t,n){let r=0;for(let i=1;i<=t.length;i++){let a=t[i-1];(n===`positive`&&a>0||n===`negative`&&a<0)&&(r+=a/(1+e)**i)}return r}},Uf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(s<=0||c<1)return j.create(D.NUM);c=Number.parseInt(`${c}`,10);let l=((s+1)**(1/c)-1)*c;return R.create(l)}},Wf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+l.getValue(),y=+m.getValue();if(y=y?1:0,h===0&&g===0)return j.create(D.DIV_BY_ZERO);let b;if(h===0)b=-(_+v)/g;else{let e=g*(1+h*y)-v*h,t=_*h+g*(1+h*y);b=Math.log(e/t)/Math.log(1+h)}return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):R.create(b)});return s===1&&c===1?m.get(0,0):m}},Gf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsLocale`,!0)}calculate(e,...t){if(e.isError())return e;let{isError:n,errorObject:r,values:i}=this._getValues(t);return e.isArray()?e.map((e,t,a)=>this._handleSingleObject(e,n,r,i,t,a)):this._handleSingleObject(e,n,r,i)}_handleSingleObject(e,t,n,r,i=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return n;let s=rf(+e.getValue(),r);return Number.isNaN(s)||Math.abs(s)===1/0?j.create(D.DIV_BY_ZERO):i===0&&a===0?R.create(s,Pi(this.getLocale())):R.create(s)}_getValues(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isError())return{isError:!0,errorObject:r};if(r.isArray()){let e=!1,n=j.create(D.VALUE);if(r.iterator(r=>{let i=r;if(i.isError())return e=!0,n=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&i.getValue()===``)return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;t.push(a)}),e)return{isError:e,errorObject:n}}else{let e=+r.getValue();if(Number.isNaN(e))return{isError:!0,errorObject:j.create(D.VALUE)};t.push(e)}}return{isError:!1,values:t}}},Kf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,8),E(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?R.create(0):c;l.isNull()&&(l=R.create(0));let{isError:u,errorObject:d,variants:f}=bs(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,S=N(p);if(typeof S!=`number`)return S;let C=N(m);if(typeof C!=`number`)return C;let ee=N(h);if(typeof ee!=`number`)return ee;let te=N(g);if(typeof te!=`number`)return te;let ne=+_.getValue(),re=+v.getValue(),ie=+y.getValue(),ae=Math.floor(+b.getValue()),oe=Math.floor(+x.getValue());if(Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(ie)||Number.isNaN(ae)||Number.isNaN(oe))return j.create(D.VALUE);if(ne<0||re<0||ie<=0||![1,2,4].includes(ae)||oe<0||oe>4||!this._validDate(C,te,S,ee,ae))return j.create(D.NUM);let se=af(S,C,ee,te,ne,re,ie,ae,oe);return R.create(se)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&lf(e,t,i)&&uf(r,e,i)}_getDateCorrectOrder(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Math.floor(n)>Math.floor(r)}},qf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,8),E(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?R.create(0):c;l.isNull()&&(l=R.create(0));let{isError:u,errorObject:d,variants:f}=bs(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,S=N(p);if(typeof S!=`number`)return S;let C=N(m);if(typeof C!=`number`)return C;let ee=N(h);if(typeof ee!=`number`)return ee;let te=N(g);if(typeof te!=`number`)return te;let ne=+_.getValue(),re=+v.getValue(),ie=+y.getValue(),ae=Math.floor(+b.getValue()),oe=Math.floor(+x.getValue());return Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(ie)||Number.isNaN(ae)||Number.isNaN(oe)?j.create(D.VALUE):ne<0||re<=0||ie<=0||![1,2,4].includes(ae)||oe<0||oe>4||!this._validDate(C,te,S,ee,ae)?j.create(D.NUM):this._getResult(S,C,ee,te,ne,re,ie,ae,oe)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&lf(e,t,i)&&uf(r,e,i)}_getDateCorrectOrder(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Math.floor(n)>Math.floor(r)}_getResult(e,t,n,r,i,a,o,s,c){let{days:l}=pt(e,t,c),u=(i*l*100-(a-100))/((a-100)*.25*(1+2*l)+l*100);function d(l){return a-af(e,t,n,r,i,l,o,s,c)}let f=pf(u,e=>d(e));return typeof f==`number`?R.create(f):f}},Jf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,7),E(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=s==null?R.create(0):s;c.isNull()&&(c=R.create(0));let{isError:l,errorObject:u,variants:d}=bs(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=N(f);if(typeof b!=`number`)return b;let x=N(p);if(typeof x!=`number`)return x;let S=N(m);if(typeof S!=`number`)return S;let C=+h.getValue(),ee=+g.getValue(),te=+_.getValue(),ne=Math.floor(+v.getValue()),re=Math.floor(+y.getValue());if(Number.isNaN(C)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re))return j.create(D.VALUE);if(C<0||ee<0||te<=0||![1,2,4].includes(ne)||re<0||re>4||!this._validDate(x,b,S,ne))return j.create(D.NUM);let ie=this._getResult(b,x,S,C,ee,te,ne,re);return R.create(ie)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&uf(n,e,r)}_getResult(e,t,n,r,i,a,o,s){let c=this._getCoupDate(t,n,o),l=this._getFrac(n,e,c,o,s),u=this._getFrac(n,t,c,o,s),d=this._getFrac(e,t,c,o,s);return(a*o+100*r*(u-l*(1+i*d/o)))/(i*d+o)}_getCoupDate(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return et(i)}_getFrac(e,t,n,r,i){let a=M(e),o=M(t),s=M(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=et(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=et(s);if(l>=t){let{days:n}=pt(e,t,i);return n/Yd(c,l,r,i)}let{days:u}=pt(e,l,i),d=u/Yd(c,l,r,i),f=M(l),p=M(l);for(p.setUTCMonth(p.getUTCMonth()+12/r);p<o;)f.setUTCMonth(f.getUTCMonth()+12/r),p.setUTCMonth(p.getUTCMonth()+12/r),d+=1;c=et(f),l=et(p);let{days:m}=pt(c,t,i),h=Yd(c,l,r,i);return d+=m/h,d}},Yf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,8),E(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s){let c=s==null?R.create(0):s;c.isNull()&&(c=R.create(0));let{isError:l,errorObject:u,variants:d}=bs(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=N(f);if(typeof b!=`number`)return b;let x=N(p);if(typeof x!=`number`)return x;let S=N(m);if(typeof S!=`number`)return S;let C=+h.getValue(),ee=+g.getValue(),te=+_.getValue(),ne=Math.floor(+v.getValue()),re=Math.floor(+y.getValue());if(Number.isNaN(C)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re))return j.create(D.VALUE);if(C<0||ee<=0||te<=0||![1,2,4].includes(ne)||re<0||re>4||!this._validDate(x,b,S,ne))return j.create(D.NUM);let ie=this._getResult(b,x,S,C,ee,te,ne,re);return R.create(ie)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&uf(n,e,r)}_getResult(e,t,n,r,i,a,o,s){let c=this._getCoupDate(t,n,o),l=this._getFrac(n,e,c,o,s),u=this._getFrac(n,t,c,o,s),d=this._getFrac(e,t,c,o,s);return(o*(a-i)+100*r*(u-l))/(d*i+100*r*l*d/o)}_getCoupDate(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return et(i)}_getFrac(e,t,n,r,i){let a=M(e),o=M(t),s=M(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=et(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=et(s);if(l>=t){let{days:n}=pt(e,t,i);return n/Yd(c,l,r,i)}let{days:u}=pt(e,l,i),d=u/Yd(c,l,r,i),f=M(l),p=M(l);for(p.setUTCMonth(p.getUTCMonth()+12/r);p<o;)f.setUTCMonth(f.getUTCMonth()+12/r),p.setUTCMonth(p.getUTCMonth()+12/r),d+=1;c=et(f),l=et(p);let{days:m}=pt(c,t,i),h=Yd(c,l,r,i);return d+=m/h,d}},Xf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,o.get(t,n),s.get(t,n));if(r)return i;let[c,l,u]=a,d=+c.getValue(),f=+l.getValue(),p=+u.getValue();if(d<=-1)return j.create(D.NUM);let m=(Math.log(p)-Math.log(f))/Math.log(1+d);return Number.isNaN(m)||!Number.isFinite(m)?j.create(D.NUM):R.create(m)});return r===1&&i===1?c.get(0,0):c}},Zf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+l.getValue(),y=+m.getValue();if(h<=-1)return j.create(D.NUM);let b=ef(h,g,_,v,y?1:0);return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):t===0&&n===0?R.create(b,Pi(this.getLocale())):R.create(b)});return s===1&&c===1?m.get(0,0):m}},Qf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,6),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(0):a,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,n,j.create(D.NA)),p=V(c,l,r,j.create(D.NA)),m=V(c,l,o,j.create(D.NA)),h=V(c,l,s,j.create(D.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,d.get(t,n),f.get(t,n),p.get(t,n),m.get(t,n),h.get(t,n));if(r)return i;let[o,s,c,l,u,g]=a,_=+o.getValue(),v=+s.getValue(),y=+c.getValue(),b=+l.getValue(),x=+u.getValue(),S=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y)||v-y>=1)return j.create(D.NUM);let C=ef(_,y,b,x,S?1:0)-nf(_,v,y,b,x,S?1:0);return Number.isNaN(C)||!Number.isFinite(C)?j.create(D.NUM):t===0&&n===0?R.create(C,Pi(this.getLocale())):R.create(C)});return c===1&&l===1?g.get(0,0):g}},$f=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?R.create(0):o;s.isNull()&&(s=R.create(0));let{isError:c,errorObject:l,variants:u}=bs(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=N(d);if(typeof v!=`number`)return v;let y=N(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(ee))return j.create(D.VALUE);if(b<0||x<0||S<=0||![1,2,4].includes(C)||ee<0||ee>4||v>=y||!uf(v,y,C))return j.create(D.NUM);let te=hf(v,y,b,x,S,C,ee);return R.create(te)}},ep=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=bs(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=N(l);if(typeof m!=`number`)return m;let h=N(u);if(typeof h!=`number`)return h;let g=+d.getValue(),_=+f.getValue(),v=Math.floor(+p.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return j.create(D.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return j.create(D.NUM);let{days:y,yearDays:b}=pt(m,h,v),x=_-g*_*y/b;return R.create(x)}},tp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=N(f);if(typeof v!=`number`)return v;let y=+p.getValue(),b=+m.getValue(),x=Math.floor(+h.getValue());if(Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);let S=this._getDateCorrectOrder(_,g,v);if(y<0||b<0||x<0||x>4||!S)return j.create(D.NUM);let C=Ct(g,x),{days:ee}=pt(g,_,x),{days:te}=pt(v,_,x),{days:ne}=pt(v,g,x),re=(100+te/C*y*100)/(1+ee/C*b)-ne/C*y*100;return R.create(re)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}},np=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+l.getValue(),y=+m.getValue();y=y?1:0;let b=h===0?-_*g-v:((1-(1+h)**g)/h*_*(1+h*y)-v)/(1+h)**g;return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):t===0&&n===0?R.create(b,Pi(this.getLocale())):R.create(b)});return s===1&&c===1?m.get(0,0):m}},rp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?R.create(0):r,s=i==null?R.create(0):i,c=a==null?R.create(.1):a,l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,e,j.create(D.NA)),f=V(l,u,t,j.create(D.NA)),p=V(l,u,n,j.create(D.NA)),m=V(l,u,o,j.create(D.NA)),h=V(l,u,s,j.create(D.NA)),g=V(l,u,c,j.create(D.NA)),_=d.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,f.get(t,n),p.get(t,n),m.get(t,n),h.get(t,n),g.get(t,n));if(r)return i;let[o,s,c,l,u,d]=a,_=+o.getValue(),v=+s.getValue(),y=+c.getValue(),b=+l.getValue(),x=+u.getValue(),S=+d.getValue();return x=x?1:0,_<=0||v>=0&&y>=0&&b>=0||v<=0&&y<=0&&b<=0?j.create(D.NUM):this._getResult(_,v,y,b,x,S,t,n)});return l===1&&u===1?_.get(0,0):_}_getResult(e,t,n,r,i,a,o,s){let c=1e-10;if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,n,r,o,s);let l=a,u=1/0;for(let a=0;a<100;a++){if(l<=-1)return j.create(D.NUM);let{value:a,derivative:o}=this._evaluateRateFunction(l,e,t,n,r,i,c),s=Math.abs(a);if(s<c||Math.abs(o)<1e-14)break;let d=this._getAdaptiveDampedStep(a,o,s,u);l-=d,u=s}return!Number.isFinite(l)||l<=-1?j.create(D.NUM):R.create(l,o===0&&s===0?`0%`:void 0)}_computeSimpleGrowthRate(e,t,n,r,i){if(Math.sign(t)===Math.sign(n))return j.create(D.NUM);let a=(n/-t)**(1/e)-1;return R.create(a,r===0&&i===0?`0%`:void 0)}_evaluateRateFunction(e,t,n,r,i,a,o){let s,c,l;if(Math.abs(e)<o)s=r*(1+t*e)+n*(1+e*a)*t+i,c=r*t+n*a*t;else{l=(1+e)**t,s=r*l+n*(1/e+a)*(l-1)+i;let o=t*(1+e)**(t-1);c=r*o+n*(1/e+a)*o+n*(-1/(e*e))*(l-1)}return{value:s,derivative:c}}_getAdaptiveDampedStep(e,t,n,r){let i=e/t;return n>.001||n>=r*.9?Math.max(Math.min(i,5),-5):Math.max(Math.min(i,.5),-.5)}},ip=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=bs(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=N(l);if(typeof m!=`number`)return m;let h=N(u);if(typeof h!=`number`)return h;let g=+d.getValue(),_=+f.getValue(),v=Math.floor(+p.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return j.create(D.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return j.create(D.NUM);let{days:y,yearDays:b}=pt(m,h,v),x=g/(1-_*y/b);return x<0?j.create(D.NUM):R.create(x)}},ap=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,6)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,o.get(t,n),s.get(t,n));if(r)return i;let[c,l,u]=a,d=+c.getValue(),f=+l.getValue(),p=+u.getValue();if(d<=0)return j.create(D.NUM);if(f===0&&p===0)return R.create(0);let m=(p/f)**(1/d)-1;return Number.isNaN(m)||!Number.isFinite(m)||p/f<0?j.create(D.NUM):R.create(m)});return r===1&&i===1?c.get(0,0):c}},op=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsLocale`,!0)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(r.isError())return r;if(i.isError())return i;let a=+e.getValue(),c=+r.getValue(),l=+i.getValue();if(Number.isNaN(a)||Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);if(l===0)return j.create(D.DIV_BY_ZERO);let u=(a-c)/l;return t===0&&n===0?R.create(u,Pi(this.getLocale())):R.create(u)});return r===1&&i===1?c.get(0,0):c}},sp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4),E(this,`needsLocale`,!0)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);if(r.isError())return r;if(i.isError())return i;if(a.isError())return a;let o=+e.getValue(),u=+r.getValue(),d=+i.getValue(),f=+a.getValue();if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(d)||Number.isNaN(f))return j.create(D.VALUE);if(u<0||d<=0||f>d)return j.create(D.NUM);let p=(o-u)*(d-f+1)*2/(d*(d+1));return t===0&&n===0?R.create(p,Pi(this.getLocale())):R.create(p)});return i===1&&a===1?u.get(0,0):u}},cp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=bs(e,t,n);if(r)return i;let[o,s,c]=a,l=N(o);if(typeof l!=`number`)return l;let u=N(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return j.create(D.VALUE);if(d<=0||l>=u)return j.create(D.NUM);let f=Math.floor(u)-Math.floor(l);if(f>St(M(l).getUTCFullYear()))return j.create(D.NUM);let p=365*d/(360-d*f);if(f>182){let e=100*(1-d*f/360),t=f/365;if(p=(-t+Math.sqrt(t*t-(t*2-1)*(1-100/e)))/(t-.5),Number.isNaN(p))return j.create(D.NUM)}return p<0?j.create(D.NUM):R.create(p)}},lp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsLocale`,!0)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=bs(e,t,n);if(r)return i;let[o,s,c]=a,l=N(o);if(typeof l!=`number`)return l;let u=N(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return j.create(D.VALUE);if(d<=0||l>=u)return j.create(D.NUM);let f=Math.floor(u)-Math.floor(l);if(f>St(M(l).getUTCFullYear()))return j.create(D.NUM);let p=100*(1-d*f/360);return p<0?j.create(D.NUM):R.create(p,Pi(this.getLocale()))}},up=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=bs(e,t,n);if(r)return i;let[o,s,c]=a,l=N(o);if(typeof l!=`number`)return l;let u=N(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return j.create(D.VALUE);if(d<=0||l>=u)return j.create(D.NUM);let f=Math.floor(u)-Math.floor(l);if(f>St(M(l).getUTCFullYear()))return j.create(D.NUM);let p=(100-d)/d*360/f;return R.create(p)}},dp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,7),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a,o){let s=a==null?R.create(2):a;s.isNull()&&(s=R.create(2));let c=o==null?L.create(!1):o;c.isNull()&&(c=L.create(!1));let l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,e,j.create(D.NA)),f=V(l,u,t,j.create(D.NA)),p=V(l,u,n,j.create(D.NA)),m=V(l,u,r,j.create(D.NA)),h=V(l,u,i,j.create(D.NA)),g=V(l,u,s,j.create(D.NA)),_=V(l,u,c,j.create(D.NA));return this._getResultArray(d,f,p,m,h,g,_,l,u)}_getResultArray(e,t,n,r,i,a,o,s,c){let l=e.map((e,s,c)=>{let{isError:l,errorObject:u,variants:d}=X(e,t.get(s,c),n.get(s,c),r.get(s,c),i.get(s,c),a.get(s,c),o.get(s,c));if(l)return u;let[f,p,m,h,g,_,v]=d,y=+f.getValue(),b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=+g.getValue(),ee=+_.getValue(),te=+v.getValue();if(y<0||b<0||x<0||S<0||C<0||C>x||S>C||ee<0)return j.create(D.NUM);if(x===0&&S===0&&C===0)return j.create(D.DIV_BY_ZERO);let ne=this._getResult(y,b,x,S,C,ee,te);return s===0&&c===0?R.create(ne,Pi(this.getLocale())):R.create(ne)});return s===1&&c===1?l.get(0,0):l}_getResult(e,t,n,r,i,a,o){let s=Math.floor(r),c=Math.ceil(i),l=0;if(e<t){if(r>=1||o)return l;let n=Math.abs(e-t);return l=n*(i-r)>n?n:n*(i-r),-l}if(o)for(let o=s+1;o<=c;o++){let u=gf(e,t,n,o,a);o===s+1?u*=Math.min(i,s+1)-r:o===c&&(u*=i+1-c),l+=u}else{let o=e-this._getVdb(e,t,n,n,r,a);l=this._getVdb(o,t,n,n-r,i-r,a)}return l}_getVdb(e,t,n,r,i,a){let o=Math.ceil(i),s=0,c=e-t,l=0,u=0,d=!1;for(let f=1;f<=o;f++){if(d)u=l;else{let i=gf(e,t,n,f,a);l=c/(r-(f-1)),l>i?(u=l,d=!0):(u=i,c-=i)}f===o&&(u*=i+1-o),s+=u}return s}},fp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:r,errorObejct:i,_values:a,_dates:o}=this._checkErrors(e,t);if(r)return i;let s=n==null?R.create(.1):n;s.isNull()&&(s=R.create(.1));let{isError:c,errorObject:l,variants:u}=Y(s);if(c)return l;let[d]=u,f=+d.getValue();if(Number.isNaN(f))return j.create(D.VALUE);let{positive:p,negative:m}=this._checkValues(a);if(!p||!m||(a==null?void 0:a.length)!==(o==null?void 0:o.length)||f<0)return j.create(D.NUM);let h=pf(f,e=>this._iterF(a,o,e));return typeof h==`number`?R.create(h):h}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:n,errorObejct:r,_values:i}=this._checkErrorValues(e);if(n)return{isError:n,errorObejct:r};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isBoolean())return n=!0,r=j.create(D.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=j.create(D.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:j.create(D.NA)}:{isError:n,_values:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!w(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:{isError:!0,errorObejct:j.create(D.NA)}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{if(e!=null&&e.isError())return n=!0,r=e,!1;if(e!=null&&e.isBoolean())return n=!0,r=j.create(D.VALUE),!1;let i=+e.getValue();if(Number.isNaN(i))return n=!0,r=j.create(D.VALUE),!1;if(i<0)return n=!0,r=j.create(D.NUM),!1;t.push(Math.floor(i))}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:j.create(D.NA)}:{isError:n,_dates:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!w(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:+t<0?{isError:!0,errorObejct:j.create(D.NUM)}:{isError:!0,errorObejct:j.create(D.NA)}}}_checkValues(e){let t=!1,n=!1;for(let r=0;r<e.length;r++)e[r]>0&&(t=!0),e[r]<0&&(n=!0);return{positive:t,negative:n}}_iterF(e,t,n){return e.reduce((e,r,i)=>e+r/(1+n)**((t[i]-t[0])/365),0)}},pp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull()||n.isNull())return j.create(D.NA);let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=+o.getValue();if(Number.isNaN(s))return j.create(D.VALUE);let{isError:c,errorObejct:l,_values:u,_dates:d}=this._checkErrors(t,n);if(c)return l;if(u=u,d=d,s<0||u.length!==d.length)return j.create(D.NUM);let f=0,p=d[0];for(let e=0;e<d.length;e++){let t=d[e],n=u[e];f+=n/(1+s)**((t-p)/365)}return R.create(f)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:n,errorObejct:r,_values:i}=this._checkErrorValues(e);if(n)return{isError:n,errorObejct:r};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&i.getValue()===``)return n=!0,r=j.create(D.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=j.create(D.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:{isError:n,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:j.create(D.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:{isError:!1,_values:[t]}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isNull()||i.isBoolean())return n=!0,r=j.create(D.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=j.create(D.VALUE),!1;if(a<0)return n=!0,r=j.create(D.NUM),!1;t.push(Math.floor(a))}),n?{isError:n,errorObejct:r}:{isError:n,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:j.create(D.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:+t<0?{isError:!0,errorObejct:j.create(D.NUM)}:{isError:!1,_dates:[Math.floor(t)]}}}},mp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?R.create(0):o;s.isNull()&&(s=R.create(0));let{isError:c,errorObject:l,variants:u}=bs(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=N(d);if(typeof v!=`number`)return v;let y=N(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(ee))return j.create(D.VALUE);if(b<0||x<=0||S<=0||![1,2,4].includes(C)||ee<0||ee>4||v>=y||!uf(v,y,C))return j.create(D.NUM);let te=this._getResult(v,y,b,x,S,C,ee);return R.create(te)}_getResult(e,t,n,r,i,a,o){if(Zd(e,t,a)>1){let s=n||.01,c=hf(e,t,n,s,i,a,o),l=c-r;for(let u=0;u<100&&Math.abs(l)>1e-7;u++)c=hf(e,t,n,1.01*s,i,a,o),s+=-l/(c-r-l)*s*.01,l=hf(e,t,n,s,i,a,o)-r;return s}let s=Jd(e,t,a,o),c=Yd(e,t,a,o),{days:l}=pt(e,t,o),u=r/100+s/c*n/a;return(i/100+n/a-u)/u*a*c/l}},hp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=bs(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=N(l);if(typeof m!=`number`)return m;let h=N(u);if(typeof h!=`number`)return h;let g=+d.getValue(),_=+f.getValue(),v=Math.floor(+p.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return j.create(D.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return j.create(D.NUM);let{days:y,yearDays:b}=pt(m,h,v),x=(_/g-1)/(y/b);return R.create(x)}},gp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=N(f);if(typeof v!=`number`)return v;let y=+p.getValue(),b=+m.getValue(),x=Math.floor(+h.getValue());if(Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);let S=this._getDateCorrectOrder(_,g,v);if(y<0||b<=0||x<0||x>4||!S)return j.create(D.NUM);let C=Ct(g,x),{days:ee}=pt(g,_,x),{days:te}=pt(v,_,x),{days:ne}=pt(v,g,x),re=((1+te/C*y)/(b/100+ne/C*y)-1)/(ee/C);return R.create(re)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}};const _p=[[_f,W.ACCRINT],[vf,W.ACCRINTM],[yf,W.AMORLINC],[bf,W.COUPDAYBS],[xf,W.COUPDAYS],[Sf,W.COUPDAYSNC],[Cf,W.COUPNCD],[wf,W.COUPNUM],[Tf,W.COUPPCD],[Ef,W.CUMIPMT],[Df,W.CUMPRINC],[Of,W.DB],[kf,W.DDB],[Af,W.DISC],[jf,W.DOLLARDE],[Mf,W.DOLLARFR],[Nf,W.DURATION],[Pf,W.EFFECT],[Ff,W.FV],[If,W.FVSCHEDULE],[Lf,W.INTRATE],[Rf,W.IPMT],[zf,W.IRR],[Bf,W.ISPMT],[Vf,W.MDURATION],[Hf,W.MIRR],[Uf,W.NOMINAL],[Wf,W.NPER],[Gf,W.NPV],[Kf,W.ODDFPRICE],[qf,W.ODDFYIELD],[Jf,W.ODDLPRICE],[Yf,W.ODDLYIELD],[Xf,W.PDURATION],[Zf,W.PMT],[Qf,W.PPMT],[$f,W.PRICE],[ep,W.PRICEDISC],[tp,W.PRICEMAT],[np,W.PV],[rp,W.RATE],[ip,W.RECEIVED],[ap,W.RRI],[op,W.SLN],[sp,W.SYD],[cp,W.TBILLEQ],[lp,W.TBILLPRICE],[up,W.TBILLYIELD],[dp,W.VDB],[fp,W.XIRR],[pp,W.XNPV],[mp,W.YIELD],[hp,W.YIELDDISC],[gp,W.YIELDMAT]];var vp=class extends Z{constructor(...e){super(...e),E(this,`needsReferenceObject`,!0),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isError())return n;if(n.isReferenceObject()&&(n=n.toArrayValueObject()),n.isArray()){let e=n.getRowCount(),r=n.getColumnCount();if(e===1&&r===1){let e=n.get(0,0);return this._handleSingleObject(e,t)}return n.map(e=>e.isError()?e:this._handleSingleObject(e,t,!0))}return this._handleSingleObject(n,t)}_handleSingleObject(e,t,n=!1){let r=t;if(r.isError())return r;if(!r.isReferenceObject())return j.create(D.NA);let{columnData:i,defaultColumnWidth:a}=r.getCurrentActiveSheetData();r=r.toArrayValueObject();let o=r.getCurrentRow(),s=r.getCurrentColumn();r=r.getFirstCell();let c=`${e.getValue()}`,l;switch(c.toLocaleLowerCase()){case`address`:return z.create(`$${re.chatAtABC(s)}$${o+1}`);case`col`:return R.create(s+1);case`color`:return R.create(0);case`contents`:return r;case`filename`:return j.create(D.VALUE);case`format`:return z.create(`G`);case`parentheses`:return R.create(0);case`prefix`:return z.create(``);case`protect`:return R.create(1);case`row`:return R.create(o+1);case`type`:return l=`v`,r.isNull()&&(l=`b`),r.isString()&&(l=`l`),z.create(l);case`width`:return this._getWidthResult(i,a,s,n);default:return j.create(D.VALUE)}}_getWidthResult(e,t,n,r){var i;let a=(i=e[n])==null?void 0:i.w;if(!a&&a!==0&&(a=t),r)return R.create(a);let o=[[a,a===t]];return B.createByArray(o)}},yp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`_errorTypeValueMap`,new Map([[D.NULL,1],[D.DIV_BY_ZERO,2],[D.VALUE,3],[D.REF,4],[D.NAME,5],[D.NUM,6],[D.NA,7],[D.CONNECT,8],[D.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e.getValue(),n=this._errorTypeValueMap.get(t);return n?R.create(n):j.create(D.NA)}},bp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=ys(e,t,n,r==null?L.create(!0):r,i==null?L.create(!0):i);if(a)return o;let[c,l,u,d,f]=s;if(d.isString()||f.isString())return j.create(D.VALUE);if(l.compare(u,`>`).getValue()===!0)return j.create(D.NUM);let p=+d.getValue(),m=+f.getValue(),h=p?`>=`:`>`,g=m?`<=`:`<`;return c.compare(l,h).getValue()===!1||c.compare(u,g).getValue()===!1?L.create(!1):L.create(!0)}},xp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isNull()?L.create(!0):e.isArray()?e.mapValue(e=>e.isNull()?L.create(!0):L.create(!1)):L.create(!1)}},Sp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==``?L.create(ot(t.getPattern())):t.isString()&&(it(`${t.getValue()}`)||at(`${t.getValue()}`))?L.create(!0):L.create(!1)}},Cp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return L.create(!1);let n=`${t.getValue()}`;if(n.length>254)return L.create(!1);let r=re.topLevelDomainCombiningString(),i=RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})$`,`i`);return L.create(i.test(n))}},wp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.getValue()===D.NA?L.create(!1):e.isError()?L.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===D.NA?L.create(!1):e.isError()?L.create(!0):L.create(!1)):L.create(!1)}},Tp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?L.create(!0):e.isArray()?e.mapValue(e=>e.isError()?L.create(!0):L.create(!1)):L.create(!1)}},Ep=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return j.create(D.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return j.create(D.VALUE);let r=n%2==0;return L.create(r)}},Dp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){var t;if(e.isError())return e;if(!e.isReferenceObject())return j.create(D.NA);let n=(t=e.getCurrentActiveSheetData())==null?void 0:t.cellData.getMatrix(),{startRow:r,startColumn:i}=e.getRangePosition(),a=e.toArrayValueObject(),o=a.mapValue((e,t,a)=>{var o;let s=n==null||(o=n[r+t])==null?void 0:o[i+a];return s!=null&&s.f||s!=null&&s.si?L.create(!0):L.create(!1)});return a.getRowCount()===1&&a.getColumnCount()===1?o.get(0,0):o}},Op=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isBoolean()?L.create(!0):e.isArray()?e.mapValue(e=>e.isBoolean()?L.create(!0):L.create(!1)):L.create(!1)}},kp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.getValue()===D.NA?L.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===D.NA?L.create(!0):L.create(!1)):L.create(!1)}},Ap=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return!e.isArray()&&!e.isString()?L.create(!0):e.isArray()?e.mapValue(e=>e.isString()?L.create(!1):L.create(!0)):L.create(!1)}},jp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isNumber()?L.create(!0):e.isArray()?e.mapValue(e=>e.isNumber()?L.create(!0):L.create(!1)):L.create(!1)}},Mp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return j.create(D.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return j.create(D.VALUE);let r=n%2!=0;return L.create(r)}},Np=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?L.create(!0):L.create(!1)}},Pp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isString()?L.create(!0):e.isArray()?e.mapValue(e=>e.isString()?L.create(!0):L.create(!1)):L.create(!1)}},Fp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return L.create(!1);let n=`${t.getValue()}`.replace(/^\s+|\s+$/g,``);if(n.length>1e3)return L.create(!1);let r=re.topLevelDomainCombiningString(),i=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_-]+)*\\.(?:${r})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,`i`);return L.create(i.test(n))}},Ip=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return R.create(0);let n=+t.getValue();return R.create(n)}},Lp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return j.create(D.NA)}},Rp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0),E(this,`needsSheetsInfo`,!0)}calculate(e){var t;if(e!=null&&e.isError())return e;let{sheetOrder:n,sheetNameMap:r}=this.getSheetsInfo();if(!e){let e=n.findIndex(e=>e===this.subUnitId);return R.create(e+1)}if(e.isReferenceObject()){let t=e.getForcedSheetId(),r=e.getDefaultSheetId(),i=n.findIndex(e=>t?e===t:e===r);return R.create(i+1)}if(e.isArray())return j.create(D.NA);let i=`${e.getValue()}`.toLocaleLowerCase(),a=(t=Object.entries(r).find(([e,t])=>t.toLocaleLowerCase()===i))==null?void 0:t[0];if(!a)return j.create(D.NA);let o=n.findIndex(e=>e===a);return R.create(o+1)}},zp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0),E(this,`needsSheetsInfo`,!0)}calculate(){let{sheetOrder:e}=this.getSheetsInfo();return R.create(e.length)}},Bp=class extends Z{constructor(...e){super(...e),E(this,`needsReferenceObject`,!0),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isReferenceObject()){let t=e.getRowCount(),n=e.getColumnCount();if(t===1&&n===1){let t=e.getFirstCell();if(t.isError())return R.create(16);if(t.isBoolean())return R.create(4);if(t.isString())return R.create(2);if(t.isNumber()||t.isNull())return R.create(1)}else return R.create(64)}else{if(e.isArray())return R.create(64);if(e.isError())return R.create(16);if(e.isBoolean())return R.create(4);if(e.isString())return R.create(2);if(e.isNumber()||e.isNull())return R.create(1)}return R.create(128)}};const Vp=[[vp,to.CELL],[yp,to.ERROR_TYPE],[bp,to.ISBETWEEN],[xp,to.ISBLANK],[Sp,to.ISDATE],[Cp,to.ISEMAIL],[wp,to.ISERR],[Tp,to.ISERROR],[Ep,to.ISEVEN],[Dp,to.ISFORMULA],[Op,to.ISLOGICAL],[kp,to.ISNA],[Ap,to.ISNONTEXT],[jp,to.ISNUMBER],[Mp,to.ISODD],[Np,to.ISREF],[Pp,to.ISTEXT],[Fp,to.ISURL],[Ip,to.N],[Lp,to.NA],[Rp,to.SHEET],[zp,to.SHEETS],[Bp,to.TYPE]];var Hp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=!0,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(t=t&&!!e.getValue(),n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(t=t&&!!i.getValue(),n=!1)}return n?j.create(D.VALUE):L.create(t)}},Up=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){let n=e,r=null;if(e.isReferenceObject()&&(n=e.toArrayValueObject(),r=e),n.isError())return n;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return j.create(D.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=V(a,o,n);let s=[[]];for(let e=0;e<o;e++){let t=[];for(let r=0;r<a;r++){let i=n.get(r,e);t.push([i])}let o=B.create({calculateValueList:t,rowCount:a,columnCount:1,unitId:``,sheetId:``,row:0,column:0});if(r){let{startRow:t,startColumn:n}=r.getRangePosition(),i={startRow:t,startColumn:n+e,endRow:t+a-1,endColumn:n+e};o=this.createReferenceObject(r,i)}let c=i.execute(o);if(c.isArray()){let e=c.getRowCount(),t=c.getColumnCount();if(e>1||t>1)return j.create(D.CALC);c=c.get(0,0)}c.isNull()&&(c=R.create(0)),s[0].push(c)}return o===1?s[0][0]:B.create({calculateValueList:s,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Wp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){let n=e,r=null;if(e.isReferenceObject()&&(n=e.toArrayValueObject(),r=e),n.isError())return n;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return j.create(D.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=V(a,o,n);let s=[];for(let e=0;e<a;e++){let t=[[]];for(let r=0;r<o;r++){let i=n.get(e,r);t[0].push(i)}let a=B.create({calculateValueList:t,rowCount:1,columnCount:o,unitId:``,sheetId:``,row:0,column:0});if(r){let{startRow:t,startColumn:n}=r.getRangePosition(),i={startRow:t+e,startColumn:n,endRow:t+e,endColumn:n+o-1};a=this.createReferenceObject(r,i)}let c=i.execute(a);if(c.isArray()){let e=c.getRowCount(),t=c.getColumnCount();if(e>1||t>1)return j.create(D.CALC);c=c.get(0,0)}c.isNull()&&(c=R.create(0)),s.push([c])}return a===1?s[0][0]:B.create({calculateValueList:s,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Gp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return L.create(!1)}},Kp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n=L.create(!1)){let r=e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();t===1&&n===1&&(r=e.get(0,0))}if(!r.isArray())return this._handleSingleObject(r,t,n);let i=Math.max(r.isArray()?r.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(r.isArray()?r.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=V(i,a,r,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA));return o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return this._handleSingleObject(e,r,i)})}_handleSingleObject(e,t,n){return e.isError()?e:e.getValue()?t:n}},qp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&i.set(t,n,a.get(t,n))}),i}},Jp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==D.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===D.NA?t:e;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&e.getErrorType()===D.NA&&i.set(t,n,a.get(t,n))}),i}},Yp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(...e){if(e.length%2!=0)return j.create(D.NA);for(let t=0;t<e.length;t++)if(e[t].isError())return e[t];let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),n=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),r=e.map(e=>V(t,n,e,j.create(D.NA))),i=r[0].map((e,t,n)=>{for(let e=0;e<r.length;e+=2){let i=r[e].get(t,n)||I.create(),a=r[e+1].get(t,n)||I.create();if(i.isNull())continue;if(i.isError())return i;let o=i.getValue();if(i.isString()){if(`${o}`.toLocaleUpperCase()===`TRUE`)return a;if(`${o}`.toLocaleUpperCase()===`FALSE`)continue;return j.create(D.VALUE)}if(+o)return a.isNull()?j.create(D.NA):a}return j.create(D.NA)});return t===1&&n===1?i.get(0,0):i}},Xp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){return j.create(D.VALUE)}},Zp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255)}calculate(...e){return j.create(D.VALUE)}},Qp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(...e){let t=this.getIndexNumValue(e[0]);if(typeof t!=`number`)return t;let n=this.getIndexNumValue(e[1]);if(typeof n!=`number`)return n;if(!(e[2].isValueObject()&&e[2].isLambda()))return j.create(D.VALUE);let r=e[2],i=[];for(let e=0;e<t;e++){i[e]==null&&(i[e]=[]);for(let t=0;t<n;t++){let n=r.execute(R.create(e+1),R.create(t+1));n.isArray()&&(n=n.get(0,0)),i[e][t]=n}}return new xa(i)}isAsync(){return!0}},$p=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(...e){let t=[],n=null,r=0,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=o;if(s.isReferenceObject()&&(s=o.toArrayValueObject()),s.isError())return s;if(a===e.length-1){if(!(o.isValueObject()&&o.isLambda()))return j.create(D.VALUE);n=o}else t.push(o),r=Math.max(r,s.isArray()?s.getRowCount():1),i=Math.max(i,s.isArray()?s.getColumnCount():1)}let a=this._getResultArray(t,n,r,i);return a instanceof j?a:r===1&&i===1?a[0][0]:B.create({calculateValueList:a,rowCount:r,columnCount:i,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,n,r){let i=[];for(let a=0;a<n;a++){let n=[];for(let i=0;i<r;i++){let r=[],o=!1;for(let t=0;t<e.length;t++){let s=e[t],c=null;if(s.isReferenceObject()&&(c=s,s=s.toArrayValueObject()),!s.isArray())if(a===0&&i===0){r.push(c||s);continue}else{n.push(j.create(D.NA)),o=!0;break}let l=s.get(a,i);if(!l){n.push(j.create(D.NA)),o=!0;break}if(c){let{startRow:e,startColumn:t}=c.getRangePosition(),n={startRow:e+a,startColumn:t+i,endRow:e+a,endColumn:t+i};l=this.createReferenceObject(c,n)}r.push(l)}if(o||r.length===0)continue;let s=t.execute(...r);if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return j.create(D.CALC);s=s.get(0,0)}s.isNull()&&(s=R.create(0)),n.push(s)}i.push(n)}return i}},em=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=+e.getValue();return Number.isNaN(t)?j.create(D.VALUE):L.create(!t)}},tm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=!1,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(t=t||!!e.getValue(),n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(t=t||!!i.getValue(),n=!1)}return n?new j(D.VALUE):new L(t)}},nm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r,i;e.isReferenceObject()?(r=e.toArrayValueObject(),i=e):(r=e,i=null);let a,o;return t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),r.isArray()?r.mapValue(e=>this._handleSingleValueObject(e,a,n,i,o)):this._handleSingleValueObject(r,a,n,i,o)}_handleSingleValueObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(!(n.isValueObject()&&n.isLambda()&&n.getLambdaPrivacyVarKeys().length===2))return j.create(D.VALUE);let a=n,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,c=e;r&&(c=r);for(let e=0;e<o;e++)for(let n=0;n<s;n++){let r=t.isArray()?t.get(e,n):t;if(r.isError())return r;if(i){let{startRow:t,startColumn:a}=i.getRangePosition(),o={startRow:t+e,startColumn:a+n,endRow:t+e,endColumn:a+n};r=this.createReferenceObject(i,o)}let o=a.execute(c,r);if(o.isError())return o;o.isNull()&&(o=R.create(0)),c=o}return c.isReferenceObject()?c.toArrayValueObject():c}},rm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e,i=null;e.isReferenceObject()&&(r=e.toArrayValueObject(),i=e),r=r;let a=t,o=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),o=t),a=a,r.isError())return r;if(a.isError())return a;if(n.isError())return n;if(!(n.isValueObject()&&n.isLambda()&&n.getLambdaPrivacyVarKeys().length===2))return j.create(D.VALUE);if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.CALC);r=r.get(0,0)}return this._getResult(r,a,n,i,o)}_getResult(e,t,n,r,i){let a=[],o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,c=e;r&&(c=r);for(let e=0;e<o;e++){let r=[];for(let a=0;a<s;a++){if(c.isError()){r.push(c);continue}let o=t.isArray()?t.get(e,a):t;if(o.isError()){c=o,r.push(o);continue}if(i){let{startRow:t,startColumn:n}=i.getRangePosition(),r={startRow:t+e,startColumn:n+a,endRow:t+e,endColumn:n+a};o=this.createReferenceObject(i,r)}let s=n.execute(c,o);if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return j.create(D.CALC);s=s.get(0,0)}s.isNull()&&(s=R.create(0)),c=s,r.push(s)}a.push(r)}return o===1&&s===1?a[0][0]:B.create({calculateValueList:a,rowCount:o,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},im=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3)}calculate(e,...t){if(e.isError())return e;let n=t.length%2!=0,r=n?t[t.length-1]:I.create();return!e.isArray()&&!t.some(e=>e.isArray())?this._handleNonArrayInputs(e,t,r,n):this._handleArrayInputs(e,t,r,n)}_handleNonArrayInputs(e,t,n,r){for(let n=0;n<t.length-(r?1:0);n+=2){let r=t[n],i=t[n+1];if(!r.isNull()){if(r.isError())return r;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return i.isNull()?j.create(D.NA):i}}return n.isNull()?j.create(D.NA):n}_handleArrayInputs(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,...t.map(e=>e.isArray()?e.getRowCount():1),n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(e=>e.isArray()?e.getColumnCount():1),n.isArray()?n.getColumnCount():1),o=V(i,a,e),s=t.map(e=>V(i,a,e,j.create(D.NA))),c=V(i,a,n,j.create(D.NA));return o.map((e,t,n)=>{for(let i=0;i<s.length-(r?1:0);i+=2){let r=s[i].get(t,n)||I.create(),a=s[i+1].get(t,n)||I.create();if(!r.isNull()){if(r.isError()||e.isError())return r.isError()?r:e;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return a.isNull()?j.create(D.NA):a}}let i=c.get(t,n)||I.create();return i.isNull()?j.create(D.NA):i})}},am=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return L.create(!0)}},om=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(e.getValue()&&t++,n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(i.getValue()&&t++,n=!1)}return n?j.create(D.VALUE):L.create(t%2==1)}};const sm=[[Hp,no.AND],[Up,no.BYCOL],[Wp,no.BYROW],[Gp,no.FALSE],[Kp,no.IF],[qp,no.IFERROR],[Jp,no.IFNA],[Yp,no.IFS],[Xp,no.LAMBDA],[Zp,no.LET],[Qp,no.MAKEARRAY],[$p,no.MAP],[em,no.NOT],[tm,no.OR],[nm,no.REDUCE],[rm,no.SCAN],[im,no.SWITCH],[am,no.TRUE],[om,no.XOR]];var cm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,5)}calculate(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n!=null&&n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;let a=n==null?R.create(1):n,o=r==null?L.create(!0):r,s=i==null?z.create(``):i,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,a,j.create(D.NA)),p=V(c,l,o,j.create(D.NA)),m=V(c,l,s,j.create(D.NA));return u.map((e,t,n)=>{let r=d.get(t,n)||j.create(D.NA),i=f.get(t,n)||j.create(D.NA),a=p.get(t,n)||j.create(D.NA),o=m.get(t,n)||j.create(D.NA);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:o.isError()?o:this._calculateSingleCell(e,r,i,a,o)})}_calculateSingleCell(e,t,n,r,i){let a=Number.parseInt(`${Number(e.getValue())-1}`),o=Number.parseInt(`${Number(t.getValue())-1}`),s=Number.parseInt(`${Number(n.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(s)||s<1||s>4)return j.create(D.VALUE);let c=lm(s),l=this.getZeroOrOneByOneDefault(r),u=ir(`${i.getValue()}`),d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:c,endAbsoluteRefType:c},f=r&&!l?gs(d):Gn(d);return z.create(u===``?f:`${u}!${f}`)}};function lm(t){switch(t){case 1:return e.ALL;case 2:return e.ROW;case 3:return e.COLUMN;case 4:return e.NONE;default:return e.ALL}}var um=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?R.create(1):j.create(D.VALUE)}},dm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let n=e;if(n.isError())return n;if(n.isReferenceObject()&&(n=n.toArrayValueObject()),!n.isArray()){let e=n.convertToNumberObjectValue();return e.isError()?e:t[Math.trunc(+e.getValue())-1]||j.create(D.VALUE)}let r=n.isArray()?n.getRowCount():1,i=n.isArray()?n.getColumnCount():1;t.forEach((e,t)=>{if(e.isArray()){let t=e;r=Math.max(r,t.getRowCount()),i=Math.max(i,t.getColumnCount())}else r=Math.max(r,1),i=Math.max(i,1)});let a=V(r,i,n,j.create(D.NA)),o=t.map(e=>{let t=e;return t.isReferenceObject()&&(t=t.toArrayValueObject()),V(r,i,t,j.create(D.NA))});return a.map((e,t,n)=>{if(e.isError())return e;let r=e.convertToNumberObjectValue();if(r.isError())return r;let i=o[Math.trunc(+r.getValue())-1],a=(i==null?void 0:i.get(t,n))||j.create(D.VALUE);return a!=null&&a.isNull()&&(a=R.create(0)),a})}},fm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a<t.length;a++){let o=t[a];if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;let s=Math.trunc(+o.getValue());if(s===0||Math.abs(s)>r)return j.create(D.VALUE);let c=e;r>1&&(c=s<0?e.slice(void 0,[s+r,s+1+r]):e.slice(void 0,[s-1,s]));for(let t=0;t<n;t++)i[t]||(i[t]=[]),e.isArray()?i[t].push(c.get(t,0)):i[t].push(e)}return B.create({calculateValueList:i,rowCount:i.length,columnCount:i[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},pm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=e.isArray()?e.getRowCount():1,r=[];for(let i=0;i<t.length;i++){let a=t[i];if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.trunc(+a.getValue());if(o===0||Math.abs(o)>n)return j.create(D.VALUE);let s=e;n>1&&(s=o<0?e.slice([o+n,o+1+n]):e.slice([o-1,o])),e.isArray()?r.push(s.getArrayValue()[0]):r.push([e])}return B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},mm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,1)}calculate(e){if(e==null)return R.create(this.column+1);if(e.isError())return e;if(!e.isArray())return j.create(D.NA);let t=e.getCurrentColumn(),n=e.getColumnCount(),r=[];for(let e=0;e<n;e++)r.push(R.create(t+e+1));let i={calculateValueList:[r],rowCount:1,columnCount:n,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column};return B.create(i)}},hm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return j.create(D.NA);let t=e.getColumnCount();return R.create(t)}},gm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n,i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,j.create(D.NA)),l=V(o,s,r,j.create(D.NA));if(o>1||s>1)return c.mapValue((t,n,r)=>{let o=l.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,i,a);return s?c:e.isArray()?j.create(D.VALUE):e});if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let u=t.isArray()?t.get(0,0):t,d=r.isArray()?r.get(0,0):r,{isError:f,errorObject:p,rowsValue:m,columnsValue:h}=this._checkRowsColumns(u,d,i,a);return f?p:this._getResultArray(e,m,h,i,a)}_checkRowsColumns(e,t,n,r){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:j.create(D.VALUE)}:Math.abs(i)>=n||Math.abs(a)>=r?{isError:!0,errorObject:j.create(D.CALC)}:{isError:!1,rowsValue:i,columnsValue:a}}_getResultArray(e,t,n,r,i){let a=t>=0?[t,r]:[0,r+t],o=n>=0?[n,i]:[0,i+n],s;return s=t===0&&n===0?e:t===0?e.slice(void 0,o):n===0?e.slice(a,void 0):e.slice(a,o),s=s.map(e=>e.isNull()?R.create(0):e),r-t===1&&i-n===1?s.get(0,0):s}},_m=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t,s=n==null?R.create(a):n,c=r==null?j.create(D.NA):r;t.isNull()&&(o=R.create(i)),s.isNull()&&(s=R.create(a));let l=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),d=V(l,u,o,j.create(D.NA)),f=V(l,u,s,j.create(D.NA));if(l>1||u>1)return d.mapValue((t,n,r)=>{let o=f.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let{isError:s,errorObject:l}=this._checkRowsColumnsPadWith(t,o,c,i,a);return s?l:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let p=o.isArray()?o.get(0,0):o,m=s.isArray()?s.get(0,0):s,{isError:h,errorObject:g,rowsValue:_,columnsValue:v,padWithObject:y}=this._checkRowsColumnsPadWith(p,m,c,i,a);return h?g:this._getResultArray(e,_,v,y,i,a)}_checkRowsColumnsPadWith(e,t,n,r,i){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o)||Math.abs(a)<r||Math.abs(o)<i)return{isError:!0,errorObject:j.create(D.VALUE)};let s=n;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:j.create(D.VALUE)};s=n.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:s}}_getResultArray(e,t,n,r,i,a){let o=[];o=e.isArray()?e.map(e=>e.isNull()?R.create(0):e).getArrayValue():[[e]];let s=Math.max(0,t-i),c=Math.max(0,n-a);for(let e=0;e<s;e++)o.push(Array(a).fill(r));for(let e=0;e<c;e++)o.forEach(e=>{e.push(r)});return t===1&&n===1?o[0][0]:B.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},vm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?j.create(D.CALC):n;if(e.isError())return e;if(t.isError())return t;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1;return o>1&&s>1||o===1&&s!==a||s===1&&o!==i?j.create(D.VALUE):i===1&&a===1?this._getResultArrayByR1C1(e,t,r):o===1?s===a?this._getResultArrayByR1(i,a,e,t,r):j.create(D.VALUE):s===1?o===i?this._getResultArrayByC1(i,a,e,t,r):j.create(D.VALUE):r}_getResultArrayByR1C1(e,t,n){let r=e,i=t;return r.isArray()&&(r=r.get(0,0)),i.isArray()&&(i=i.get(0,0)),i.isString()&&(i=i.convertToNumberObjectValue()),i.isError()?i:+i.getValue()?r:n}_getResultArrayByR1(e,t,n,r,i){let a=[];for(let i=0;i<t;i++){let t=r.get(0,i);if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(+t.getValue())for(let t=0;t<e;t++){a[t]||(a[t]=[]);let e=n.get(t,i);a[t].push(e)}}return a.length===0?i:B.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,n,r,i){let a=[];for(let i=0;i<e;i++){let e=r.get(i,0);if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;if(!+e.getValue())continue;let o=[];for(let e=0;e<t;e++){let t=n.get(i,e);o.push(t)}a.push(o)}return a.length===0?i:B.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},ym=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0),E(this,`needsFormulaDataModel`,!0)}calculate(e){var t;if(!e.isReferenceObject())return j.create(D.NA);let n=e.getUnitId(),r=e.getSheetId(),i=(t=e.getUnitData()[n])==null||(t=t[r])==null?void 0:t.cellData,{startRow:a,startColumn:o}=e.getRangePosition(),s=e.toArrayValueObject().mapValue((e,t,s)=>{let c=i.getValue(a+t,o+s);if(c!=null&&c.f||c!=null&&c.si){let e=this._formulaDataModel.getFormulaStringByCell(a+t,o+s,r,n);return z.create(e)}return j.create(D.NA)});return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}},bm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return j.create(D.REF);if(!t.isArray()||n.isError()||r!=null&&r.isError())return j.create(D.NA);let i=this.getZeroOrOneByOneDefault(r);if(i==null)return j.create(D.VALUE);let a=this.getIndexNumValue(n);if(a instanceof j)return a;let o=t.slice([0,1]),s=t.slice([a-1,a]);return o==null||s==null?j.create(D.REF):e.isArray()?e.map(e=>this._handleSingleObject(e,o,s,i)):this._handleSingleObject(e,o,s,i)}_handleSingleObject(e,t,n,r){return r===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}},xm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<t;e++){n[e]||(n[e]=[]);for(let t=0;t<o;t++){let r=i;i.isArray()&&(r=i.get(e,t)),e>a-1||!r?n[e].push(j.create(D.NA)):n[e].push(r)}}}return B.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Sm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(e.isArray()&&(n=e.get(0,0)),n.isError())return n;let r=t;if(t!=null&&t.isArray()&&(r=t.get(0,0)),r!=null&&r.isError())return r;let i=`${n.getValue()}`;n.isNull()&&(i=``);let a=i;return r&&(a=`${r.getValue()}`,r.isNull()?a=`0`:r.isBoolean()&&(a=a.toLocaleUpperCase())),z.create(a,{isHyperlink:!0,hyperlinkUrl:i})}},Cm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,i!=null&&i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,i!=null&&i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=t?V(a,o,t,j.create(D.NA)):void 0,l=n?V(a,o,n,j.create(D.NA)):void 0,u=r?V(a,o,r,j.create(D.NA)):void 0,d=i?V(a,o,i,j.create(D.NA)):void 0,f=s.mapValue((e,t,n)=>{if(e.isError())return e;let r=c?c.get(t,n):void 0;if(r!=null&&r.isError())return r;let i=l?l.get(t,n):void 0;if(i!=null&&i.isError())return i;let a=u?u.get(t,n):void 0;if(a!=null&&a.isError())return a;let o=d?d.get(t,n):void 0;return o!=null&&o.isError()?o:this._handleSingleObject(e,r,i,a,o)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){if(!e.isString())return j.create(D.VALUE);let a=e.getValue(),o=``;t&&(t.isBoolean()?o=t.getValue()?`TRUE`:`FALSE`:t.isNull()||(o=`${t.getValue()}`));let s=n==null?R.create(0):n;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let c=Math.abs(Math.trunc(+s.getValue()));if(c<0||c>3||[0,1,2].includes(c)&&(r||i))return j.create(D.VALUE);let l=r==null?R.create(0):r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=Math.ceil(+l.getValue()),d=i==null?R.create(0):i;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;let f=Math.ceil(+d.getValue());return c===3&&u<1&&f<1?j.create(D.VALUE):z.create(``,{isImage:!0,imageInfo:{source:a,altText:o,sizing:c,height:u,width:f}})}},wm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4),E(this,`needsReferenceObject`,!0)}calculate(e,t,n,r){if(e.isError())return e;let i=this._getReferenceCounts(e),a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=n;o!=null&&o.isReferenceObject()&&(o=n.toArrayValueObject());let s=r==null?R.create(1):r;s.isReferenceObject()&&(s=r.toArrayValueObject());let c=Math.max(a.isArray()?a.getRowCount():1,o!=null&&o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(a.isArray()?a.getColumnCount():1,o!=null&&o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(c===1&&l===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,s.isArray()?s.get(0,0):s,i);{let t=V(c,l,a,j.create(D.NA)),n=o?V(c,l,o,j.create(D.NA)):[],r=V(c,l,s,j.create(D.NA));return t.mapValue((t,a,s)=>{let c=o?n.get(a,s):void 0,l=r.get(a,s),u=this._handleSingleObject(e,t,c,l,i);return u.isReferenceObject()?u.getCellByPosition():u})}}_handleSingleObject(e,t,n,r,i){let a,o,s;if(n){let{isError:e,errorObject:i,variants:c}=X(t,n,r);if(e)return i;a=c[0],o=c[1],s=c[2]}else{let{isError:e,errorObject:n,variants:i}=X(t,r);if(e)return n;a=i[0],s=i[1]}let c=Math.floor(+s.getValue());if(c<0)return j.create(D.VALUE);if(c>i.length)return j.create(D.REF);let l=i[c-1],u=0,d=0;if(l.rowCount===1&&!n?d=Math.floor(+a.getValue()):(u=Math.floor(+a.getValue()),n&&(d=Math.floor(+o.getValue()))),u<0||d<0)return j.create(D.VALUE);if(u>l.rowCount||d>l.columnCount)return j.create(D.REF);let f=e;return c>1&&(f=e.getCubeValues()[c-1]),f.isReferenceObject()?this._calculateReferenceObject(f,u,d):this._calculateArrayObject(f,u,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(e=>({rowCount:e.getRowCount(),columnCount:e.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,n){let{startRow:r,endRow:i,startColumn:a,endColumn:o}=e.getRangePosition(),s=0,c=0,l=0,u=0;if(t===0?(s=r,c=i):s=c=r+t-1,n===0?(l=a,u=o):l=u=a+n-1,s>i||l>o)return j.create(D.REF);let d={startRow:s,startColumn:l,endRow:c,endColumn:u};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,n){return!e.isArray()||t===0&&n===0?e:t===0?e.slice(void 0,[n-1,n]):n===0?e.slice([t-1,t],void 0):e.get(t-1,n-1)}},Tm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let n=this.getZeroOrOneByOneDefault(t);n==null&&(n=1);let r=e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();if(t>1||n>1)return e.map(()=>j.create(D.VALUE));r=e.getFirstCell()}return this._handleSingleObject(r,n)}_handleSingleObject(e,t){let n=`${e.getValue()}`;if(n.trim()===``)return j.create(D.REF);let r=this._convertToDefinedName(n);if(t===0){let{range:e,sheetName:t,unitId:n}=hs(r),i=new Sa(e);return i.setForcedUnitIdDirect(n),i.setForcedSheetName(t),this._setDefault(i)}if(gn(r))return this._setDefault(new Ca(r));if(vn(r))return this._setDefault(new Ta(r));if(yn(r))return this._setDefault(new wa(r));let{range:i,sheetName:a,unitId:o}=Jr(r);if(Number.isNaN(i.startRow)||i.endRow+1>y||Number.isNaN(i.startColumn)||i.endColumn+1>v)return j.create(D.REF);let s=new Sa(i);return s.setForcedUnitIdDirect(o),s.setForcedSheetName(a),this._setDefault(s)}_setDefault(e){return this.unitId==null||this.subUnitId==null?j.create(D.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){let t=this.getDefinedName(e);if(t==null)return e;let n=t.formulaOrRefString;return n==null?e:n.startsWith(O.EQUALS)?n.slice(1):n}},Em=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsExpandParams`,!0)}calculate(e,t,n){return e.isError()?e:t.isError()?j.create(D.REF):t.isArray()?n!=null&&n.isError()?n:t.getColumnCount()===1||t.getRowCount()===1?n!=null&&!n.isArray()?j.create(D.REF):this._handleVector(e,t,n):this._handleArray(e,t):j.create(D.VALUE)}_handleVector(e,t,n){let r=n;if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return j.create(D.REF);return e.isArray()?e.map(e=>this.binarySearch(e,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){let n=t.getRowCount(),r=t.getColumnCount(),i,a;return r>n?(i=t.slice([0,1]),a=t.slice([n-1,n])):(i=t.slice(void 0,[0,1]),a=t.slice(void 0,[r-1,r])),i==null||a==null?j.create(D.VALUE):e.isArray()?e.map(e=>this.binarySearch(e,i,a)):this.binarySearch(e,i,a)}},Dm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return j.create(D.REF);if(!t.isArray())return j.create(D.VALUE);let r=t.getRowCount(),i=t.getColumnCount();if(r!==1&&i!==1||n!=null&&n.isError())return j.create(D.NA);let a=this.getMatchTypeValue(n);return a==null?j.create(D.VALUE):e.isArray()?e.map(e=>this._handleSingleObject(e,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,n){let r=e.isNull()?R.create(0):e,i=this._getSearchModeValue(n),a=t.orderSearch(r,i);if(a==null)return j.create(D.NA);if(a instanceof j)return a;let o=t.getRowCount()===1?a.column+1:a.row+1;return R.create(o)}_getSearchModeValue(e){switch(e){case 1:return yi.MIN;case 0:return yi.NORMAL;case-1:return yi.MAX}}},Om=class extends ya{constructor(e,t=[]){super(e),E(this,`_areas`,[]),this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(e=>e.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(let t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(let 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(n=>{n.isError()||n.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(e=>!e.isError())}getUnitId(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getUnitId())==null?super.getUnitId():e}getSheetId(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getSheetId())==null?super.getSheetId():e}getActiveSheetRowCount(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getActiveSheetRowCount())==null?0:e}getActiveSheetColumnCount(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getActiveSheetColumnCount())==null?0:e}iterator(e){for(let t of this._areas){let n=!1;for(let r of t){if(r.isError())continue;let t=!1;if(r.iterator((r,i,a)=>{let o=e(r,i,a);return o===!1?(t=!0,n=!0,!1):o}),t)break}if(n)return}}getFirstCell(){let e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var e,t;let n=this._areas.length;if(n===0)return Ea([],0,0);let r=(e=(t=this._areas[0])==null?void 0:t.length)==null?0:e,i=[];for(let e=0;e<n;e++){let t=this._areas[e];if(t){i[e]=i[e]||[];for(let n=0;n<r;n++){let r=t[n];if(!r)continue;if(r.isError()){i[e][n]=r;continue}let a=null;r.iterator(e=>(a=e==null?null:e,!1)),a!=null&&(i[e][n]=a),i[e][n]=I.create()}}}return Ea(i,n,r)}getRangePosition(){let e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:c}=a.getRangePosition();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)||(e<t&&(t=e),o<n&&(n=o),s>r&&(r=s),c>i&&(i=i<c?c:i))}return!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?super.getRangePosition():{startRow:t,startColumn:n,endRow:r,endColumn:i}}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}getRangeData(){let e=this._flatAreas();if(!e.length)return super.getRangeData();let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:c}=a.getRangeData();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)||(e<t&&(t=e),o<n&&(n=o),s>r&&(r=s),c>i&&(i=c))}return!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?super.getRangeData():{startRow:t,startColumn:n,endRow:r,endColumn:i}}},km=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsReferenceObject`,!0)}isAddress(){return!0}calculate(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;if(!e.isReferenceObject())return j.create(D.VALUE);let a=e.getRowCount(),o=e.getColumnCount(),s=t;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=n;c.isReferenceObject()&&(c=c.toArrayValueObject());let l=r==null?R.create(a):r;l.isReferenceObject()&&(l=l.toArrayValueObject()),l.isNull()&&(l=R.create(a));let u=i==null?R.create(o):i;u.isReferenceObject()&&(u=u.toArrayValueObject()),u.isNull()&&(u=R.create(o));let d=Math.max(s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1);if(s=s,c=c,l=l,u=u,d===1&&f===1)return s=s.isArray()?s.get(0,0):s,c=c.isArray()?c.get(0,0):c,l=l.isArray()?l.get(0,0):l,u=u.isArray()?u.get(0,0):u,this._handleSingleObject(e,s,c,l,u);let p=V(d,f,s,j.create(D.NA)),m=V(d,f,c,j.create(D.NA)),h=V(d,f,l,j.create(D.NA)),g=V(d,f,u,j.create(D.NA)),_=[];return p.iterator((t,n,r)=>{let i=m.get(n,r),a=h.get(n,r),o=g.get(n,r);if(_[n]=_[n]||[],t==null){_[n][r]=j.create(D.NA);return}if(t.isError()){_[n][r]=t;return}if(i.isError()){_[n][r]=i;return}if(a.isError()){_[n][r]=a;return}if(o.isError()){_[n][r]=o;return}let s=this._handleSingleObject(e,t,i,a,o);_[n][r]=s}),new Om(``,_)}_handleSingleObject(e,t,n,r,i){let{startRow:a,startColumn:o}=e.getRangePosition(),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;let l=+s.getValue(),u=+c.getValue();if(typeof l!=`number`||typeof u!=`number`)return j.create(D.VALUE);let d=a+l,f=o+u;if(d<0||f<0||d>=y||f>=v)return j.create(D.REF);let p=this.getIndexNumValue(r),m=this.getIndexNumValue(i);if(typeof p!=`number`||typeof m!=`number`)return j.create(D.VALUE);if(p===0||m===0)return j.create(D.REF);let h=p>0?d+p-1:d+p+1,g=m>0?f+m-1:f+m+1;if(h<0||g<0||h>=y||g>=v)return j.create(D.REF);let _={startRow:d<h?d:h,startColumn:f<g?f:g,endRow:d>h?d:h,endColumn:f>g?f:g};return this.createReferenceObject(e,_)}},Am=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,1)}calculate(e){if(e==null)return R.create(this.row+1);if(e.isError())return e;if(!e.isArray())return j.create(D.NA);let t=e.getCurrentRow(),n=e.getRowCount(),r=[];for(let e=0;e<n;e++)r.push([R.create(t+e+1)]);let i={calculateValueList:r,rowCount:n,columnCount:1,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column};return B.create(i)}},jm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return j.create(D.NA);let t=e.getRowCount();return R.create(t)}},Mm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=t==null?R.create(1):t,a=n==null?R.create(1):n,o=r==null?L.create(!1):r;if(i.isNull()&&(i=R.create(1)),o.isArray()){let t=o.getRowCount(),n=o.getColumnCount();if(t===1&&n===1){let t=o.get(0,0);return this._handleSingleObject(e,i,a,t)}return o.map(t=>{let n=this._handleSingleObject(e,i,a,t);return n.isArray()?n.get(0,0):n})}return this._handleSingleObject(e,i,a,o)}_handleSingleObject(e,t,n,r){if(e.isError())return e;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;let s=Math.floor(+o.getValue());if(s<1)return j.create(D.VALUE);let c=this._checkArrayError(n);if(c.isError())return c;let l=Math.floor(+c.getValue());if(l!==-1&&l!==1)return j.create(D.VALUE);let u=r;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(!e.isArray()||i===1&&a===1)return e;let d=+u.getValue();return this._getResult(e,s,l,d,i,a)}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,n,r,i,a){if(r){if(t>i)return j.create(D.VALUE);let r=e.transpose().getArrayValue();return r.sort(this._sort(t-1,n)),B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return j.create(D.VALUE);let r=e.getArrayValue();return r.sort(this._sort(t-1,n)),B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){let n=bi();return t===1?this._sortAsc(e,n):this._sortDesc(e,n)}_sortAsc(e,t){return(n,r)=>{let i=n[e],a=r[e];if(i==null||i.isNull())return 1;if(a==null||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return 1;if(a.isError())return-1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&o===!0?1:a.isBoolean()&&s===!0?-1:i.isBoolean()&&o===!1?1:a.isBoolean()&&s===!1?-1:i.isNumber()&&a.isNumber()?o-+s:t(o,s)}}_sortDesc(e,t){return(n,r)=>{let i=n[e],a=r[e];if(i==null||i.isNull())return 1;if(a==null||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return-1;if(a.isError())return 1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&o===!0?-1:a.isBoolean()&&s===!0?1:i.isBoolean()&&o===!1?-1:a.isBoolean()&&s===!1?1:i.isNumber()&&a.isNumber()?s-+o:t(s,o)}}},Nm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(e,...t){t.length===1&&t.push(R.create(1));let n=this._getVariantsError(e,...t),{maxRowLength:r,maxColumnLength:i}=Na(t);if(n.isError()){let e=V(r,i,n);return r===1&&i===1?e.get(0,0):e}let a=t.map((e,t)=>t%2==0?e:V(r,i,e,j.create(D.NA))),o=this._getResultArray(e,a,r,i);return r===1&&i===1?o[0][0]:B.create({calculateValueList:o,rowCount:o.length,columnCount:o[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 e=0;e<t.length;e++){let n=t[e];if(n.isError())return n}if(t.length<2||t.length%2!=0)return j.create(D.VALUE);let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((i>1||a>1)&&(i>1&&a>1||i===1&&a!==r||a===1&&i!==n))return j.create(D.VALUE);for(let e=2;e<t.length;e++){if(e%2==1)continue;let n=t[e].isArray()?t[e].getRowCount():1,r=t[e].isArray()?t[e].getColumnCount():1;if(n!==i||r!==a)return j.create(D.VALUE)}return L.create(!0)}_getResultArray(e,t,n,r){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t[0].isArray()?t[0].getRowCount():1,s=t[0].isArray()?t[0].getColumnCount():1,c=[];for(let l=0;l<n;l++){c[l]=[];for(let u=0;u<r;u++){let{isError:d,errorObject:f,byArrays:p,sortOrders:m}=this._getByArraysAndSortOrders(t,l,u,s);if(d){c[l].push(f);continue}if(!e.isArray()||i===1&&a===1){c[l].push(e);continue}let h=e.getArrayValue();o===1&&s===1||(o===1?(h=h.concat(p),h=this._transposeArray(h),h.sort(this._sort(i,m)),h=this._transposeArray(h).slice(0,i)):s===1&&(h=this._transposeArray(h),h=h.concat(p),h=this._transposeArray(h),h.sort(this._sort(a,m)),h=h.map(e=>e.slice(0,a))));let g=B.create({calculateValueList:h,rowCount:h.length,columnCount:h[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(n>1||r>1){c[l].push(g.get(0,0));continue}c[l].push(g)}}return c}_getByArraysAndSortOrders(e,t,n,r){let i=[],a=[],o=!1,s=null;for(let c=0;c<e.length;c++){if(c%2==1)continue;let l=e[c],u=e[c+1].get(t,n);if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError()){o=!0,s=u;break}let d=Math.floor(+u.getValue());if(d!==-1&&d!==1){o=!0,s=j.create(D.VALUE);break}if(a.push(d),l.isArray()){let e=l.getArrayValue();r===1&&(e=this._transposeArray(e)),i.push(e[0])}else i.push([l])}return{isError:o,errorObject:s,byArrays:i,sortOrders:a}}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}_sort(e,t){let n=bi();return(r,i)=>{let a=r[e],o=i[e],s=this._compare(a,o,t[0],n);if(s===0&&t.length>1){for(let c=1;c<t.length;c++)if(a=r[e+c],o=i[e+c],s=this._compare(a,o,t[c],n),s!==0)return s}return s}}_compare(e,t,n,r){return n===1?this._asc(e,t,r):this._desc(e,t,r)}_asc(e,t,n){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;let r=e.getValue(),i=t.getValue();return e.isBoolean()&&r===!0?1:t.isBoolean()&&i===!0?-1:e.isBoolean()&&r===!1?1:t.isBoolean()&&i===!1?-1:e.isNumber()&&t.isNumber()?r-+i:n(r,i)}_desc(e,t,n){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;let r=e.getValue(),i=t.getValue();return e.isBoolean()&&r===!0?-1:t.isBoolean()&&i===!0?1:e.isBoolean()&&r===!1?-1:t.isBoolean()&&i===!1?1:e.isNumber()&&t.isNumber()?i-+r:n(i,r)}},Pm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=t,o=n==null?R.create(i):n;t.isNull()&&(a=R.create(r)),o.isNull()&&(o=R.create(i));let s=Math.max(a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,a,j.create(D.NA)),u=V(s,c,o,j.create(D.NA));if(s>1||c>1)return l.mapValue((t,n,a)=>{let o=u.get(n,a);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,r,i);return s?c:e.isArray()?j.create(D.VALUE):e});if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let d=a.isArray()?a.get(0,0):a,f=o.isArray()?o.get(0,0):o,{isError:p,errorObject:m,rowsValue:h,columnsValue:g}=this._checkRowsColumns(d,f,r,i);return p?m:this._getResultArray(e,h,g,r,i)}_checkRowsColumns(e,t,n,r){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:j.create(D.VALUE)}:Math.abs(i)===0||Math.abs(a)===0?{isError:!0,errorObject:j.create(D.CALC)}:(i>n&&(i=n),a>r&&(a=r),{isError:!1,rowsValue:i,columnsValue:a})}_getResultArray(e,t,n,r,i){if(!e.isArray())return e;let a=t>=0?[0,t]:[r+t,r],o=n>=0?[0,n]:[i+n,i],s;return s=t===r&&n===i?e:t===r?e.slice(void 0,o):n===i?e.slice(a,void 0):e.slice(a,o),s=s.map(e=>e.isNull()?R.create(0):e),t===1&&n===1?s.get(0,0):s}},Fm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(0):t,i=n==null?L.create(!1):n,a=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,r,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),l=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(l))return j.create(D.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?j.create(D.CALC):a>1||o>1||u.length===1?u[0]:B.create({calculateValueList:u.map(e=>[e]),rowCount:u.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?l.get(0,0):l}_getArrayValueByColumn(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<i;e++)for(let i=0;i<r;i++){let r=n.get(i,e);this._isIgnore(r,t)||a.push(r.isNull()?R.create(0):r)}return a}_getArrayValueByRow(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<r;e++)for(let r=0;r<i;r++){let i=n.get(e,r);this._isIgnore(i,t)||a.push(i.isNull()?R.create(0):i)}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}}},Im=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(0):t,i=n==null?L.create(!1):n,a=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,r,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),l=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(l)||e.isNull())return j.create(D.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?j.create(D.CALC):a>1||o>1||u.length===1?u[0]:B.create({calculateValueList:[u],rowCount:1,columnCount:u.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?l.get(0,0):l}_getArrayValueByColumn(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<i;e++)for(let i=0;i<r;i++){let r=n.get(i,e);this._isIgnore(r,t)||a.push(r.isNull()?R.create(0):r)}return a}_getArrayValueByRow(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<r;e++)for(let r=0;r<i;r++){let i=n.get(e,r);this._isIgnore(i,t)||a.push(i.isNull()?R.create(0):i)}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}}},Lm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();return t===1&&n===1?e.get(0,0):e.transpose()}return e}},Rm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?L.create(!1):t,i=n==null?L.create(!1):n,a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1,s=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),l=V(s,c,r,j.create(D.NA)),u=V(s,c,i,j.create(D.NA)),d=l.map((t,n,r)=>{let i=t,l=u.get(n,r);if(e.isError())return e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let d=+i.getValue(),f=+l.getValue(),p;return p=!d&&a===1||d&&o===1?e:this._getResult(e,d,f),(s>1||c>1)&&p!=null&&p.isArray()?p.get(0,0):p});return s===1&&c===1?d.get(0,0):d}_getResult(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=e.getArrayValue(),o=r,s=i;t&&(a=this._transposeArray(a),o=i,s=r);let c=this._getRepeatRows(a,o,s);if(c.length>0){let e=[];c.forEach(t=>{t.forEach((t,r)=>{(r!==0||n)&&e.push(t)})}),a=a.filter((t,n)=>!e.includes(n))}return a.length===0?j.create(D.CALC):(t&&(a=this._transposeArray(a)),B.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,n){let r=[];for(let i=0;i<n;i++)if(i===0){let n=Array(t).fill(null).map((t,n)=>({r:n,valueObject:e[n][i]}));r=this._getRepeatRowsByObjects(n)}else{if(r.length===0)break;let t=[];r.forEach(n=>{let r=n.map(t=>({r:t,valueObject:e[t][i]})),a=this._getRepeatRowsByObjects(r);t=t.concat(a)}),r=t}return r}_getRepeatRowsByObjects(e){let t=new Map;return e.forEach(e=>{let n=e.r,r=e.valueObject,i=r.getValue();if(r.isNull()?i=null:r.isString()&&w(i)&&(i=+i),!t.has(i))t.set(i,[n]);else{let e=t.get(i);e.push(n),t.set(i,e)}}),Array.from(t.values()).filter(e=>e.length>1)}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}},zm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return j.create(D.VALUE);if(n.isError())return n;if(r!=null&&r.isError())return r;let i=r==null?L.create(!0):r;return ja(e)&&ja(i)&&n.isArray()?this._handleArrayColIndexNum(e,t,n,i):this._handleNonArrayColIndexNum(e,t,n,i)}_handleArrayColIndexNum(e,t,n,r){let i=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(r);if(a==null)return j.create(D.VALUE);let o,s=[];return n.iterator((e,n,r)=>{if(e==null)return o=j.create(D.VALUE),!1;let c=this._handleTableArray(i,t,e,a);if(c.isError())return o=c,!1;s[n]===void 0&&(s[n]=[]),s[n][r]=c}),o||Ea(s,s.length,s[0].length,this.unitId||``,this.subUnitId||``)}_handleNonArrayColIndexNum(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e),s=V(i,a,r);return o.map((e,r,i)=>{if(e.isError())return e;let a=s.get(r,i);if(a==null)return j.create(D.VALUE);if(a.isError())return a;let o=this.getZeroOrOneByOneDefault(a);return o==null?j.create(D.VALUE):this._handleTableArray(e,t,n,o)})}_handleTableArray(e,t,n,r){let i=this.getIndexNumValue(n);if(i instanceof j)return i;if(i=Math.floor(i),i<1)return j.create(D.VALUE);let a=t.slice(void 0,[0,1]);if(a==null)return j.create(D.VALUE);let o=t.slice(void 0,[i-1,i]);return o==null?j.create(D.REF):this._handleSingleObject(e,a,o,r)}_handleSingleObject(e,t,n,r){return r===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}},Bm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++){let r=[];for(let n=0;n<t;n++){let t=i;i.isArray()&&(t=i.get(e,n)),n>o-1||!t?r.push(j.create(D.NA)):r.push(t)}n.push(r)}}return B.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Vm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?j.create(D.NA):n;r.isNull()&&(r=j.create(D.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,j.create(D.NA)),l=V(o,s,r,j.create(D.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return j.create(D.VALUE);if(u<1)return j.create(D.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],f=this._getWrapArray(d,u,c);return o>1||s>1||f.length===1&&f[0].length===1?f[0][0]:B.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&s===1?u.get(0,0):u}_getWrapArray(e,t,n){let r=Math.ceil(e.length/t),i=r>1?t:e.length,a=[];for(let t=0;t<r;t++)for(let r=0;r<i;r++){a[r]||(a[r]=[]);let o=t*i+r;o<e.length?a[r].push(e[o].isNull()?R.create(0):e[o]):a[r].push(n)}return a}},Hm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?j.create(D.NA):n;r.isNull()&&(r=j.create(D.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,j.create(D.NA)),l=V(o,s,r,j.create(D.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return j.create(D.VALUE);if(u<1)return j.create(D.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],f=this._getWrapArray(d,u,c);return o>1||s>1||f.length===1&&f[0].length===1?f[0][0]:B.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&s===1?u.get(0,0):u}_getWrapArray(e,t,n){let r=Math.ceil(e.length/t),i=r>1?t:e.length,a=[];for(let t=0;t<r;t++){let r=[];for(let a=0;a<i;a++){let o=t*i+a;o<e.length?r.push(e[o].isNull()?R.create(0):e[o]):r.push(n)}a.push(r)}return a}},Um=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?j.create(D.NA):r;r!=null&&r.isNull()&&(o=j.create(D.NA));let s=i==null?R.create(0):i;i!=null&&i.isNull()&&(s=R.create(0));let c=a==null?R.create(1):a;if(a!=null&&a.isNull()&&(c=R.create(1)),e.isError())return e;let l=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,d=n.isArray()?n.getRowCount():1,f=n.isArray()?n.getColumnCount():1;if(l!==1&&u!==1||l===1&&u>1&&u!==f||u===1&&l>1&&l!==d)return j.create(D.VALUE);if(s.isError())return s;if(c.isError())return c;let p=this.getIndexNumValue(s);if(p instanceof j)return p;let m=this.getIndexNumValue(c);return m instanceof j?m:this._getResult(e,Fa(t),Fa(n),o,p,m,l,u,d,f)}_getResult(e,t,n,r,i,a,o,s,c,l){let u=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(u>1||d>1){let s;return s=o===1?n.slice([0,1]):n.slice(void 0,[0,1]),s==null?j.create(D.NA):e.map(e=>{let n=this._checkErrorCombination(i,a);if(n)return n;let o=this._handleSingleObject(e,t,s,i,a);return o.isError()?r:o})}let f=e.isArray()?e.get(0,0):e;if(s===l&&o===c){let e=this._checkErrorCombination(i,a);if(e)return e;let o=this._handleSingleObject(f,t,n,i,a);return o.isError()?r:o}let p=0;s===l&&(p=1);let m=this._handleExpandObject(f,t,n,i,a,p);return m==null?j.create(D.NA):m}_handleExpandObject(e,t,n,r,i,a=0){if((i===2||i===-2)&&r!==2){let o=Di(i),s=Ei(r);return this.binarySearchExpand(e,t,n,a,o,s)}return r===2?this.fuzzySearchExpand(e,t,n,i!==-1,a):r===-1||r===1?this.orderSearchExpand(e,t,n,r===1?yi.MAX:yi.MIN,i===-1,a):this.equalSearchExpand(e,t,n,i!==-1,a)}_handleSingleObject(e,t,n,r,i){if((i===2||i===-2)&&r!==2){let a=Di(i),o=Ei(r);return this.binarySearch(e,t,n,a,o)}return r===2?this.fuzzySearch(e,t,n,i!==-1):r===-1||r===1?this.orderSearch(e,t,n,r===1?yi.MAX:yi.MIN,i===-1):this.equalSearch(e,t,n,i!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?j.create(D.VALUE):null}},Wm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=R.create(0);n&&!n.isNull()&&(i=n);let a=R.create(1);r&&!r.isNull()&&(a=r);let o=Math.max(e.isArray()?e.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,j.create(D.NA)),l=V(o,s,i,j.create(D.NA)),u=V(o,s,a,j.create(D.NA)),d=c.mapValue((e,n,r)=>{if(e.isError())return e;let i=l.get(n,r),a=u.get(n,r);return i.isError()?i:a.isError()?a:this._handleSingleObject(e,t,i,a)});return o===1&&s===1?d.get(0,0):d}_handleSingleObject(e,t,n,r){let i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(i!==1&&a!==1)return j.create(D.VALUE);let o=n;if((n.isString()||n.isBoolean()||n.isNull())&&(o=n.convertToNumberObjectValue()),o.isError())return o;let s=r;if((r.isString()||r.isBoolean()||r.isNull())&&(s=r.convertToNumberObjectValue()),s.isError())return s;let c=o.getValue(),l=s.getValue();return![-1,0,1,2].includes(c)||![-1,1,2].includes(l)?j.create(D.VALUE):this._getResult(e,t,c,l)}_getResult(e,t,n,r){let i=Fa(t),a;if((r===2||r===-2)&&n!==2){let t=Di(r),o=Ei(n);a=i.binarySearch(e,t,o)}else if(n===2){let t=i.compare(e,k.EQUALS),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return j.create(D.NA);a=i.getRowCount()===1?n.column:n.row}else if(n===-1||n===1){let t=i.orderSearch(e,n===1?yi.MAX:yi.MIN,r===-1);if(t==null)return j.create(D.NA);if(t instanceof j)return t;a=i.getRowCount()===1?t.column:t.row}else{let t=i.isEqual(e),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return j.create(D.NA);a=i.getRowCount()===1?n.column:n.row}return a==null?j.create(D.NA):R.create(a+1)}};const Gm=[[cm,G.ADDRESS],[um,G.AREAS],[dm,G.CHOOSE],[fm,G.CHOOSECOLS],[pm,G.CHOOSEROWS],[mm,G.COLUMN],[hm,G.COLUMNS],[gm,G.DROP],[_m,G.EXPAND],[vm,G.FILTER],[ym,G.FORMULATEXT],[bm,G.HLOOKUP],[xm,G.HSTACK],[Sm,G.HYPERLINK],[Cm,G.IMAGE],[wm,G.INDEX],[Tm,G.INDIRECT],[Em,G.LOOKUP],[Dm,G.MATCH],[km,G.OFFSET],[Am,G.ROW],[jm,G.ROWS],[Mm,G.SORT],[Nm,G.SORTBY],[Pm,G.TAKE],[Fm,G.TOCOL],[Im,G.TOROW],[Lm,G.TRANSPOSE],[Rm,G.UNIQUE],[zm,G.VLOOKUP],[Bm,G.VSTACK],[Vm,G.WRAPCOLS],[Hm,G.WRAPROWS],[Um,G.XLOOKUP],[Wm,G.XMATCH]];var Km=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}},qm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}},Jm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}},Ym=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:Xm(e)):Xm(t)}};function Xm(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return j.create(D.VALUE);t=Number(t);let n=Math.atan(1/t);return t<0&&(n+=Math.PI),Number.isNaN(n)?j.create(D.VALUE):R.create(n)}var Zm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:Qm(e)):Qm(t)}};function Qm(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return j.create(D.VALUE);if(t=Number(t),Math.abs(t)<=1)return j.create(D.NUM);let n=1/2*Math.log((t+1)/(t-1));return Number.isNaN(n)?j.create(D.VALUE):R.create(n)}const $m={1:Q.AVERAGE,2:Q.COUNT,3:Q.COUNTA,4:Q.MAX,5:Q.MIN,6:Q.PRODUCT,7:Q.STDEV_S,8:Q.STDEV_P,9:Q.SUM,10:Q.VAR_S,11:Q.VAR_P,12:Q.MEDIAN,13:Q.MODE_SNGL};var eh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0),E(this,`needsFilteredOutRows`,!0),E(this,`needsFormulaDataModel`,!0)}calculate(e,t,...n){let{isError:r,multiAreaRefs:i,normalRefs:a}=Jc(n),o;o=e.isReferenceObject()?e.toArrayValueObject():e;let s;s=t.isReferenceObject()?t.toArrayValueObject():t;let c=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,o,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.mapValue((e,t,o)=>{if(e.isError())return e;let s=d.get(t,o);return s.isError()?s:i.length>0?j.create(D.VALUE):this._handleSingleObject(e,s,n,r,a)});return f.getRowCount()===1&&f.getColumnCount()===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+a.getValue());if(o<1||o>19||o>=1&&o<=13&&r||o>=14&&o<=19&&n.length!==2)return j.create(D.VALUE);let s=t;if(t.isString()&&(s=t.convertToNumberObjectValue()),s.isError())return s;let c=Math.floor(+s.getValue());if(c<0||c>7)return j.create(D.VALUE);let l=this._getAggregateOptions(c);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,l,n[0],n[1]):Qc({type:$m[o],...l,formulaDataModel:this._formulaDataModel},i)}_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,n,r){let i;if(i=r.isReferenceObject()?r.toArrayValueObject():r,i.isError())return i;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}let a=$c(n,t,this._formulaDataModel);if(!Array.isArray(a))return a;let o=+i.getValue();switch(e){case 14:return tl(a,o);case 15:return nl(a,o);case 16:return rl(a,o);case 17:return al(a,o);case 18:return il(a,o);case 19:return ol(a,o);default:return j.create(D.VALUE)}}},th=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 R.create(0);if(e.isBoolean()||e.isNumber())return j.create(D.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return j.create(D.VALUE);let n=t.startsWith(`-`);n&&(t=t.slice(1));let r=0;for(let e=0;e<t.length;e++){let n=Zs.get(t[e])||0,i=Zs.get(t[e+1])||0,a=Zs.get(t[e+2])||0,o=Zs.get(t[e+3])||0;if(!n||a>=i&&a>n||n===i&&n===a&&n===o||n===i/2)return j.create(D.VALUE);n<i?r-=n:r+=n}return R.create(n?-r:r)}},nh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}},rh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}},ih=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}},ah=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e,r=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:r.atan2(n))}},oh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}},sh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n;if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return this._handleSingleObject(e,r,i)});return l.getRowCount()===1&&l.getColumnCount()===1?l.getArrayValue()[0][0]:l}_handleSingleObject(e,t,n){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=t;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let a=n;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue()),c=Math.floor(+a.getValue());if(o<0||o>=2**53||s<2||s>36||c<0)return j.create(D.NUM);let l=o.toString(s);return l.length<c&&(l=Array(c-l.length+1).join(`0`)+l),z.create(l.toLocaleUpperCase())}},ch=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o>0&&s<0)return j.create(D.NUM);if(o===0||s===0)return R.create(0);let c=qi(o/s,0)*s;return R.create(c)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}},lh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(1):t,i=n==null?R.create(0):n;if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,r,j.create(D.NA)),l=V(a,o,i,j.create(D.NA)),u=s.map((e,t,n)=>{let r=e,i=c.get(t,n),a=l.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+r.getValue(),s=+i.getValue(),u=+a.getValue();return o===0||s===0?R.create(0):this._getResult(o,s,u)});return a===1&&o===1?u.get(0,0):u}_getResult(e,t,n){let r;return r=e<0&&n!==0?(t<0?qi(Math.abs(e)/Math.abs(t),0):-qi(Math.abs(e)/t,0))*t:(t<0?-qi(e/Math.abs(t),0):qi(e/t,0))*t,R.create(r)}},uh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a===0||s===0)return R.create(0);let c=(s<0?-qi(a/Math.abs(s),0):qi(a/s,0))*s;return R.create(c)});return r===1&&i===1?s.get(0,0):s}},dh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),r.isError())return r;if(i.isError())return i;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o<s)return j.create(D.NUM);let c=Ns(o,s);return Number.isNaN(c)||!Number.isFinite(c)?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},fh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),r.isError())return r;if(i.isError())return i;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o===0&&o<s)return j.create(D.NUM);let c=Ns(o+s-1,o-1);return Number.isNaN(c)||!Number.isFinite(c)?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},ph=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}},mh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}},hh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?j.create(D.NUM):n===0?j.create(D.DIV_BY_ZERO):t.tan().getReciprocal()}},gh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()==0?j.create(D.DIV_BY_ZERO):t.tanh().getReciprocal()}},_h=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?j.create(D.NUM):n===0?j.create(D.DIV_BY_ZERO):t.sin().getReciprocal()}},vh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return n===0?j.create(D.DIV_BY_ZERO):!Number.isNaN(n)&&!Number.isFinite(Math.sinh(n))?R.create(0):t.sinh().getReciprocal()}},yh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{if(e.isError())return e;let r=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=`${e.getValue()}`,o=Math.floor(+r.getValue());if(w(i)&&(+i<0||+i>=2**53||!Number.isInteger(+i))||i.toLocaleLowerCase()===`true`||i.toLocaleLowerCase()===`false`||o<2||o>36)return j.create(D.NUM);if(i.replace(/\s/g,``)===``)return R.create(0);if(!this._isValidCharForRadix(i,o))return j.create(D.NUM);let s=Number.parseInt(i,o);return Number.isNaN(s)?j.create(D.NUM):R.create(s)});return n===1&&r===1?o.get(0,0):o}_isValidCharForRadix(e,t){for(let n of e){let e=n.toUpperCase().charCodeAt(0);if(t<=10&&!(e>=48&&e<48+t)||t>10&&!(e>=48&&e<58||e>=65&&e<65+t-10))return!1}return!0}},bh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=n*(180/Math.PI);return Number.isNaN(r)?j.create(D.VALUE):R.create(r)}},xh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=(n<0?-qi(Math.abs(n)/2,0):qi(n/2,0))*2;return Number.isNaN(r)?j.create(D.VALUE):r===0?R.create(0):R.create(r)}},Sh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}},Ch=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Ms(Math.floor(+t.getValue()));return Number.isNaN(n)||!Number.isFinite(n)?j.create(D.NUM):R.create(n)}},wh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return j.create(D.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;let n=Ms(Math.floor(+t.getValue()),2);return Number.isNaN(n)||!Number.isFinite(n)?j.create(D.NUM):R.create(n)}},Th=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=a.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let o=+i.getValue(),s=+r.getValue();if(o>0&&s<0)return j.create(D.NUM);if(o===0)return R.create(0);if(s===0)return j.create(D.DIV_BY_ZERO);let c=Ki(o/s,0)*s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}},Eh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(1):t,i=n==null?R.create(0):n,a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,r,j.create(D.NA)),l=V(a,o,i,j.create(D.NA)),u=s.map((e,t,n)=>{let r=e,i=c.get(t,n),a=l.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+r.getValue(),s=+i.getValue(),u=+a.getValue();if(o===0||s===0)return R.create(0);let d;return d=o<0&&u!==0?(s<0?Ki(Math.abs(o)/Math.abs(s),0):-Ki(Math.abs(o)/s,0))*s:(s<0?-Ki(o/Math.abs(s),0):Ki(o/s,0))*s,R.create(d)});return a===1&&o===1?u.get(0,0):u}},Dh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a===0||s===0)return R.create(0);let c=(s<0?-Ki(a/Math.abs(s),0):Ki(a/s,0))*s;return R.create(c)});return r===1&&i===1?s.get(0,0):s}},Oh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull())if(r.isArray()){let e=!1,n=j.create(D.VALUE);if(r.iterator(r=>{if(r!=null&&r.isNull())return!0;let{isError:i,errorObject:a,number:o}=this._handleSingleObject(r);if(i)return e=!0,n=a,!1;t=Ps(t,o)}),e)return n}else{let{isError:e,errorObject:n,number:i}=this._handleSingleObject(r);if(e)return n;t=Ps(t,i)}}return R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0||n>=2**53?{isError:!0,errorObject:j.create(D.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},kh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Math.floor(+t.getValue());return R.create(n)}},Ah=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=1,n=!0;for(let r=0;r<e.length;r++){let i=e[r];if(!i.isNull())if(i.isArray()){let e=!1,r=j.create(D.VALUE);if(i.iterator(i=>{if(i!=null&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,r=o,!1;t=Fs(t,s),n=!1}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;t=Fs(t,a),n=!1}}return n?R.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?j.create(D.VALUE):R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0?{isError:!0,errorObject:j.create(D.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},jh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}},Mh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(10):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a<=0||s<=0)return j.create(D.NUM);let c=Math.log(s);if(c===0)return j.create(D.DIV_BY_ZERO);let l=Math.log(a)/c;return R.create(l)});return r===1&&i===1?s.get(0,0):s}},Nh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}},Ph=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return j.create(D.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}if(t!==n)return j.create(D.VALUE);let i=Is(r);return R.create(i)}},Fh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return j.create(D.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}if(t!==n)return j.create(D.VALUE);let i=Ls(r);return i===null?j.create(D.NUM):B.createByArray(i)}},Ih=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(r!==i)return j.create(D.VALUE);let o=this._getMatrix(e,n,r),s=this._getMatrix(t,i,a);if(o instanceof j)return o;if(s instanceof j)return s;let c=Bs(o,s);return B.createByArray(c)}_getMatrix(e,t,n){let r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return j.create(D.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}return r}},Lh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.mod(r)}},Rh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError())return n;let r=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return j.create(D.VALUE);if(a===0)return R.create(0);if(i>0&&a<0||i<0&&a>0)return j.create(D.NUM);let o=Gi(i/a,0)*a;return R.create(o)}},zh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=1;for(let r=0;r<e.length;r++){let i=e[r];if(!i.isNull())if(i.isArray()){let e=!1,r=j.create(D.VALUE);if(i.iterator(i=>{if(i!=null&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,r=o,!1;if(t+=s,t>170)return e=!0,r=j.create(D.NUM),!1;n*=Ms(s)}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;if(t+=a,t>170)return j.create(D.NUM);n*=Ms(a)}}let r=Ms(t)/n;return R.create(r)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0?{isError:!0,errorObject:j.create(D.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Bh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount(),r=e.mapValue(e=>{let r=this._handleSingleObject(e);return r.isError()?r:t>1||n>1?r.get(0,0):r});return t===1&&n===1?r.get(0,0):r}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Math.floor(+t.getValue());if(n<=0)return j.create(D.VALUE);let r=[];for(let e=0;e<n;e++){r[e]=[];for(let t=0;t<n;t++)r[e][t]=e===t?1:0}return B.createByArray(r)}},Vh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=n<0?-qi(Math.abs(n),0):qi(n,0);return Number.isNaN(r)?j.create(D.VALUE):(Math.abs(r)%2==0&&(n<0?r--:r++),R.create(r))}},Hh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return R.create(Math.PI)}},Uh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.pow(r)}},Wh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(1),n=!0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isArray()){let e=!1,r=null;if(i.iterator(i=>{if(i!=null&&i.isError())return e=!0,r=i,!1;if(!i||i.isNull()||i.isString()||i.isBoolean())return!0;t=t.multiply(i),n=!1}),e)return r}else{if(i.isNull())continue;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;t=t.multiply(i),n=!1}if(t.isError())return t}return n?R.create(0):t}},Gh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c===0)return j.create(D.DIV_BY_ZERO);let l=Math.trunc(s/c);return R.create(l)}},Kh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=n*(Math.PI/180);return Number.isNaN(r)?j.create(D.VALUE):R.create(r)}},qh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return R.create(Math.random())}},Jh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,5),E(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r,i){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(n!=null&&n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;let a=e==null?R.create(1):e,o=t==null?R.create(1):t,s=n==null?R.create(0):n,c=r==null?R.create(1):r,l=i==null?R.create(0):i;return this._calculateResult(a,o,s,c,l)}_calculateResult(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(a===1&&o===1)return this._calculateSingleCell(e,t,n,r,i);let s=V(a,o,e,j.create(D.NA)),c=V(a,o,t,j.create(D.NA)),l=V(a,o,n,j.create(D.NA)),u=V(a,o,r,j.create(D.NA)),d=V(a,o,i,j.create(D.NA));return s.map((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n),o=d.get(t,n),s=this._handleError(e,r,i,a,o);if(s.errorObject)return s.errorObject;let{minValue:f,maxValue:p,wholeNumberValue:m}=s,h;return m?(f=Math.ceil(f),p=Math.floor(p),h=Math.floor(Math.random()*(p-f+1))+f):h=Math.random()*(p-f)+f,h<f||h>p?j.create(D.VALUE):R.create(h)})}_calculateSingleCell(e,t,n,r,i){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let s=n;s.isArray()&&(s=s.get(0,0));let c=r;c.isArray()&&(c=c.get(0,0));let l=i;l.isArray()&&(l=l.get(0,0));let u=this._handleError(a,o,s,c,l);if(u.errorObject)return u.errorObject;let{rowsValue:d,columnsValue:f,minValue:p,maxValue:m,wholeNumberValue:h}=u;if(h&&(p=Math.ceil(p),m=Math.floor(m),p>m))return j.create(D.VALUE);let g=[];for(let e=0;e<d;e++){let e=[];for(let t=0;t<f;t++)h?e.push(Math.floor(Math.random()*(m-p+1))+p):e.push(Math.random()*(m-p)+p);g.push(e)}return d===1&&f===1?R.create(g[0][0]):B.createByArray(g)}_handleError(e,t,n,r,i){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return{errorObject:o};let s=n;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return{errorObject:s};let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let l=i;return l.isString()&&(l=l.convertToNumberObjectValue()),l.isError()?{errorObject:l}:this._getValue(a,o,s,c,l)}_getValue(e,t,n,r,i){let a=Math.floor(+e.getValue()),o=Math.floor(+t.getValue());if(a===0||o===0)return{errorObject:j.create(D.CALC)};let s=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:j.create(D.VALUE)};if(a>s||o>c)return{errorObject:j.create(D.REF)};let l=+n.getValue(),u=+r.getValue(),d=+i.getValue();return l>u||d&&(!Number.isInteger(l)||!Number.isInteger(u))?{errorObject:j.create(D.VALUE)}:{rowsValue:a,columnsValue:o,minValue:l,maxValue:u,wholeNumberValue:d}}},Yh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError())return n;let r=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return j.create(D.VALUE);if(i>a)return j.create(D.NUM);i=Math.ceil(i),a=Math.floor(a);let o=Math.floor(Math.random()*(a-i+1))+i;return R.create(o)}},Xh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e);if(n)return r;let[a]=i,o=Math.floor(+a.getValue()),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue(),s.isError()))return s;let c=Math.floor(+s.getValue());if(s.isBoolean()&&(c=s.getValue()?0:4),o<0||o>3999||c<0||c>4)return j.create(D.VALUE);let l=$s[c],u=l.length-1,d=``;for(;o>0;){u=this._binarySearch(o,0,u,l);let e=l[u];o-=e,d+=Qs.get(e)}return z.create(d)}_binarySearch(e,t,n,r){let i=t,a=n;for(;a-i>1;){let t=Math.floor((i+a)/2),n=r[t];if(n===e)return t;n>e?a=t:i=t}return i!==a&&r[a]<=e?a:i}},Zh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.round(r)}},Qh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=+c.getValue(),d=Math.trunc(+l.getValue()),f=this._roundBank(u,d);return R.create(f)});return n===1&&r===1?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;let n=1e-8,r=10**t,i=+(e*r).toFixed(8),a=Math.floor(i),o=i-a,s=Math.round(i);return o>.5-n&&o<.5+n&&(s=a%2==0?a:a+1),t?s/r:s}},$h=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.floor(r)}},eg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.ceil(r)}},tg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?j.create(D.NUM):t.cos().getReciprocal()}},ng=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Number.isFinite(Math.cosh(n))?Math.abs(n)>=2**27?j.create(D.NUM):t.cosh().getReciprocal():R.create(0)}},rg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4),E(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r){let i=e,a=t==null?R.create(1):t,o=n==null?R.create(1):n,s=r==null?R.create(1):r;i.isNull()&&(i=R.create(1)),a.isNull()&&(a=R.create(1)),o.isNull()&&(o=R.create(1)),s.isNull()&&(s=R.create(1));let c=Math.max(i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,i,j.create(D.NA)),d=V(c,l,a,j.create(D.NA)),f=V(c,l,o,j.create(D.NA)),p=V(c,l,s,j.create(D.NA)),m=u.mapValue((e,t,n)=>{let r=d.get(t,n),i=f.get(t,n),a=p.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._getResult(e,r,i,a,c,l)});return c===1&&l===1?m.get(0,0):m}_getResult(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=X(e,t,n,r);if(o)return s;let[l,u,d,f]=c,p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue()),h=+d.getValue(),g=+f.getValue();if(p<0||m<0||p*m>10**7)return j.create(D.VALUE);if(p===0||m===0)return j.create(D.CALC);let _=this._rowCount-this.row,v=this._columnCount-this.column;if(p>_||m>v)return j.create(D.REF);let y=[];for(let e=0;e<p;e++){y[e]=[];for(let t=0;t<m;t++)y[e][t]=h+(e*m+t)*g}return i>1||a>1?R.create(y[0][0]):B.createByArray(y)}},ig=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isNull()||t.isNull()||n.isNull()||r.isNull())return j.create(D.NA);let{isError:i,errorObject:a,variants:o}=Y(e,t,n);if(i)return a;let{isError:s,errorObject:c,variants:l}=X(...o);if(s)return c;let[u,d,f]=l,p=+u.getValue(),m=+d.getValue(),h=+f.getValue(),g=[];if(r.isArray()){let e=!1,t=j.create(D.VALUE);if(r.iterator(n=>{let{isError:r,errorObject:i,coefficientsObject:a}=this._handleSingleObject(n);if(r)return e=!0,t=i,!1;let o=+a.getValue();g.push(o)}),e)return t}else{let{isError:e,errorObject:t,coefficientsObject:n}=this._handleSingleObject(r);if(e)return t;let i=+n.getValue();g.push(i)}let _=0;for(let e=0;e<g.length;e++)_+=g[e]*p**(m+e*h);return Number.isNaN(_)||!Number.isFinite(_)?j.create(D.NUM):R.create(_)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:j.create(D.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}}},ag=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();return a>0?R.create(1):a<0?R.create(-1):R.create(0)}},og=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}},sg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}},cg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}},lg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(n<0)return j.create(D.NUM);let r=Math.sqrt(n*Math.PI);return R.create(r)}};const ug={1:Q.AVERAGE,2:Q.COUNT,3:Q.COUNTA,4:Q.MAX,5:Q.MIN,6:Q.PRODUCT,7:Q.STDEV,8:Q.STDEVP,9:Q.SUM,10:Q.VAR,11:Q.VARP};var dg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0),E(this,`needsFilteredOutRows`,!0),E(this,`needsFormulaDataModel`,!0)}calculate(e,...t){let n;n=e.isReferenceObject()?e.toArrayValueObject():e;let{isError:r,multiAreaRefs:i,normalRefs:a}=Jc(t);if(!r&&i.length>0)return this._handleMultiAreaRefs(n,i,t);if(n.isArray()){let e=n.mapValue(e=>this._handleSingleObject(e,{isError:r,refs:a}));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,{isError:r,refs:a})}_handleSingleObject(e,t){let{isError:n=!1,refs:r}=t,i=e;if(e.isString()&&(i=e.convertToNumberObjectValue()),i.isError())return i;if(n)return j.create(D.VALUE);let a=Math.floor(+i.getValue());if(a<1||a>11&&a<101||a>111)return j.create(D.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),Qc({type:ug[a],ignoreRowHidden:o,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},r)}_handleMultiAreaRefs(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:o}=this._getMultiAreaInfo(t),s=Math.max(r,o),c=[];for(let t=0;t<s;t++){let o=t<r?t:r-1,s=[];for(let c=0;c<i;c++){if(r>1&&t>=r){s.push(j.create(D.NA));continue}let i=e.isArray()?e.get(o,c):e,l=[];for(let e=0;e<n.length;e++){let r=n[e],i=a.get(r);if(i){let e=t<i.rowAreas.length?t:i.rowAreas.length-1,n=i.rowAreas[e];if(n.isError()){s.push(n);break}l.push(n);continue}l.push(r)}let u=this._handleSingleObject(i,{isError:!1,refs:l});s.push(u)}c.push(s)}return c.length===1?c[0][0]:Ea(c,c.length,i)}_getMultiAreaInfo(e){let t=new Map,n=1;return e.forEach(e=>{let r=e.getAreas().map(t=>{if(!t||t.length===0)return e;let n=t.find(e=>!e.isError());return n==null?t[0]:n});t.set(e,{ref:e,rowAreas:r}),n=Math.max(n,r.length||1)}),{multiAreaInfoMap:t,maxAreasLen:n}}},fg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()||(r.isArray()&&(r=r.sum()),r.isError()))return r;if(t=t.plus(r),t.isError())return t}return t}},pg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return j.create(D.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t,n));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,r,n)}_handleSingleObject(e,t,n){let r=e.toArrayValueObject(),i=Oa(r,t);i=La(i,r,t);let a=r.getRowCount(),o=r.getColumnCount(),s=r;if(n){s=n.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=n.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,n.setRangeData(e),s=n.toArrayValueObject()}}return s.pick(i).sum()}},mg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`SUMIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},hg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=this._initArray1(e);if(t.length===0)return n.sum();let r=n.getRowCount(),i=n.getColumnCount(),a=this._getResultArrayByArray1(r,i,n);if(a instanceof j)return a;let o=a;return this._validateVariants(t,r,i)||this._sumProduct(o,t,r,i)}_validateVariants(e,t,n){for(let r of e){if(r.isError())return r;if(r.isArray()){let e=r,i=e.getRowCount(),a=e.getColumnCount();if(i!==t&&a!==n)return j.create(D.VALUE)}}return null}_sumProduct(e,t,n,r){let i=0;for(let a=0;a<n;a++)for(let n=0;n<r;n++){let r=e[a][n];for(let e=0;e<t.length;e++){let i=t[e],o=this._getVariantCell(i,a,n);if(!o)return j.create(D.VALUE);if(o.isError())return o;o.isNumber()?r*=o.getValue():r=0}i+=r}return R.create(i)}_getVariantCell(e,t,n){if(!e.isArray())return e;let r=e.get(t,n);return r==null?null:r}_initArray1(e){let t=e;return t.isArray()||(t=B.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:``,sheetId:``,row:0,column:0})),t}_getResultArrayByArray1(e,t,n){let r=[];for(let i=0;i<e;i++){let e=[];for(let r=0;r<t;r++){let t=n.get(i,r);if(t.isError())return t;t.isNumber()?e.push(t.getValue()):e.push(0)}r.push(e)}return r}},gg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(2);for(let r=0;r<e.length;r++){let i=e[r];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()?i.iterator(e=>{if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e.isError())return t=e,!1;t=t.plus(e.pow(n))}):t=t.plus(i.pow(n)),t.isError())return t}return t}},_g=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return j.create(D.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=I.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=l**2-u**2}),i.isError()?i:a.length===0||o.length===0?j.create(D.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,t){let n=e;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;let r=t;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;if(n.isNull()||r.isNull())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!w(i)||n.isBoolean()||r.isString()&&!w(a)||r.isBoolean())return j.create(D.DIV_BY_ZERO);let o=i**2-a**2;return R.create(o)}},vg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return j.create(D.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=I.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=l**2+u**2}),i.isError()?i:a.length===0||o.length===0?j.create(D.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,t){let n=e;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;let r=t;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;if(n.isNull()||r.isNull())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!w(i)||n.isBoolean()||r.isString()&&!w(a)||r.isBoolean())return j.create(D.DIV_BY_ZERO);let o=i**2+a**2;return R.create(o)}},yg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return j.create(D.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=I.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=(l-u)**2}),i.isError()?i:a.length===0||o.length===0?j.create(D.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,t){let n=e;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;let r=t;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;if(n.isNull()||r.isNull())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!w(i)||n.isBoolean()||r.isString()&&!w(a)||r.isBoolean())return j.create(D.DIV_BY_ZERO);let o=(i-a)**2;return R.create(o)}},bg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}},xg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}},Sg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue(),c=10**Math.trunc(s),l=Ji(a,c),u=Math.trunc(Ui(a,c)+l)/c;return R.create(u)});return r===1&&i===1?s.get(0,0):s}};const Cg=[[Km,K.ABS],[qm,K.ACOS],[Jm,K.ACOSH],[Ym,K.ACOT],[Zm,K.ACOTH],[eh,K.AGGREGATE],[th,K.ARABIC],[nh,K.ASIN],[rh,K.ASINH],[ih,K.ATAN],[ah,K.ATAN2],[oh,K.ATANH],[sh,K.BASE],[ch,K.CEILING],[lh,K.CEILING_MATH],[uh,K.CEILING_PRECISE],[dh,K.COMBIN],[fh,K.COMBINA],[ph,K.COS],[mh,K.COSH],[hh,K.COT],[gh,K.COTH],[_h,K.CSC],[vh,K.CSCH],[yh,K.DECIMAL],[bh,K.DEGREES],[xh,K.EVEN],[Sh,K.EXP],[Ch,K.FACT],[wh,K.FACTDOUBLE],[Th,K.FLOOR],[Eh,K.FLOOR_MATH],[Dh,K.FLOOR_PRECISE],[Oh,K.GCD],[kh,K.INT],[Ah,K.LCM],[jh,K.LN],[Mh,K.LOG],[Nh,K.LOG10],[Ph,K.MDETERM],[Fh,K.MINVERSE],[Ih,K.MMULT],[Lh,K.MOD],[Rh,K.MROUND],[zh,K.MULTINOMIAL],[Bh,K.MUNIT],[Vh,K.ODD],[Hh,K.PI],[Uh,K.POWER],[Wh,K.PRODUCT],[Gh,K.QUOTIENT],[Kh,K.RADIANS],[qh,K.RAND],[Jh,K.RANDARRAY],[Yh,K.RANDBETWEEN],[Xh,K.ROMAN],[Zh,K.ROUND],[Qh,K.ROUNDBANK],[$h,K.ROUNDDOWN],[eg,K.ROUNDUP],[tg,K.SEC],[ng,K.SECH],[ig,K.SERIESSUM],[rg,K.SEQUENCE],[ag,K.SIGN],[og,K.SIN],[sg,K.SINH],[cg,K.SQRT],[lg,K.SQRTPI],[dg,K.SUBTOTAL],[fg,K.SUM],[pg,K.SUMIF],[mg,K.SUMIFS],[hg,K.SUMPRODUCT],[gg,K.SUMSQ],[_g,K.SUMX2MY2],[vg,K.SUMX2PY2],[yg,K.SUMXMY2],[bg,K.TAN],[xg,K.TANH],[Sg,K.TRUNC]];var wg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`_compareType`,k.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}},Tg=class e extends Xe{static create(t){return new e(t)}isCube(){return!0}constructor(e){super(``),E(this,`_values`,[]),this._values=e}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=R.create(-1/0);return this._values.forEach(t=>{let n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=R.create(1/0);return this._values.forEach(t=>{let n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}},Eg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isError())return r;if(!r.isArray())return j.create(D.VALUE);t.push(r)}return Tg.create(t)}},Dg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?j.create(D.DIV_BY_ZERO):e.divided(t)}},Og=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}},kg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}},Ag=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}};const jg=[[wg,po.COMPARE],[Dg,po.DIVIDED],[Og,po.MINUS],[kg,po.MULTIPLY],[Ag,po.PLUS],[Eg,po.CUBE]],Mg=new Set([K.ACOT,K.ACOTH,K.ARABIC,K.BASE,K.CEILING_MATH,K.CEILING_PRECISE,K.COMBINA,K.COT,K.COTH,K.CSC,K.CSCH,K.DECIMAL,K.FLOOR_MATH,K.FLOOR_PRECISE,K.MUNIT,K.RANDARRAY,K.SEC,K.SECH,K.SEQUENCE,G.CHOOSECOLS,G.CHOOSEROWS,G.DROP,G.EXPAND,G.FILTER,G.FORMULATEXT,G.HSTACK,G.SORT,G.SORTBY,G.TAKE,G.TOCOL,G.TOROW,G.UNIQUE,G.VSTACK,G.WRAPCOLS,G.WRAPROWS,G.XLOOKUP,G.XMATCH,U.BITAND,U.BITLSHIFT,U.BITOR,U.BITRSHIFT,U.BITXOR,U.ERF_PRECISE,U.ERFC_PRECISE,U.IMCOSH,U.IMCOT,U.IMCSC,U.IMCSCH,U.IMSEC,U.IMSECH,U.IMSINH,U.IMTAN,to.ISFORMULA,to.SHEET,to.SHEETS,no.IFNA,no.IFS,no.SWITCH,no.XOR,q.BETA_DIST,q.BETA_INV,q.BINOM_DIST,q.BINOM_DIST_RANGE,q.BINOM_INV,q.CHISQ_DIST,q.CHISQ_DIST_RT,q.CHISQ_INV,q.CHISQ_INV_RT,q.CHISQ_TEST,q.CONFIDENCE_NORM,q.CONFIDENCE_T,q.COVARIANCE_P,q.COVARIANCE_S,q.EXPON_DIST,q.F_DIST,q.F_DIST_RT,q.F_INV,q.F_INV_RT,q.F_TEST,q.FORECAST_LINEAR,q.GAMMA,q.GAMMA_DIST,q.GAMMA_INV,q.GAMMALN_PRECISE,q.GAUSS,q.HYPGEOM_DIST,q.LOGNORM_DIST,q.LOGNORM_INV,q.MAXIFS,q.MINIFS,q.MODE_MULT,q.MODE_SNGL,q.NEGBINOM_DIST,q.NORM_DIST,q.NORM_INV,q.NORM_S_DIST,q.NORM_S_INV,q.PERCENTILE_EXC,q.PERCENTILE_INC,q.PERCENTRANK_EXC,q.PERCENTRANK_INC,q.PERMUTATIONA,q.PHI,q.POISSON_DIST,q.QUARTILE_EXC,q.QUARTILE_INC,q.RANK_AVG,q.RANK_EQ,q.SKEW_P,q.STDEV_P,q.STDEV_S,q.T_DIST,q.T_DIST_2T,q.T_DIST_RT,q.T_INV,q.T_INV_2T,q.T_TEST,q.VAR_P,q.VAR_S,q.WEIBULL_DIST,q.Z_TEST,J.ARRAYTOTEXT,ro.ENCODEURL,J.NUMBERVALUE,J.TEXTAFTER,J.TEXTBEFORE,J.TEXTJOIN,J.TEXTSPLIT,J.UNICHAR,J.UNICODE,J.VALUETOTEXT,eo.DAYS,eo.ISOWEEKNUM,W.PDURATION,W.RRI,no.BYCOL,no.BYROW,no.MAKEARRAY,no.MAP,no.REDUCE,no.SCAN]);var Ng=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i=Pg(i),i.isError())return i;if(e[r]=i,t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}if(n.getValue()===0)return j.create(D.NUM);let r=t.divided(n);if(r.isError())return r;let i=R.create(0);for(let t=0;t<e.length;t++){let n=e[t];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){if(i=i.plus(n.minus(r).abs().sum()),i.isError())return i}else n.isNull()||(i=i.plus(n.minus(r).abs()))}return i.divided(n)}};function Pg(e){let t=[];t[0]=[];let n=null;return e.iterator((e,r,i)=>{if(e!=null&&e.isError())return n=e,!1;e!=null&&e.isNumber()&&t[0].push(e)}),n||Ea(t,1,t[0].length)}var Fg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}return t.divided(n)}},Ig=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,254)}calculate(...e){let t=!1,n;e.length%2!=0&&(t=!0,n=j.create(D.NA));let r=[],i=[];for(let a=0;a<e.length;a+=2){let o=e[a],s=o.isArray()?o.getRowCount():1,c=o.isArray()?o.getColumnCount():1;for(let e=0;e<s;e++)for(let n=0;n<c;n++){let i=o.isArray()?o.get(e,n):o;if(i.isError())return i;if(t)continue;let a=i.isNull()?``:i.getValue();r.push(a)}if(a+1>=e.length)continue;let l=e[a+1],u=l.isArray()?l.getRowCount():1,d=l.isArray()?l.getColumnCount():1;(u!==s||d!==c)&&(t=!0,n=j.create(D.VALUE));for(let e=0;e<u;e++)for(let n=0;n<d;n++){let r=l.isArray()?l.get(e,n):l;if(r.isError())return r;if(t)continue;let a=r.isNull()?``:r.getValue();i.push(a)}}return t?n:this._getResult(r,i)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++){let n=e[a],o=t[a];if(!(typeof n!=`number`&&typeof o!=`number`)){if(typeof n!=`number`||typeof o!=`number`||o<0)return j.create(D.VALUE);r+=n*o,i+=o}}if(i===0)return j.create(D.DIV_BY_ZERO);let a=r/i;return R.create(a)}},Lg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e==null||e.isNull())return!0;let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()&&(r=R.create(0))),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=t.plus(r),n=n.plus(R.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}return t.divided(n)}},Rg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return j.create(D.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t,n));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,r,n)}_handleSingleObject(e,t,n){let r=e.toArrayValueObject(),i=Oa(r,t);i=La(i,r,t);let a=r.getRowCount(),o=r.getColumnCount(),s=r;if(n){s=n.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=n.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,n.setRangeData(e),s=n.toArrayValueObject()}}let c=s.pick(i),l=c.sum(),u=c.count();return l.divided(u)}},zg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`AVERAGEIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Bg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(1):a;o.isNull()&&(o=R.create(0)),s.isNull()&&(s=R.create(1));let c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,n,j.create(D.NA)),p=V(c,l,r,j.create(D.NA)),m=V(c,l,o,j.create(D.NA)),h=V(c,l,s,j.create(D.NA)),g=u.mapValue((e,t,n)=>{let r=d.get(t,n),i=f.get(t,n),a=p.get(t,n),o=m.get(t,n),s=h.get(t,n);return this._handleSingleObject(e,r,i,a,o,s)});return c===1&&l===1?g.get(0,0):g}_handleSingleObject(e,t,n,r,i,a){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;if(a.isError())return a;let{isError:o,errorObject:s,variants:c}=X(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,p,m]=c,h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue(),y=+p.getValue(),b=+m.getValue();if(g<=0||_<=0||h<y||h>b||y===b)return j.create(D.NUM);let x;return x=v?ec((h-y)/(b-y),g,_):tc((h-y)/(b-y),g,_)/(b-y),R.create(x)}},Vg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=r==null?n:r;i.isNull()&&(i=n);let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,t,j.create(D.NA)),l=V(a,o,n,j.create(D.NA)),u=V(a,o,i,j.create(D.NA)),d=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return a===1&&o===1?d.get(0,0):d}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=+c.getValue(),p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(d<0||f<0||f>1||p<0||p>d||m<0||m<p||m>d)return j.create(D.NUM);let h=0;for(let e=p;e<=m;e++)h+=cc(e,d,f);return R.create(h)}},Hg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=+c.getValue();if(l<0||u<1||u>10**10)return j.create(D.NUM);let f;return f=d?lc(l,u):uc(l,u),R.create(f)}},Ug=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=dc(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Wg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,p=+u.getValue(),m=+d.getValue(),h=Math.floor(+f.getValue());if(p<=0||p>=1||m<=0||h<1)return j.create(D.NUM);if(h===1)return j.create(D.DIV_BY_ZERO);let g=Math.abs(zc(p/2,h-1)*m/Math.sqrt(h));return R.create(g)});return r===1&&i===1?c.get(0,0):c}},Gg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i,c+=n**2,l+=i**2}let u=Math.sqrt(c*l);return u===0?j.create(D.DIV_BY_ZERO):R.create(s/u)}},Kg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];r.isError()||(r.isArray()?t=t.plus(r.count()):r.isString()?r.convertToNumberObjectValue().isError()||(t=t.plus(R.create(1))):r.isNull()||(t=t.plus(R.create(1))))}return t}},qg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isError()){t=t.plus(R.create(1));continue}r.isArray()?(r=r.countA(),t=t.plus(r)):r.isNull()||(t=t.plus(R.create(1)))}return t}},Jg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.getValue()===``||e.isNull()?R.create(1):e.isArray()?e.countBlank():R.create(0)}},Yg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){if(!e.isReferenceObject())return j.create(D.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,n)}_handleSingleObject(e,t){let n=e.toArrayValueObject(),r=Oa(n,t);r=La(r,n,t);let i=n.pick(r);return this._countA(i)}_countA(e){let t=R.create(0);return e.iterator(e=>{if(e==null)return!0;t=t.plusBy(1)}),t}},Xg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(...e){let{isError:t,errorObject:n,rangeIsDifferentSize:r,criteriaMaxRowLength:i,criteriaMaxColumnLength:a,variants:o}=Pa(e);if(t)return n;if(r)return i===1&&a===1?j.create(D.VALUE):V(i,a,j.create(D.VALUE));let s=Ia(o,{formulaName:`COUNTIFS`,maxRowLength:i,maxColumnLength:a,isNumberSensitive:!0});return s.length===1&&s[0].length===1?s[0][0]:B.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Zg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length<=1)return j.create(D.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i}return R.create(s/(n-1))}},Qg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0,r=!0;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=j.create(D.VALUE);if(a.iterator(a=>{let o=this._handleSingleObject(a);if(o.isError())return e=!0,i=o,!1;if(o.isNull())return!0;let s=o.getValue();t.push(s),n+=s,r=!1}),e)return i}else{let e=this._handleSingleObject(a);if(e.isError())return e;if(e.isNull())continue;let i=e.getValue();t.push(i),n+=i,r=!1}}if(r)return j.create(D.NUM);let i=n/t.length,a=0;for(let e=0;e<t.length;e++)a+=(t[e]-i)**2;return R.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return I.create();let t=e.getValue();return w(t)?R.create(+t):I.create()}},$g=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=Math.floor(+c.getValue()),p=Math.floor(+l.getValue()),m=+u.getValue();if(d<0||f<1||f>10**10||p<1||p>10**10)return j.create(D.NUM);let h;return h=m?fc(d,f,p):pc(d,f,p),Number.isNaN(h)||!Number.isFinite(h)?j.create(D.NUM):R.create(h)}},e_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||l>1||u<1||u>10**10||d<1||d>10**10)return j.create(D.NUM);let f=mc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},t_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=i.getValue();if(a<=-1||a>=1)return j.create(D.NUM);let o=Math.log((1+a)/(1-a))/2;return R.create(o)}},n_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(2*a)-1,s=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(s)&&s>0?R.create(1):R.create(o/s)}},r_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=t.isArray()?t.getRowCount():1,i=t.isArray()?t.getColumnCount():1,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1,s=t;t.isArray()&&r===1&&i===1&&(s=t.get(0,0));let c=n;return n.isArray()&&a===1&&o===1&&(c=n.get(0,0)),e.isArray()?e.mapValue(e=>this._handleSingleObject(e,s,c,r,i,a,o)):this._handleSingleObject(e,s,c,r,i,a,o)}_handleSingleObject(e,t,n,r,i,a,o){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;let c=+s.getValue();if((r*i===1||a*o===1)&&(t.isNull()||n.isNull()))return j.create(D.VALUE);if(r*i!==a*o)return j.create(D.NA);let{isError:l,errorObject:u,array1Values:d,array2Values:f,noCalculate:p}=Bc(t,n,r*i,i,o);if(l)return u;if(p)return j.create(D.DIV_BY_ZERO);let m=_c(c,d,f);return Number.isFinite(m)?R.create(m):j.create(D.DIV_BY_ZERO)}},i_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,values:i}=this._getValues(e);if(n)return r;if(e.isNull()||t.isNull())return j.create(D.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);let o=this._getNewBinsArrayValues(a),s=Array(o.length).fill(0);for(let e=0;e<i.length;e++){let t=i[e],n=o.findIndex(e=>t>e.start&&t<=e.end);s[n]++}return B.createByArray(s.map(e=>[e]))}_getValues(e,t=!1){let n=[],r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;for(let a=0;a<r;a++)for(let r=0;r<i;r++){let i=e.isArray()?e.get(a,r):e;if(i.isError()){if(!t)return{isError:!0,errorObject:i,values:n};continue}if(i.isNull()||i.isBoolean())continue;let o=i.getValue();w(o)&&n.push(+o)}return{isError:!1,errorObject:null,values:n}}_getNewBinsArrayValues(e){let t=e.map((e,t)=>({value:e,index:t})).sort((e,t)=>e.value-t.value),n=[];for(let e=0;e<t.length;e++){let r=t[e].index;if(e===0){n[r]={start:-1/0,end:t[e].value};continue}n[r]={start:t[e-1].value,end:t[e].value}}return n.push({start:t[t.length-1].value,end:1/0}),n}},a_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a===0||a<0&&a%1==0)return j.create(D.NUM);let o=vc(a);return Number.isNaN(o)||!Number.isFinite(o)?j.create(D.NUM):R.create(o)}},o_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0)return j.create(D.NUM);let o=Sc(a);return Math.abs(o)<1e-15?R.create(0):R.create(o)}},s_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Mc(+i.getValue(),0,1)-.5;return R.create(a)}},c_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=1,n=0,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=j.create(D.VALUE);if(a.iterator(a=>{if(a!=null&&a.isError())return e=!0,i=a,!1;if(a!=null&&a.isNull()||a!=null&&a.isBoolean())return!0;let o=a.getValue();if(!w(o))return!0;+o<=0&&(r=!0),t*=+o,n++}),e)return i}else{if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}if(a.isNull()||a.isBoolean())continue;let e=a.getValue();if(!w(e))continue;+e<=0&&(r=!0),t*=+e,n++}}if(n===0||r)return j.create(D.NUM);let i=t**(1/n);return R.create(i)}},l_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t,n);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=this._getNewXsValues(s,n);if(c instanceof j)return c;let l=r==null?L.create(!0):r;if(l.isArray()&&(l=l.get(0,0)),l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+l.getValue();return this._getResult(o,s,c,u)}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=e.length===1&&e[0].length>1,a=qc(e,t,n,r,!0);if(a instanceof j)return a;let{coefficients:o,newX:s}=a,c=o[0].length,l=o[0][c-1],u=[];for(let e=0;e<s.length;e++){u[e]=[];let t=l;for(let n=c-2;n>=0;n--)t*=o[0][c-2-n]**s[e][n];u[e].push(t)}return i&&(u=Vs(u)),B.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=Wc(t.flat(),i,r,!0),s=n.map(e=>e.map(e=>o*a**e));return B.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Hc(t)}},u_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=0,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=j.create(D.VALUE);if(a.iterator(a=>{if(a!=null&&a.isError())return e=!0,i=a,!1;if(a!=null&&a.isNull()||a!=null&&a.isBoolean())return!0;let o=a.getValue();if(!w(o))return!0;+o<=0&&(r=!0),t+=1/o,n++}),e)return i}else{if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}if(a.isNull()||a.isBoolean())continue;let e=a.getValue();if(!w(e))continue;+e<=0&&(r=!0),t+=1/e,n++}}if(n===0)return j.create(D.NA);if(r)return j.create(D.NUM);let i=n/t;return R.create(i)}},d_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,t,j.create(D.NA)),l=V(a,o,n,j.create(D.NA)),u=V(a,o,r,j.create(D.NA)),d=V(a,o,i,j.create(D.NA)),f=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n),o=d.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:o.isError()?o:this._handleSingleObject(e,r,i,a,o)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,p=Math.floor(+c.getValue()),m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue()),g=Math.floor(+d.getValue()),_=+f.getValue();if(p<0||p>m||p>h||p<m-g+h||m<=0||m>g||h<=0||h>g||g<=0)return j.create(D.NUM);let v;return v=_?Tc(p,m,h,g):Ec(p,m,h,g),Number.isNaN(v)&&(v=0),R.create(v)}},f_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=_c(0,e,t);return Number.isFinite(n)?R.create(n):j.create(D.DIV_BY_ZERO)}},p_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++)for(let r=0;r<o;r++){let a=i.isArray()?i.get(e,r):i;if(a.isError())return a;if(a.isNull()||a.isBoolean())continue;let o=a.getValue();w(o)&&(t.push(+o),n+=+o)}}return t.length<=3?j.create(D.DIV_BY_ZERO):this._getResult(t,n)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/(n-1));if(a===0)return j.create(D.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**4;let s=n*(n+1)/((n-1)*(n-2)*(n-3))*o-3*(n-1)**2/((n-2)*(n-3));return R.create(s)}},m_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return tl(e,+a.getValue())}},h_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=n==null?L.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?L.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=X(c,l);if(u)return d;let[p,m]=f;return this._getResult(o,s,+p.getValue(),+m.getValue())}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=qc(e,t,t,n,!1);if(i instanceof j)return i;let{coefficients:a,X:o,XTXInverse:s}=i,c=[];if(r){let t=e.flat(),r=t.length,i=n?t.reduce((e,t)=>e+t,0)/r:0,l=s.length,u=r-l,d=a[0].length,f=Array(d-2).fill(D.NA),p=a[0][d-1],m=[];for(let e=0;e<o.length;e++){let t=p;for(let n=d-2;n>=0;n--)t+=a[0][d-2-n]*o[e][n];m.push(t)}let h=0,g=0;for(let e=0;e<r;e++)h+=(t[e]-i)**2,g+=(t[e]-m[e])**2;let _=h-g,v=h===0?0:_/h,y=[];for(let e=l-1;e>=0;e--){let t=u>0?Math.sqrt(g/u*s[e][e]):0;y.push(t)}if(n){let e=y.shift();y.push(e)}else y.push(D.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):D.NUM;c=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else c=[a[0]];return B.createByArray(c)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s}=Wc(a,i,n,!1);if(Number.isNaN(o))return j.create(D.NA);let c=[];if(r){let e=i.length,t=0,r=0,l=e-1;if(n){let n=0,o=0;for(let t=0;t<e;t++)n+=i[t],o+=a[t];t=n/e,r=o/e,l=e-2}let u=0,d=0,f=0;for(let n=0;n<e;n++)u+=(i[n]-t)**2,d+=(i[n]-(o*a[n]+s))**2,f+=(a[n]-r)**2;let p=u-d,m=p===u?1:p/u,h=0,g=0,_=0;l>0&&(f>0&&(h=Math.sqrt(d/l/f),g=Math.sqrt(d/l*(1/e+r**2/f))),_=Math.sqrt(d/l));let v=l>0?p/1/(d/l):D.NUM;n||(g=D.NA),c=[[o,s],[h,g],[m,_],[v,l],[p,d]]}else c=[[o,s]];return B.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}},g_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=n==null?L.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?L.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=X(c,l);if(u)return d;let[p,m]=f;return this._getResult(o,s,+p.getValue(),+m.getValue())}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=qc(e,t,t,n,!0);if(i instanceof j)return i;let{coefficients:a,Y:o,X:s,XTXInverse:c}=i,l=[];if(r){let e=o.flat(),t=e.length,r=n?e.reduce((e,t)=>e+t,0)/t:0,i=c.length,u=t-i,d=a[0].length,f=Array(d-2).fill(D.NA),p=a[0][d-1],m=[];for(let e=0;e<s.length;e++){let t=p;for(let n=d-2;n>=0;n--)t*=a[0][d-2-n]**s[e][n];m.push(Math.log(t))}let h=0,g=0;for(let i=0;i<t;i++)h+=(e[i]-r)**2,!(!n&&!Number.isFinite(m[i]))&&(g+=(e[i]-m[i])**2);Number.isFinite(g)||(g=0);let _=h-g,v=h===0?0:_/h,y=[];for(let e=i-1;e>=0;e--){let t=u>0?Math.sqrt(g/u*c[e][e]):0;y.push(t)}if(n){let e=y.shift();y.push(e)}else y.push(D.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):D.NUM;l=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else l=[a[0]];return B.createByArray(l)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s,Y:c}=Wc(a,i,n,!0);if(Number.isNaN(o))return j.create(D.NA);let l=[];if(r){let e=c.length,t=0,r=0,i=e-1;if(n){let n=0,o=0;for(let t=0;t<e;t++)n+=c[t],o+=a[t];t=n/e,r=o/e,i=e-2}let u=0,d=0,f=0;for(let n=0;n<e;n++)u+=(c[n]-t)**2,d+=(c[n]-Math.log(s*o**a[n]))**2,f+=(a[n]-r)**2;let p=u-d,m=u===0?0:p/u,h=0,g=0,_=0,v=0;i>0&&(f>0&&(h=Math.sqrt(d/i/f),g=Math.sqrt(d/i*(1/e+r**2/f))),_=Math.sqrt(d/i),v=p/1/(d/i)),n||(g=D.NA),l=[[o,s],[h,g],[m,_],[v,i],[p,d]]}else l=[[o,s]];return B.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}},__=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(d<=0||p<=0)return j.create(D.NUM);let h;return h=m?Dc(d,f,p):Oc(d,f,p),R.create(h)}},v_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=this._getRangeValues(e);if(n instanceof j)return n;let r=vs(t);if(r.isError())return r;let{isError:i,errorObject:a,variants:o}=X(r);if(i)return a;let[s]=o,c=+s.getValue();if(c<=0||c>=1)return j.create(D.NUM);if(n.length<2)return j.create(D.DIV_BY_ZERO);let l=1-c,u=n.length,d=n.reduce((e,t)=>e+t,0)/u,f=n.reduce((e,t)=>e+(t-d)**2,0)/(u-1),p=Math.sqrt(f);if(p<=0)return j.create(D.NUM);let m=Math.abs(zc(l/2,u-1)*p/Math.sqrt(u));return R.create(m)}_getRangeValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;r.isNull()||r.isBoolean()||r.isString()||t.push(+r.getValue())}return t}},y_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(-1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isArray()&&(r=r.max()),r.isError())return r;t=this._validator(t,r)}}return t.getValue()===-1/0?R.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},b_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(-1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(r.isArray()&&r.iterator(e=>{let n=e;if((n==null||n.isNull()||n.isString())&&(n=R.create(0)),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=this._validator(t,n)}),t.isError())return t;t=this._validator(t,r)}}return t.getValue()===-1/0?R.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},x_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`MAXIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},S_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isArray()){let e=!1,n=j.create(D.VALUE);if(r.iterator(r=>{if(r!=null&&r.isError())return e=!0,n=r,!1;if(r!=null&&r.isNull()||r!=null&&r.isBoolean())return!0;let i=r.getValue();if(!w(i))return!0;t.push(+i)}),e)return n}else{if(r.isError())return r;if(r.isNull()||r.isBoolean())continue;if(r.isString()){let e=r.convertToNumberObjectValue();if(e.isError())return e}let e=r.getValue();if(!w(e))continue;t.push(+e)}}return t.length===0?j.create(D.NUM):el(t)}},C_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isArray()&&(r=r.min()),r.isError())return r;t=this._validator(t,r)}}return t.getValue()===1/0?R.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},w_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(r.isArray()&&r.iterator(e=>{let n=e;if((n==null||n.isNull()||n.isString())&&(n=R.create(0)),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=this._validator(t,n)}),t.isError())return t;t=this._validator(t,r)}}return t.getValue()===1/0?R.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},T_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`MINIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},E_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t={},n=0,r=1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;let s=o.getValue();w(s)&&(t[+s]?(t[+s].count++,t[+s].count>r&&(r=t[+s].count)):t[+s]={count:1,order:n++})}}return n===0||r===1?new j(D.NA):this._getResult(t,r)}_getResult(e,t){let n=Object.entries(e).filter(([e,{count:n}])=>n===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return n.length===1?R.create(n[0]):B.createByArray(n.map(e=>[e]))}},D_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),p=+l.getValue(),m=+u.getValue();if(d<0||f<1||p<=0||p>=1)return j.create(D.NUM);let h;return h=m?Ac(d,f,p):jc(d,f,p),R.create(h)}},O_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue(),l;return l=c?Mc(s,0,1):Nc(s,0,1),R.create(l)}},k_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(c===0||l===0)return j.create(D.DIV_BY_ZERO);let u=s/Math.sqrt(c*l);return R.create(u)}},A_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return il(e,+a.getValue())}},j_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?R.create(3):n;i.isNull()&&(i=R.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,t,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((e,t,n)=>{let i=c.get(t,n);return e.isError()?e:i.isError()?i:this._handleSingleObject(r,e,i)});return a===1&&o===1?l.get(0,0):l}_handleSingleObject(e,t,n){if(e instanceof j)return e;let{isError:r,errorObject:i,variants:a}=X(t,n);if(r)return i;let[o,s]=a,c=+o.getValue(),l=Math.floor(+s.getValue()),u=e.length;if(u===0||c<e[0]||c>e[u-1])return j.create(D.NA);if(u===1)return c===e[0]?R.create(1):j.create(D.NA);let d=0,f=!1,p=0;for(;!f&&p<u;)c===e[p]?(d=(p+1)/(u+1),f=!0):c>e[p]&&p+1<u&&c<e[p+1]&&(d=(p+1+(c-e[p])/(e[p+1]-e[p]))/(u+1),f=!0),p++;return f?l<1?j.create(D.NUM):(d=Ki(d,l),R.create(d)):j.create(D.NA)}_getValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;let a=n.getValue();w(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},M_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(u<0||u>=2147483647||d<0||u<d)return j.create(D.NUM);let f=1;for(let e=u-d+1;e<=u;e++)f*=e;return Number.isFinite(f)?R.create(f):j.create(D.NUM)});return n===1&&r===1?o.get(0,0):o}},N_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(u<0||u>=2147483647||d<0)return j.create(D.NUM);if(u===0)return d===0?R.create(1):R.create(0);let f=u**d;return Number.isFinite(f)?R.create(f):j.create(D.NUM)});return n===1&&r===1?o.get(0,0):o}},P_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return R.create(o)}},F_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,xRangeValues:o,probRangeValues:s}=this._handleXRangeAndProbRange(e,t),c=r==null?n:r;r!=null&&r.isNull()&&(c=n);let l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,n,j.create(D.NA)),f=V(l,u,c,j.create(D.NA)),p=d.mapValue((n,r,c)=>{let l=f.get(r,c);return e.isError()?e:t.isError()?t:n.isError()?n:l.isError()?l:i?a:this._handleSingleObject(o,s,n,l)});return l===1&&u===1?p.get(0,0):p}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(n,r);if(i)return a;let[s,c]=o,l=+s.getValue(),u=+c.getValue();if(t.reduce((e,t)=>e+t,0)!==1)return j.create(D.NUM);let d=0;for(let n=0;n<e.length;n++)e[n]>=l&&e[n]<=u&&(d+=t[n]);return R.create(d)}_handleXRangeAndProbRange(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,xRangeValues:[],probRangeValues:[]};if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:j.create(D.VALUE),xRangeValues:[],probRangeValues:[]};if(n*r!==i*a)return{isError:!0,errorObject:j.create(D.NA),xRangeValues:[],probRangeValues:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]}:f?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:u,probRangeValues:d}}},I_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return ol(e,Math.floor(+a.getValue()))}},L_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return j.create(D.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();return Number.isNaN(c)||Number.isNaN(l)?j.create(D.VALUE):this._getResult(c,l,o)});return c===1&&l===1?f.get(0,0):f}_getResult(e,t,n){let r=n.sort((e,n)=>t?e-n:n-e),i=r.indexOf(e),a=[];for(;i>=0;){let t=i+1;a.push(t),i=r.indexOf(e,t)}if(a.length===0)return j.create(D.NA);let o=a.reduce((e,t)=>e+t,0)/a.length;return R.create(o)}_checkRefReferenceObject(e){let t=!1,n=j.create(D.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},R_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return j.create(D.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?j.create(D.NA):R.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=j.create(D.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},z_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return j.create(D.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(c===0||l===0)return j.create(D.DIV_BY_ZERO);let u=(s/Math.sqrt(c*l))**2;return R.create(u)}},B_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++)for(let r=0;r<o;r++){let a=i.isArray()?i.get(e,r):i;if(a.isError())return a;if(a.isNull()||a.isBoolean())continue;let o=a.getValue();w(o)&&(t.push(+o),n+=+o)}}return t.length<=2?j.create(D.DIV_BY_ZERO):this._getResult(t,n)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/(n-1));if(a===0)return j.create(D.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=n/((n-1)*(n-2))*o;return R.create(s)}},V_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++)for(let r=0;r<o;r++){let a=i.isArray()?i.get(e,r):i;if(a.isError())return a;if(a.isNull()||a.isBoolean())continue;let o=a.getValue();w(o)&&(t.push(+o),n+=+o)}}return t.length<=2?j.create(D.DIV_BY_ZERO):this._getResult(t,n)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/n);if(a===0)return j.create(D.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=o/n;return R.create(s)}},H_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(t[r]-o)**2;if(c===0)return j.create(D.DIV_BY_ZERO);let l=s/c;return R.create(l)}},U_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return nl(e,+a.getValue())}},W_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(d<=0)return j.create(D.NUM);let f=(l-u)/d;return R.create(f)}},G_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}},K_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std()}},q_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length;if(n<=2)return j.create(D.DIV_BY_ZERO);let r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(l===0)return j.create(D.DIV_BY_ZERO);let u=Math.sqrt((c-s**2/l)/(n-2));return Number.isNaN(u)||!Number.isFinite(u)?j.create(D.NUM):R.create(u)}},J_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=+c.getValue();if(u<1)return j.create(D.NUM);let f;return f=d?Lc(l,u):Rc(l,u),Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},Y_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||c<1||c>10**10)return j.create(D.NUM);let l=Lc(-s,c)*2;return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},X_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(c<1||c>10**10)return j.create(D.NUM);let l=Lc(-s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Z_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<=0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=zc(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Q_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t,n);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=this._getNewXsValues(s,n);if(c instanceof j)return c;let l=r==null?L.create(!0):r;if(l.isArray()&&(l=l.get(0,0)),l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+l.getValue();return this._getResult(o,s,c,u)}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=e.length===1&&e[0].length>1,a=qc(e,t,n,r,!1);if(a instanceof j)return a;let{coefficients:o,newX:s}=a,c=o[0].length,l=o[0][c-1],u=[];for(let e=0;e<s.length;e++){u[e]=[];let t=l;for(let n=c-2;n>=0;n--)t+=o[0][c-2-n]*s[e][n];u[e].push(t)}return i&&(u=Vs(u)),B.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=Wc(t.flat(),i,r,!1);if(Number.isNaN(a))return j.create(D.NA);let s=n.map(e=>e.map(e=>a*e+o));return B.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Hc(t)}},$_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=this._getValues(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(e instanceof j)return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i,o=+a.getValue();if(o<0||o>=1)return j.create(D.NUM);let s=Ki(e.length*o/2,0)*2,c=e.slice(s/2,e.length-s/2),l=c.reduce((e,t)=>e+t,0)/c.length;return R.create(l)}_getValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;let a=n.getValue();w(a)&&r.push(+a)}return r.length===0?j.create(D.NUM):r.sort((e,t)=>e-t)}},ev=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}},tv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var()}};const nv=[[Ng,q.AVEDEV],[Fg,q.AVERAGE],[Ig,q.AVERAGE_WEIGHTED],[Lg,q.AVERAGEA],[Rg,q.AVERAGEIF],[zg,q.AVERAGEIFS],[Bg,q.BETA_DIST],[sl,q.BETA_INV],[cl,q.BINOM_DIST],[Vg,q.BINOM_DIST_RANGE],[ll,q.BINOM_INV],[Hg,q.CHISQ_DIST],[ul,q.CHISQ_DIST_RT],[Ug,q.CHISQ_INV],[dl,q.CHISQ_INV_RT],[fl,q.CHISQ_TEST],[pl,q.CONFIDENCE_NORM],[Wg,q.CONFIDENCE_T],[Gg,q.CORREL],[Kg,q.COUNT],[qg,q.COUNTA],[Jg,q.COUNTBLANK],[Yg,q.COUNTIF],[Xg,q.COUNTIFS],[ml,q.COVARIANCE_P],[Zg,q.COVARIANCE_S],[Qg,q.DEVSQ],[hl,q.EXPON_DIST],[$g,q.F_DIST],[gl,q.F_DIST_RT],[e_,q.F_INV],[_l,q.F_INV_RT],[vl,q.F_TEST],[t_,q.FISHER],[n_,q.FISHERINV],[r_,q.FORECAST],[r_,q.FORECAST_LINEAR],[i_,q.FREQUENCY],[a_,q.GAMMA],[yl,q.GAMMA_DIST],[bl,q.GAMMA_INV],[o_,q.GAMMALN],[o_,q.GAMMALN_PRECISE],[s_,q.GAUSS],[c_,q.GEOMEAN],[l_,q.GROWTH],[u_,q.HARMEAN],[d_,q.HYPGEOM_DIST],[f_,q.INTERCEPT],[p_,q.KURT],[m_,q.LARGE],[h_,q.LINEST],[g_,q.LOGEST],[__,q.LOGNORM_DIST],[xl,q.LOGNORM_INV],[v_,q.MARGINOFERROR],[y_,q.MAX],[b_,q.MAXA],[x_,q.MAXIFS],[S_,q.MEDIAN],[C_,q.MIN],[w_,q.MINA],[T_,q.MINIFS],[E_,q.MODE_MULT],[Sl,q.MODE_SNGL],[D_,q.NEGBINOM_DIST],[Cl,q.NORM_DIST],[wl,q.NORM_INV],[O_,q.NORM_S_DIST],[Tl,q.NORM_S_INV],[k_,q.PEARSON],[A_,q.PERCENTILE_EXC],[El,q.PERCENTILE_INC],[j_,q.PERCENTRANK_EXC],[Dl,q.PERCENTRANK_INC],[M_,q.PERMUT],[N_,q.PERMUTATIONA],[P_,q.PHI],[Ol,q.POISSON_DIST],[F_,q.PROB],[I_,q.QUARTILE_EXC],[kl,q.QUARTILE_INC],[L_,q.RANK_AVG],[R_,q.RANK_EQ],[z_,q.RSQ],[B_,q.SKEW],[V_,q.SKEW_P],[H_,q.SLOPE],[U_,q.SMALL],[W_,q.STANDARDIZE],[Al,q.STDEV_P],[jl,q.STDEV_S],[G_,q.STDEVA],[K_,q.STDEVPA],[q_,q.STEYX],[J_,q.T_DIST],[Y_,q.T_DIST_2T],[X_,q.T_DIST_RT],[Z_,q.T_INV],[Ml,q.T_INV_2T],[Nl,q.T_TEST],[Q_,q.TREND],[$_,q.TRIMMEAN],[Pl,q.VAR_P],[Fl,q.VAR_S],[ev,q.VARA],[tv,q.VARPA],[Il,q.WEIBULL_DIST],[Ll,q.Z_TEST]];var rv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t;if(t!=null&&t.isNull()&&(n=R.create(0)),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,n)}_handleSingleObject(e,t){let n=this._checkArray(e);if(n.isError())return n;let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=+o.getValue(),c=e.isArray()?e.getRowCount():1,l=e.isArray()?e.getColumnCount():1,u=``;for(let t=0;t<c;t++)for(let n=0;n<l;n++){let r=e.isArray()?e.get(t,n):e,i=`${r.getValue()}`;r.isNull()&&(i=``),r.isBoolean()&&(i=i.toLocaleUpperCase()),r.isString()&&s?u+=`"${i}"`:u+=i,t===c-1&&n===l-1||(s?n===l-1?u+=`;`:u+=`,`:u+=`, `)}return s&&(u=`{${u}}`),u.length>32767?j.create(D.CALC):z.create(u)}_checkArray(e){if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();return t>1||n>1?e:e.get(0,0)}return e}},iv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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;let t=e.getValue().toLocaleString(),n=``;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);r===12288?r=32:r>=65281&&r<=65374&&(r-=65248),n+=String.fromCharCode(r)}return z.create(n)}},av=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),s=Number.parseFloat((Math.abs(a)-o).toFixed(2)),c=``;return c=o===0?s===0?`ศูนย์บาทถ้วน`:`${a<0?`ลบ`:``}${this._convertNumberToThaiText(s*100)}สตางค์`:s===0?`${a<0?`ลบ`:``}${this._convertNumberToThaiText(o)}บาทถ้วน`:`${a<0?`ลบ`:``}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(s*100)}สตางค์`,z.create(c)}_convertNumberToThaiText(e){let t=[`ล้าน`,`สิบ`,`ร้อย`,`พัน`,`หมื่น`,`แสน`,``],n=[`ศูนย์`,`หนึ่ง`,`สอง`,`สาม`,`สี่`,`ห้า`,`หก`,`เจ็ด`,`แปด`,`เก้า`],r=[`ลบ`,`บาท`,`ถ้วน`,`สตางค์`,`ยี่`,`เอ็ด`,`,`,` `,`฿`],i=e.toString(),a=i.length,o=``;for(let e=a;e>0;e--){let s=Number.parseInt(i.charAt(a-e),10),c=n[s],l=e>1?(e-1)%6:6;if(l===1&&s===2&&(c=r[4]),s===1)switch(l){case 0:case 6:o+=e<a?r[5]:c;break;case 1:break;default:o+=c;break}else if(s===0){l===0&&(o+=t[l]);continue}else o+=c;o+=t[l]}return o}};const ov=Object.values(o).filter(e=>[o.TABLE_START,o.TABLE_ROW_START,o.TABLE_CELL_START,o.TABLE_CELL_END,o.TABLE_ROW_END,o.TABLE_END,o.CUSTOM_BLOCK].includes(e));var sv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<=0)return j.create(D.VALUE);let o=String.fromCharCode(a);return ov.some(e=>e===o)&&(o=``),z.create(o)}},cv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`.replace(/[\0-\x1F]/g,``);return z.create(t)}},lv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 j.create(D.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t===``)return j.create(D.VALUE);let n=t.charCodeAt(0);return R.create(n)}},uv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=``,n=null;for(let r of e)if(r.isArray()){if(r.iterator(e=>{if(e==null||e.isNull())return!0;if(e.isError())return n=e,!1;e.isBoolean()?t+=`${e.getValue()}`.toLocaleUpperCase():(e.isString()||e.isNumber())&&(t+=e.getValue())}),n)return n}else !r.isError()&&!r.isNull()&&(t+=r.getValue());return z.create(t)}},dv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=0;e.forEach(e=>{if(e.isArray()){let r=e;t=Math.max(t,r.getRowCount()),n=Math.max(n,r.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)});let r=null;for(let i of e)r=V(t,n,i,j.create(D.NA)).mapValue((e,t,n)=>{var i,a;let o=r&&r.get(t,n);if(o!=null&&o.isError())return o;if(e.isError())return e;let s=o==null?void 0:o.getValue(),c=e==null?void 0:e.getValue();o!=null&&o.isBoolean()&&(s=`${s}`.toLocaleUpperCase()),e!=null&&e.isBoolean()&&(c=`${c}`.toLocaleUpperCase());let l=o!=null&&o.isNull()||(i=s)==null?``:i,u=e!=null&&e.isNull()||(a=c)==null?``:a;return z.create(`${l}${u}`)});return r||j.create(D.VALUE)}},fv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let n=``;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);r>=33&&r<=126?n+=String.fromCharCode(r+65248):r===32?n+=` `:n+=t.charAt(e)}return z.create(n)}},pv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(this,`needsLocale`,!0)}calculate(e,t){let n=t==null?R.create(2):t;n.isNull()&&(n=R.create(2));let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.trunc(+o.getValue());if(c>127)return j.create(D.VALUE);c<0&&(s=`${s}`.length<Math.abs(c)?0:s<0?-Gi(Math.abs(s),c):Gi(s,c),c=0);let l=Fi(this.getLocale(),s,c);return z.create(l)}},mv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,I.create()),a=V(n,r,t,I.create()),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){let n=e.isNull()&&t.isNull();return L.create(n)}let n=`${e.getValue()}`;e.isBoolean()&&(n=n.toLocaleUpperCase());let r=`${t.getValue()}`;t.isBoolean()&&(r=r.toLocaleUpperCase());let i=n===r;return L.create(i)}};const hv=(e,t)=>_e.format(e,t,{throws:!1}),gv=e=>{let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),e.isNumber()&&(t=e.getPattern()===``?`${aa(+e.getValue())}`:hv(e.getPattern(),+e.getValue())),t};var _v=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e),i=gv(t),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);return u===-1?j.create(D.VALUE):R.create(u+1)}};function vv(e){let t=0;for(let n=0;n<e.length;n++)t+=yv(e,n);return t}function yv(e,t,n=`ltr`){return Cv(e,t,n)>255?2:1}function bv(e){return e>=55296&&e<=56319}function xv(e){return e>=56320&&e<=57343}function Sv(e,t){return((e&1023)<<10)+(t&1023)+65536}function Cv(e,t,n=`ltr`){let r=e.charCodeAt(t);if(n===`ltr`&&bv(r)&&t+1<e.length){let n=e.charCodeAt(t+1);if(xv(n))return Sv(r,n)}if(n===`rtl`&&xv(r)&&t-1>=0){let n=e.charCodeAt(t-1);if(bv(n))return Sv(n,r)}return r}var wv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e),i=gv(t),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);if(u===-1)return j.create(D.VALUE);let d=vv(i.substring(0,u))+1;return R.create(d)}},Tv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(2):t;r.isNull()&&(r=R.create(2));let i=n==null?L.create(!1):n;i.isNull()&&(i=L.create(!1));let a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,r,j.create(D.NA)),l=V(a,o,i,j.create(D.NA)),u=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return a===1&&o===1?u.get(0,0):u}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.trunc(+s.getValue()),d=+c.getValue();if(u>127)return j.create(D.VALUE);u<0&&(l=`${l}`.length<Math.abs(u)?0:l<0?-Gi(Math.abs(l),u):Gi(l,u),u=0);let f=d?`###0`:`#,##0`;u>0&&(f+=`.${`0`.repeat(u)}`);let p=hv(f,l);return z.create(p)}},Ev=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);if(s>=n.length)return z.create(n);let c=n.substring(0,s);return z.create(c)}},Dv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,I.create()),o=V(r,i,n,I.create()),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);let c=0,l=0,u=``;for(;l<s&&c<n.length;)l+=yv(n,c),u+=n.charAt(c),c++;return z.create(u)}},Ov=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=gv(e);return R.create(t.length)}},kv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=vv(gv(e));return R.create(t)}},Av=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`.toLocaleLowerCase();return z.create(t)}},jv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let r=gv(e),{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);if(e.isNull()||l>r.length||u===0)return z.create(``);let d=r.substring(l-1,l-1+u);return z.create(d)}},Mv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let r=gv(e),{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);if(e.isNull()||l>r.length||u===0)return z.create(``);r=r.substring(l-1);let d=0,f=0,p=``;for(;f<u&&d<r.length;)f+=yv(r,d),p+=r.charAt(d),d++;return z.create(p)}};const Nv=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],Pv=[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],Fv=[``,`十`,`百`,`千`],Iv=[``,`拾`,`佰`,`仟`],Lv=[``,`万`,`亿`,`兆`];var Rv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let n=e.convertToNumberObjectValue();if(n.isError())return n;let r=t.convertToNumberObjectValue();if(r.isError())return r;let i=n.getValue(),a=Math.trunc(r.getValue());if(i<0||![1,2,3].includes(a))return j.create(D.NUM);i=Math.round(i);let o=i.toString(),s=o.length,c=``,l=!1;for(let e=0;e<s;e++){let t=Number(o[e]);if(s===1&&t===0){c+=a===2?Pv[0]:Nv[0];break}if(a===3){c+=Nv[t];continue}let n=s-e-1,r=n%4,i=Math.trunc(n/4);if(s>=17&&i>2){if(c+=a===1?Nv[t]:Pv[t],i>3)continue}else t===0?l=r!==0:(l&&(c+=a===1?Nv[0]:Pv[0],l=!1),c+=a===1?Nv[t]+Fv[r]:Pv[t]+Iv[r]);r===0&&i>0&&o.slice(Math.max(0,e-3),e+1)!==`0000`&&(c+=Lv[i])}return z.create(c)}},zv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,n){let r=t==null?z.create(`.`):t,i=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,r,j.create(D.NA)),c=n?V(i,a,n,j.create(D.NA)):void 0,l=o.mapValue((e,t,r)=>{let i=s.get(t,r),a=n?c.get(t,r):void 0;return e.isError()?e:i.isError()?i:a!=null&&a.isError()?a:i.isNull()||a!=null&&a.isNull()?j.create(D.VALUE):e.isNull()?R.create(0):this._handleSingleObject(e,i,a)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=`${e.getValue()}`;r=r.replace(/\s+/g,``);let i=`${t.getValue()}`;t.isBoolean()&&(i=i.toLocaleUpperCase()),i=i.charAt(0);let a;if(n&&(a=`${n.getValue()}`,n.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),i===a))return j.create(D.VALUE);if(r.trim()===``)return R.create(0);if(!r.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return j.create(D.VALUE);let o=r.split(i);if(o.length>2)return j.create(D.VALUE);let s=o[0].replace(/,/g,``);n&&(s=s.split(a).join(``));let c=0;if(o.length===1){i===`,`&&(s=s.replace(/\./g,``));let e=0;for(;s.endsWith(`%`);)s=s.slice(0,-1),e++;c=e>0?s/100**e:+s}else{if(!w(s))return j.create(D.VALUE);let e=o[1],t=0;for(;e.endsWith(`%`);)e=e.slice(0,-1),t++;let n=`${s}.${e}`;if(!w(n))return j.create(D.VALUE);c=t>0?n/100**t:+n}return Number.isNaN(c)?j.create(D.VALUE):R.create(c)}},Bv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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;let t=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,e=>e.toLocaleUpperCase());return z.create(t)}},$=function(e){return e[e.ROOT=0]=`ROOT`,e[e.GROUP=1]=`GROUP`,e[e.POSITION=2]=`POSITION`,e[e.SET=3]=`SET`,e[e.RANGE=4]=`RANGE`,e[e.REPETITION=5]=`REPETITION`,e[e.REFERENCE=6]=`REFERENCE`,e[e.CHAR=7]=`CHAR`,e}($||{});const Vv=()=>[{type:$.RANGE,from:48,to:57}],Hv=()=>[{type:$.CHAR,value:95},{type:$.RANGE,from:97,to:122},{type:$.RANGE,from:65,to:90},{type:$.RANGE,from:48,to:57}],Uv=()=>[{type:$.CHAR,value:9},{type:$.CHAR,value:10},{type:$.CHAR,value:11},{type:$.CHAR,value:12},{type:$.CHAR,value:13},{type:$.CHAR,value:32},{type:$.CHAR,value:160},{type:$.CHAR,value:5760},{type:$.RANGE,from:8192,to:8202},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233},{type:$.CHAR,value:8239},{type:$.CHAR,value:8287},{type:$.CHAR,value:12288},{type:$.CHAR,value:65279}],Wv=()=>({type:$.SET,set:Hv(),not:!1}),Gv=()=>({type:$.SET,set:Hv(),not:!0}),Kv=()=>({type:$.SET,set:Vv(),not:!1}),qv=()=>({type:$.SET,set:Vv(),not:!0}),Jv=()=>({type:$.SET,set:Uv(),not:!1}),Yv=()=>({type:$.SET,set:Uv(),not:!0}),Xv=()=>({type:$.SET,set:[{type:$.CHAR,value:10},{type:$.CHAR,value:13},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233}],not:!0});function Zv(e){let t={type:$.ROOT,stack:[]},n=t,r=t.stack,i=[],a=[],o=0,s=t=>{throw SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${t-1}`)},c=$v(e),l=0,u;for(;l<c.length;)switch(u=c[l++],u){case`\\`:if(l===c.length)throw SyntaxError(`Invalid regular expression: /${e}/: \\ at end of pattern`);switch(u=c[l++],u){case`b`:r.push({type:$.POSITION,value:`b`});break;case`B`:r.push({type:$.POSITION,value:`B`});break;case`w`:r.push(Wv());break;case`W`:r.push(Gv());break;case`d`:r.push(Kv());break;case`D`:r.push(qv());break;case`s`:r.push(Jv());break;case`S`:r.push(Yv());break;default:if(/\d/.test(u)){for(;/\d/.test(c[l])&&l<c.length;)u+=c[l++];let e=Number.parseInt(u,10);r.push({type:$.REFERENCE,value:e}),a.push({reference:{type:$.REFERENCE,value:e},stack:r,index:r.length-1})}else r.push({type:$.CHAR,value:u.charCodeAt(0)})}break;case`^`:r.push({type:$.POSITION,value:`^`});break;case`$`:r.push({type:$.POSITION,value:`$`});break;case`[`:{let t=c[l]===`^`;t&&l++;let n=Qv(c.slice(l),e);l+=n[1],r.push({type:$.SET,set:n[0],not:t});break}case`.`:r.push(Xv());break;case`(`:{let t={type:$.GROUP,stack:[],remember:!0};if(c[l]===`?`){let n=c[l+1];if(l+=2,n===`=`)t.followedBy=!0;else if(n===`!`)t.notFollowedBy=!0;else if(n!==`:`)throw SyntaxError(`Invalid regular expression: /${e}/: Invalid group, character '${n}' after '?' at column ${l-1}`);t.remember=!1}else o+=1;r.push(t),i.push(n),n=t,r=t.stack;break}case`)`:if(i.length===0)throw SyntaxError(`Invalid regular expression: /${e}/: Unmatched ) at column ${l-1}`);n=i.pop(),r=n.options?n.options[n.options.length-1]:n.stack;break;case`|`:{n.options||(n.options=[n.stack],delete n.stack);let e=[];n.options.push(e),r=e;break}case`{`:{let e=/^(\d+)(,(\d+)?)?\}/.exec(c.slice(l));if(e){r.length===0&&s(l);let t=Number.parseInt(e[1],10),n=e[2]?e[3]?Number.parseInt(e[3],10):1/0:t;l+=e[0].length,r.push({type:$.REPETITION,min:t,max:n,value:r.pop()})}else r.push({type:$.CHAR,value:123});break}case`?`:r.length===0&&s(l),r.push({type:$.REPETITION,min:0,max:1,value:r.pop()});break;case`+`:r.length===0&&s(l),r.push({type:$.REPETITION,min:1,max:1/0,value:r.pop()});break;case`*`:r.length===0&&s(l),r.push({type:$.REPETITION,min:0,max:1/0,value:r.pop()});break;default:r.push({type:$.CHAR,value:u.charCodeAt(0)})}if(i.length>0)throw SyntaxError(`Invalid regular expression: /${e}/: Unterminated group`);return ey(a,o),t}function Qv(e,t){let n,r=[],i=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(n=i.exec(e))!==null;){let e=null,[,t,a,o,s,c,l,u,d,f,p]=n;if(t||a||o||s||c||l?e=(()=>{let e={type:$.SET,set:[],not:!1};return t?e=Wv():a?e=Kv():o?e=Jv():s?e=Gv():c?e=qv():l&&(e=Yv()),e})():u&&p?e={type:$.RANGE,from:(d||f).charCodeAt(0),to:p.charCodeAt(p.length-1)}:n[16]&&(e={type:$.CHAR,value:n[16].charCodeAt(0)}),!e)return[r,i.lastIndex];r.push(e)}throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}function $v(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(e,t,n,r,i,a,o)=>{if(n)return e;let s;s=t?8:r?Number.parseInt(r,16):i?Number.parseInt(i,16):a?`@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?`.indexOf(a):{0:0,t:9,n:10,v:11,f:12,r:13}[o];let c=String.fromCharCode(s);return/[[\]{}^$.|?*+()]/.test(c)?`\\${c}`:c})}function ey(e,t){for(let n of e.reverse()){let e=n.reference.value;if(t<e){n.reference.type=$.CHAR;let t=e.toString();if(n.reference.value=Number.parseInt(t,8),!/^[0-7]+$/.test(t)){let e=0;for(;t[e]!==`8`&&t[e]!==`9`&&e<t.length;)e+=1;if(e===0?(n.reference.value=t.charCodeAt(0),e+=1):n.reference.value=Number.parseInt(t.slice(0,e),8),t.length>e){let r=n.stack.splice(n.index+1);for(let r of t.slice(e))n.stack.push({type:$.CHAR,value:r.charCodeAt(0)});n.stack.push(...r)}}}}}function ty(e,t){if(!ny(e))return{isError:!0,regExp:null};try{let n=new RegExp(e,t?`ug`:`u`);return ry(n)?{isError:!1,regExp:n}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function ny(e){return!(/\(\?<=.*?\)/g.test(e)&&!/\[.*?(\?<=.*?)\]/g.test(e)||/\(\?<!.*?\)/g.test(e)&&!/\[.*?(\?<!.*?)\]/g.test(e))}function ry(e,t){var n;let r=(n=t==null?void 0:t.limit)==null?25:n,i;Object.prototype.toString.call(e)===`[object RegExp]`?i=e.source:e&&typeof e!=`string`&&(i=`${e}`);let a;try{a=Zv(i)}catch{return!1}let o=0,s=(e,t)=>{let n=t;if(e.type===$.REPETITION){if(t>0&&(e.min===0||e.max===1/0)||iy(e)&&(o++,o>r))return!1;n=t+1}if(e.options){for(let t of e.options)if(!s({stack:t},n))return!1}let i=e.stack||e.value&&e.value.stack;if(!i)return!0;for(let e of i)if(!s(e,n))return!1;return!0};return s(a,0)}function iy(e){let t=e.stack||e.value&&e.value.stack;return t?ay(t):!1}function ay(e){for(let t of e){if(t.options&&t.options.length>0)return!0;let e=t.stack||t.value&&t.value.stack;if(e&&ay(e))return!0}return!1}var oy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=ys(e,t);if(n)return r;let[a,o]=i,s=a.getValue();a.isNull()&&(s=``),a.isBoolean()&&(s=s?`TRUE`:`FALSE`),s=`${s}`;let c=o.getValue();o.isNull()&&(c=``),o.isBoolean()&&(c=c?`TRUE`:`FALSE`),c=`${c}`;let{isError:l,regExp:u}=ty(c,!1);if(l)return j.create(D.REF);let d=s.match(u);if(d===null)return j.create(D.NA);if(d.length>1){let e=d.slice(1).map(e=>z.create(e));return e.length>1?B.create({calculateValueList:[e],rowCount:1,columnCount:e.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):e[0]}return z.create(d[0])}},sy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=ys(e,t);if(n)return r;let[a,o]=i,s=a.getValue();a.isNull()&&(s=``),a.isBoolean()&&(s=s?`TRUE`:`FALSE`),s=`${s}`;let c=o.getValue();o.isNull()&&(c=``),o.isBoolean()&&(c=c?`TRUE`:`FALSE`),c=`${c}`;let{isError:l,regExp:u}=ty(c,!1);return l?j.create(D.REF):s.match(u)===null?L.create(!1):L.create(!0)}},cy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=ys(e,t,n);if(r)return i;let[o,s,c]=a,l=o.getValue();o.isNull()&&(l=``),o.isBoolean()&&(l=l?`TRUE`:`FALSE`),l=`${l}`;let u=s.getValue();s.isNull()&&(u=``),s.isBoolean()&&(u=u?`TRUE`:`FALSE`),u=`${u}`;let d=c.getValue();c.isNull()&&(d=``),c.isBoolean()&&(d=d?`TRUE`:`FALSE`),d=`${d}`;let{isError:f,regExp:p}=ty(u,!0);if(f)return j.create(D.REF);let m=l.replace(p,d);return z.create(m)}},ly=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);let d=gv(e),f=gv(r),p=d.substring(0,l-1)+f+d.substring(l-1+u);return z.create(p)}},uy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);let d=gv(e),f=gv(r),p=d.substring(0,l-1);d=d.substring(l-1);let m=0,h=0;for(;h<u&&m<d.length;)h+=yv(d,m),m++;return p+=f+d.substring(m),z.create(p)}},dy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;let i=e.getValue();if(e.isNull()&&(i=``),e.isBoolean()&&(i=i?`TRUE`:`FALSE`),i+=``,r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let o=Math.floor(+r.getValue());if(o<0||o>32767/i.length)return j.create(D.VALUE);let s=i.repeat(o);return z.create(s)});return n===1&&r===1?o.get(0,0):o}},fy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);if(s>=n.length)return z.create(n);let c=n.substring(n.length-s);return z.create(c)}},py=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);let c=n.length-1,l=0,u=``;for(;l<s&&c>=0;)l+=yv(n,c,`rtl`),u=n.charAt(c)+u,c--;return z.create(u)}},my=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e).toLocaleUpperCase(),i=gv(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);return u===-1?j.create(D.VALUE):R.create(u+1)}},hy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e).toLocaleUpperCase(),i=gv(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);if(u===-1)return j.create(D.VALUE);let d=vv(i.substring(0,u))+1;return R.create(d)}},gy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=r?V(i,a,r,j.create(D.NA)):void 0,u=o.mapValue((e,t,n)=>{let i=s.get(t,n),a=c.get(t,n),o=r?l.get(t,n):void 0;return e.isError()?e:i.isError()?i:a.isError()?a:o!=null&&o.isError()?o:o!=null&&o.isNull()||o!=null&&o.isBoolean()?j.create(D.VALUE):(o!=null&&o.isString()&&(o=o.convertToNumberObjectValue()),o!=null&&o.isError()?o:this._handleSingleObject(e,i,a,o))});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let i=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(n),s=r?Math.floor(+r.getValue()):void 0;if(r&&s<=0)return j.create(D.VALUE);if(a===``)return z.create(i);let c=``,l=0;for(let e=0;e<i.length;e++){let t=i.substr(e,a.length);if(t===a||t.length===a.length&&t.trim()===a.trim()){if(l++,l===s){c=i.substr(0,e)+o+i.substr(e+a.length);break}s===void 0&&(c+=o),e+=a.length-1}else s===void 0&&(c+=i[e])}return s&&l<s&&(c=i),z.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}},_y=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?z.create(``):e}},vy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t),o=i.map((e,t,n)=>{if(e.isError())return e;let r=a.get(t,n)||z.create(` `);if(r.isError())return r;if(r.isBoolean())return j.create(D.VALUE);if(e.isBoolean())return e;let i=e.getValue();if(e.isNull()&&(i=0),e.isString())if(w(i))i=Number(i);else{let e=le(`${i}`);e&&e.v!=null&&typeof e.v==`number`&&(i=e.v)}r.isNull()&&(r=z.create(` `));let o=`${r.getValue()}`,s=hv(o,i);return z.create(o===` `?s.trimEnd():s)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}},yy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?R.create(1):n;s.isNull()&&(o=!0,s=R.create(1));let c=!r,l=r==null?R.create(0):r,u=i==null?R.create(0):i,d=a==null?j.create(D.NA):a,f=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,d.isArray()?d.getRowCount():1),p=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,d.isArray()?d.getColumnCount():1),m=V(f,p,e,j.create(D.NA)),h=V(f,p,s,j.create(D.NA)),g=V(f,p,l,j.create(D.NA)),_=V(f,p,u,j.create(D.NA)),v=V(f,p,d,j.create(D.NA)),y=this._getResultArray(m,t,h,g,_,v,o,c);return f===1&&p===1?y.get(0,0):y}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=n.get(c,l),d=r.get(c,l),f=i.get(c,l),p=a.get(c,l),m=this._checkVariantsError(e,u,d,f);if(m.isError())return m;let h=this._getStringValue(e),g=this._getDelimiterValue(t);if(g instanceof j)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof j)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?j.create(D.VALUE):g.includes(``)?v>0?z.create(h):z.create(``):!o&&Math.abs(v)>h.length?j.create(D.VALUE):g.every(e=>e.length>h.length)?j.create(D.NA):this._getResult(h,g,v,y,b,p,s)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);if(e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;t.push(this._getStringValue(i))}),n)return r}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=Math.floor(+r.getValue());t.push(i)}return t}_getResult(e,t,n,r,i,a,o){let s=r?e.toLocaleLowerCase():e,c=r?t.map(e=>e.toLocaleLowerCase()):t,l=0,u=0,d=0;for(let e=0;e<Math.abs(n);e++)if(n<0){let e=c.map(e=>({index:s.lastIndexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>t.index-e.index)[0];if(!e)break;l=e.index,s=s.substr(0,e.index),d=e.length,u++}else{let e=c.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>e.index-t.index)[0];if(!e)break;l+=e.index+d,s=s.substr(e.index+e.length),d=e.length,u++}if(u&&u<Math.abs(n)&&o)return j.create(D.NA);if(!u||u<Math.abs(n))return i?n>0?z.create(``):z.create(e):a;let f=e.substr(l+d);return z.create(f)}},by=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?R.create(1):n;s.isNull()&&(o=!0,s=R.create(1));let c=!r,l=r==null?R.create(0):r,u=i==null?R.create(0):i,d=a==null?j.create(D.NA):a,f=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,d.isArray()?d.getRowCount():1),p=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,d.isArray()?d.getColumnCount():1),m=V(f,p,e,j.create(D.NA)),h=V(f,p,s,j.create(D.NA)),g=V(f,p,l,j.create(D.NA)),_=V(f,p,u,j.create(D.NA)),v=V(f,p,d,j.create(D.NA)),y=this._getResultArray(m,t,h,g,_,v,o,c);return f===1&&p===1?y.get(0,0):y}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=n.get(c,l),d=r.get(c,l),f=i.get(c,l),p=a.get(c,l),m=this._checkVariantsError(e,u,d,f);if(m.isError())return m;let h=this._getStringValue(e),g=this._getDelimiterValue(t);if(g instanceof j)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof j)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?j.create(D.VALUE):g.includes(``)?v>0?z.create(``):z.create(h):!o&&Math.abs(v)>h.length?j.create(D.VALUE):g.every(e=>e.length>h.length)?j.create(D.NA):this._getResult(h,g,v,y,b,p,s)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);if(e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;t.push(this._getStringValue(i))}),n)return r}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=Math.floor(+r.getValue());t.push(i)}return t}_getResult(e,t,n,r,i,a,o){let s=r?e.toLocaleLowerCase():e,c=r?t.map(e=>e.toLocaleLowerCase()):t,l=0,u=0,d=0;for(let e=0;e<Math.abs(n);e++)if(n<0){let e=c.map(e=>({index:s.lastIndexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>t.index-e.index)[0];if(!e)break;l=e.index,s=s.substr(0,e.index),u++}else{let e=c.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>e.index-t.index)[0];if(!e)break;l+=e.index+d,s=s.substr(e.index+e.length),d=e.length,u++}if(u&&u<Math.abs(n)&&o)return j.create(D.NA);if(!u||u<Math.abs(n))return i?n>0?z.create(e):z.create(``):a;let f=e.substr(0,l);return z.create(f)}},xy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255)}calculate(e,t,...n){let r=this._getDelimiterValues(e),i=this._getTextValues(n);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e,i));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}let a=t;if(a.isString()){let e=`${a.getValue()}`.toLocaleUpperCase();if(e===`TRUE`)return this._handleSingleObject(r,L.create(!0),i);if(e===`FALSE`)return this._handleSingleObject(r,L.create(!1),i)}return this._handleSingleObject(r,t,i)}_handleSingleObject(e,t,n){if(e instanceof j)return e;let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;if(n instanceof j)return n;let[o]=a,s=+o.getValue(),c=n;s&&(c=n.filter(e=>e!==null&&e!==``));let l=``;for(let t=0;t<c.length;t++)c[t]!==null&&(l+=c[t]),t<c.length-1&&(l+=e[t%e.length]);return z.create(l)}_getDelimiterValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;let a=`${r.getValue()}`;r.isNull()&&(a=``),r.isBoolean()&&(a=a.toLocaleUpperCase()),t.push(a)}return t}_getTextValues(e){let t=[];for(let n of e){let e=n.isArray()?n.getRowCount():1,r=n.isArray()?n.getColumnCount():1;for(let i=0;i<e;i++)for(let e=0;e<r;e++){let r=n.isArray()?n.get(i,e):n;if(r.isError())return r;if(r.isNull()){t.push(null);continue}let a=`${r.getValue()}`;r.isBoolean()&&(a=a.toLocaleUpperCase()),t.push(a)}}return t}},Sy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=n==null?z.create(`\\s`):n,s=r==null?R.create(0):r,c=i==null?R.create(0):i,l=a==null?z.create(D.NA):a,{_variant:u,values:d}=this._getStringValues(t),{_variant:f,values:p}=this._getStringValues(o,!1);o=f;let m=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),h=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),g=V(m,h,e,j.create(D.NA)),_=V(m,h,s,j.create(D.NA)),v=V(m,h,c,j.create(D.NA)),y=this._getResultArray(g,u,o,_,v,l,d,p);return m===1&&h===1?y.get(0,0):y.map(e=>e.get(0,0))}_getStringValues(e,t=!0){let n=e,r=[];if(n.isArray())n.iterator(e=>{if(e!=null&&e.isError())return n=e,!1;if(e!=null&&e.isNull()&&t)return n=j.create(D.VALUE),!1;let i=this._getRegExpStringValue(e);if(i===``)return n=j.create(D.VALUE),!1;r.push(i)});else{n.isNull()&&t&&(n=j.create(D.VALUE));let e=this._getRegExpStringValue(n);e===``&&(n=j.create(D.VALUE)),r.push(e)}return{_variant:n,values:r}}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=r.get(c,l),d=i.get(c,l),f=this._checkVariantsError(e,t,n,u,d);if(f.isError())return f;if(e.isNull())return j.create(D.VALUE);let p=a;if(p.isArray()){let e=p.getRowCount(),t=p.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);p=p.get(0,0)}let m=`${e.getValue()}`;if(e.isBoolean()&&(m=m.toLocaleUpperCase()),u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()))return u;let h=Math.floor(+u.getValue());if(d.isString()&&(d=d.convertToNumberObjectValue(),d.isError()))return d;let g=Math.floor(+d.getValue());if(g<0||g>1)return j.create(D.VALUE);let _=`${p.getValue()}`;return p.isBoolean()&&(_=_.toLocaleUpperCase()),this._getResult(m,o,s,h,g,_)})}_getResult(e,t,n,r,i,a){let o=new RegExp(n.join(`|`),`g${i?`i`:``}`),s=new RegExp(t.join(`|`),`g${i?`i`:``}`),c=e.split(o),l=1,u=c.map(e=>{let t=e.split(s);return r&&(t=t.filter(e=>e!==``)),l=Math.max(l,t.length),t});return u=u.map(e=>{let t=e;return t.length<l&&(t=t.concat(Array(l-t.length).fill(a))),t}),B.createByArray(u)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.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,`\\$&`)}},Cy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g,` `),z.create(t)}};const wy=Object.values(o).filter(e=>[o.TABLE_START,o.TABLE_ROW_START,o.TABLE_CELL_START,o.TABLE_CELL_END,o.TABLE_ROW_END,o.TABLE_END,o.CUSTOM_BLOCK].includes(e));var Ty=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<1||a>1114111)return j.create(D.VALUE);if(a===1114111||a===1114110)return j.create(D.NA);let o=String.fromCharCode(a);return wy.some(e=>e===o)&&(o=``),z.create(o)}},Ey=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 j.create(D.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());let n=t.charCodeAt(0);return R.create(n)}},Dy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`.toLocaleUpperCase();return z.create(t)}},Oy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 j.create(D.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;let n=+t.getValue();return R.create(n)}},ky=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i,o=Math.floor(+a.getValue());if(o<0||o>1)return j.create(D.VALUE);if(e.isNull())return z.create(``);if(e.isBoolean())return e;if(e.isNumber())return R.create(e.getValue());let s=o?`"${e.getValue()}"`:`${e.getValue()}`;return z.create(s)}};const Ay=[[iv,J.ASC],[rv,J.ARRAYTOTEXT],[av,J.BAHTTEXT],[sv,J.CHAR],[cv,J.CLEAN],[lv,J.CODE],[uv,J.CONCAT],[dv,J.CONCATENATE],[fv,J.DBCS],[pv,J.DOLLAR],[mv,J.EXACT],[_v,J.FIND],[wv,J.FINDB],[Tv,J.FIXED],[Ev,J.LEFT],[Dv,J.LEFTB],[Ov,J.LEN],[kv,J.LENB],[Av,J.LOWER],[jv,J.MID],[Mv,J.MIDB],[Rv,J.NUMBERSTRING],[zv,J.NUMBERVALUE],[oy,J.REGEXEXTRACT],[sy,J.REGEXMATCH],[cy,J.REGEXREPLACE],[Bv,J.PROPER],[ly,J.REPLACE],[uy,J.REPLACEB],[dy,J.REPT],[fy,J.RIGHT],[py,J.RIGHTB],[my,J.SEARCH],[hy,J.SEARCHB],[gy,J.SUBSTITUTE],[_y,J.T],[vy,J.TEXT],[yy,J.TEXTAFTER],[by,J.TEXTBEFORE],[xy,J.TEXTJOIN],[Sy,J.TEXTSPLIT],[Cy,J.TRIM],[Ty,J.UNICHAR],[Ey,J.UNICODE],[Dy,J.UPPER],[Oy,J.VALUE],[ky,J.VALUETOTEXT]],jy=[];let My=function(e){return e}({});function Ny(e){return e.map(e=>e.map(e=>typeof e==`number`?aa(e):e))}function Py(e,t=!1){if(e.isReferenceObject()){let n=e.toArrayValueObject().toValue();return t?Ny(n):n}else if(e.isArray()){let n=e.toValue();return t?Ny(n):n}else if(e.isNumber()){let n=e.getValue();return t?aa(n):n}return e.getValue()}const Fy=[[class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=gv(e),n=encodeURIComponent(t).replace(/[!~'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return z.create(n)}},ro.ENCODEURL]];var Iy=`@univerjs/engine-formula`,Ly=`0.18.0`,Ry=class extends s{constructor(...e){super(...e),E(this,`_allSubjects`,[]),E(this,`_computingStatus$`,new Se(!0)),E(this,`computingStatus$`,this._computingStatus$.pipe(De())),E(this,`_computingSubscription`,void 0)}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(e=>{e.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{let 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=Ee(this._allSubjects).pipe(ke(e=>e.every(e=>e))).subscribe(e=>this._computingStatus$.next(e))}};let zy=class extends s{constructor(e,t){super(),this._commandService=e,this._globalComputingSrv=t,E(this,`_computingCompleted$`,new Ce(e=>{this._commandService.onCommandExecuted(t=>{if(t.id!==wr.id)return;let n=t.params;if(n.stageInfo)return e.next(n.stageInfo.stage===Wa.IDLE||n.stageInfo.stage===Wa.CALCULATION_COMPLETED)})}).pipe(De(),Ae()));let n=new c,r=new Se(!0);n.add(this._globalComputingSrv.pushComputingStatusSubject(r)),n.add(this._computingCompleted$.subscribe(e=>r.next(e))),n.add(()=>r.complete()),this.disposeWithMe(n)}};zy=dr([P(0,l),P(1,f(Ry))],zy);let By=class extends s{constructor(e,t,n,r){super(),this._commandService=e,this._functionService=t,this._configService=n,this._dataSyncPrimaryController=r,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Pr,zn,Fr,yr,br,xr,Sr,Ar,jr,Cr,wr,Tr,Mr,Nr,Er,Dr,Or,kr,hr,gr,_r,vr,Ir,Lr,Br,Vr,Hr,Rn].forEach(e=>{var t;this._commandService.registerCommand(e),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)})}_registerFunctions(){var e;let t=this._configService.getConfig(Ur),n=[...ws,...Kl,...ql,...mu,...Hu,...qd,..._p,...Vp,...sm,...Gm,...Cg,...jg,...nv,...Ay,...jy,...Fy].concat((e=t==null?void 0:t.function)==null?[]:e).map(e=>{let t=e[0],n=e[1];return new t(n)});this._functionService.registerExecutors(...n)}};By=dr([P(0,l),P(1,uo),P(2,u),P(3,x(Me))],By);let Vy=class extends s{constructor(e,t,n){super(),this._commandService=e,this._dependencyManagerService=t,this._featureCalculationManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(e=>{let{unitId:t,subUnitId:n,featureIds:r}=e;this._dependencyManagerService.removeFeatureFormulaDependency(t,n,r)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===vr.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,i,n)}else if(e.id===_r.id){let t=e.params;if(t==null)return;let{featureId:n,calculationParam:r}=t,{unitId:i,subUnitId:a}=r;this._dependencyManagerService.removeFeatureFormulaDependency(i,a,[n])}else if(e.id===Lr.id){let t=e.params;if(t==null)return;this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,t.formulaIdList)}else if(e.id===Ir.id){let t=e.params;if(t==null)return;let n=t.formulaMap,r=[];Object.keys(n).forEach(e=>{r.push(e)}),this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,r)}else if(e.id===Pr.id){let t=e.params.formulaData;Object.keys(t).forEach(e=>{let n=t[e];if(n!==void 0){if(n===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(n).forEach(t=>{let r=n[t];if(r!==void 0){if(r===null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new b(r).forValue((n,r)=>{this._dependencyManagerService.removeFormulaDependency(e,t,n,r)})}})}})}else e.id===hr.id&&this._handleSetDefinedName(e)}))}_handleSetDefinedName(e){let t=e.params;if(t==null)return;let{unitId:n,name:r}=t;this._dependencyManagerService.removeFormulaDependencyByDefinedName(n,r)}};Vy=dr([P(0,l),P(1,Xo),P(1,Jo),P(2,Xo)],Vy);let Hy=class extends s{constructor(e,t){super(),this._commandService=e,this._featureCalculationManagerService=t,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===_r.id){let t=e.params;if(t==null)return;let{featureId:n,calculationParam:r}=t,{unitId:i,subUnitId:a}=r;this._featureCalculationManagerService.register(i,a,n,r)}else if(e.id===vr.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._featureCalculationManagerService.remove(r,i,n)}}))}};Hy=dr([P(0,l),P(1,Xo)],Hy);let Uy=class extends s{constructor(e,t,n){super(),this._commandService=e,this._otherFormulaManagerService=t,this._dependencyManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Ir.id){let t=e.params;if(t==null)return;let n={[t.unitId]:{[t.subUnitId]:t.formulaMap}};this._otherFormulaManagerService.batchRegister(n)}else if(e.id===Lr.id){let t=e.params;if(t==null)return;let n={};t.formulaIdList.forEach(e=>n[e]=!0);let r={[t.unitId]:{[t.subUnitId]:n}};this._otherFormulaManagerService.batchRemove(r)}}))}};Uy=dr([P(0,l),P(1,Qo),P(2,Jo)],Uy);var Wy=class extends s{constructor(...e){super(...e),E(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 Gy=se(`univer.formula.active-dirty-manager.service`);let Ky=function(e){return e[e.NOT_REGISTER=1]=`NOT_REGISTER`,e[e.SUCCESS=2]=`SUCCESS`,e[e.WAIT=3]=`WAIT`,e[e.ERROR=4]=`ERROR`,e}({}),qy=function(e){return e.DEFAULT=`default`,e.DATA_VALIDATION=`dv`,e.DATA_VALIDATION_CUSTOM=`dv-custom`,e.CONDITIONAL_FORMATTING=`cf`,e.DOC=`doc`,e.SLIDE=`slide`,e}({}),Jy=class extends s{constructor(e,t,n){super(),this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=n,E(this,`_formulaCacheMap`,new Map),E(this,`_formulaChangeWithRange$`,new we),E(this,`formulaChangeWithRange$`,this._formulaChangeWithRange$.asObservable()),E(this,`_formulaResult$`,new we),E(this,`formulaResult$`,this._formulaResult$.asObservable()),E(this,`calculateStarted$`,new Se(!1)),this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let n=this._formulaCacheMap.get(e);n||(n=new Map,this._formulaCacheMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_createFormulaId(e,t,n,r){return`formula.${e}_${t}_${n}_${r}_${ce(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Ln.id,{commandId:Ln.id,getDirtyData(e){return{dirtyUnitOtherFormulaMap:e.params}}});let e=e=>{let{unitId:t,subUnitId:n,formulaText:r,formulaId:i,ranges:a}=e;if(!this._ensureCacheMap(t,n).has(i))return;let o={unitId:t,subUnitId:n,formulaMap:{[i]:{f:r,ranges:a}}};this._commandService.executeCommand(Ir.id,o,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Ln.id,{[t]:{[n]:{[i]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe(Te(()=>this.calculateStarted$.pipe(Oe(e=>e)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Tr.id){let{unitOtherData:t}=e.params,n={};for(let e in t){let r=t[e],i={};n[e]=i;for(let t in r){let n=this._ensureCacheMap(e,t),a=r[t],o=[];i[t]=o;for(let e in a){let t=a[e];if(n.has(e)){let r=n.get(e);if(!r)continue;r.result||(r.result={});let i=new b(t),a=new b(r.result);i.forValue((e,t,n)=>{a.setValue(e,t,n)}),r.status=Ky.SUCCESS,r.callbacks.forEach(e=>{e(t)}),r.callbacks.clear(),o.push(r)}}}}this._formulaResult$.next(n)}}))}registerFormulaWithRange(e,t,n,r=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],i,a=qy.DEFAULT,o=``){let s=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(s,{result:void 0,status:Ky.WAIT,formulaId:s,callbacks:new Set,extra:i}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:n,formulaId:s,ranges:r}),s}deleteFormula(e,t,n){let r={unitId:e,subUnitId:t,formulaIdList:n};this._commandService.executeCommand(Lr.id,r,{onlyLocal:!0});let i=this._ensureCacheMap(e,t);n.forEach(e=>i.delete(e))}getFormulaValue(e,t,n){let r=this._ensureCacheMap(e,t),i=r.get(n);return i?i.status===Ky.SUCCESS||i.status===Ky.ERROR?Promise.resolve(i):new Promise(e=>{i.callbacks.add(()=>{e(r.get(n))})}):Promise.resolve(null)}getFormulaValueSync(e,t,n){return this._ensureCacheMap(e,t).get(n)}markFormulaDirty(e,t,n){let r=this.getFormulaValueSync(e,t,n);r&&(r.status=Ky.WAIT,this._commandService.executeCommand(Ln.id,{[e]:{[t]:{[n]:!0}}},{onlyLocal:!0}))}};Jy=dr([P(0,l),P(1,Gy),P(2,f(h))],Jy);let Yy=class extends S{constructor(e=Kr,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=he({},Kr,this._config);this._configService.setConfig(Ur,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var e;xe(this._injector,[[By]]),(e=this._config)!=null&&e.notExecuteFormula||xe(this._injector,[[Uy],[Hy],[Vy],[ds]])}onRendered(){var e;(e=this._config)!=null&&e.notExecuteFormula||xe(this._injector,[[ls],[os]])}_initialize(){let e=!this._config.notExecuteFormula,t=[[uo,{useClass:fo}],[pr,{useClass:fr}],[Gy,{useClass:Wy}],[Jy],[Ua,{useClass:Ha}],[ui,{useClass:li}],[zr,{useClass:Rr}],[Ry],[ai],[By],[zy]];e&&t.push([Qo,{useClass:Zo}],[qa,{useClass:Ka}],[fi,{useClass:di}],[Xo,{useClass:Yo}],[ds],[Uy],[Vy],[Hy],[bo],[Go],[pi],[$a],[yo],[ko],[Mo],[Fo],[ho],[Ro],[Bo],[Ho],[Wo]),t.forEach(e=>this._injector.add(e))}_initializeWithOverride(){var e;this._injector.add([ni,{useClass:ni}]),(e=this._config)!=null&&e.notExecuteFormula||[[ls,{useClass:us}],[Jo,{useClass:qo}],[os,{useClass:ss}]].forEach(e=>this._injector.add(e))}};E(Yy,`pluginName`,`UNIVER_ENGINE_FORMULA_PLUGIN`),E(Yy,`packageName`,Iy),E(Yy,`version`,Ly),Yy=dr([P(1,f(p)),P(2,u)],Yy);export{Wy as ActiveDirtyManagerService,B as ArrayValueObject,$a as AstRootNodeFactory,Go as AstTreeBuilder,xa as AsyncArrayObject,Xl as AsyncCustomFunction,ba as AsyncObject,Z as BaseFunction,ya as BaseReferenceObject,Xe as BaseValueObject,Ne as BooleanValue,L as BooleanValueObject,ds as CalculateController,us as CalculateFormulaService,Yl as CustomFunction,cs as DEFAULT_INTERVAL_COUNT,Fn as DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME,Pn as DEFAULT_TOKEN_LET_FUNCTION_NAME,Mn as DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER,An as DEFAULT_TOKEN_TYPE_PARAMETER,jn as DEFAULT_TOKEN_TYPE_ROOT,fr as DefinedNamesService,Ko as DependencyManagerBaseService,qo as DependencyManagerService,Wr as ENGINE_FORMULA_CYCLE_REFERENCE_COUNT,Ur as ENGINE_FORMULA_PLUGIN_CONFIG_KEY,Gr as ENGINE_FORMULA_RETURN_DEPENDENCY_TREE,Ve as ERROR_TYPE_SET,D as ErrorType,j as ErrorValueObject,Cs as FUNCTION_NAMES_ARRAY,zl as FUNCTION_NAMES_COMPATIBILITY,Jl as FUNCTION_NAMES_CUBE,pu as FUNCTION_NAMES_DATABASE,eo as FUNCTION_NAMES_DATE,U as FUNCTION_NAMES_ENGINEERING,W as FUNCTION_NAMES_FINANCIAL,to as FUNCTION_NAMES_INFORMATION,no as FUNCTION_NAMES_LOGICAL,G as FUNCTION_NAMES_LOOKUP,K as FUNCTION_NAMES_MATH,q as FUNCTION_NAMES_STATISTICAL,J as FUNCTION_NAMES_TEXT,My as FUNCTION_NAMES_UNIVER,ro as FUNCTION_NAMES_WEB,Yo as FeatureCalculationManagerService,di as FormulaCurrentConfigService,ai as FormulaDataModel,ss as FormulaDependencyGenerator,rs as FormulaDependencyTree,is as FormulaDependencyTreeModel,es as FormulaDependencyTreeType,ns as FormulaDependencyTreeVirtual,Wa as FormulaExecuteStageType,Ga as FormulaExecutedStateType,Ky as FormulaResultStatus,Ka as FormulaRuntimeService,yo as FunctionNodeFactory,fo as FunctionService,Dt as FunctionType,Ry as GlobalComputingStatusService,Ha as HyperlinkEngineFormulaService,Gy as IActiveDirtyManagerService,ls as ICalculateFormulaService,pr as IDefinedNamesService,Jo as IDependencyManagerService,Xo as IFeatureCalculationManagerService,fi as IFormulaCurrentConfigService,os as IFormulaDependencyGenerator,qa as IFormulaRuntimeService,uo as IFunctionService,Ua as IHyperlinkEngineFormulaService,Qo as IOtherFormulaManagerService,ui as ISheetRowFilteredService,zr as ISuperTableService,bo as Interpreter,ko as LambdaNodeFactory,Mo as LambdaParameterNodeFactory,Do as LambdaValueObjectObject,pi as Lexer,F as LexerNode,ni as LexerTreeBuilder,Mg as NEW_EXCEL_FUNCTIONS,I as NullValueObject,R as NumberValueObject,Ge as OPERATOR_TOKEN_SET,Fo as OperatorNodeFactory,qy as OtherFormulaBizType,Zo as OtherFormulaManagerService,Ln as OtherFormulaMarkDirty,ho as PrefixNodeFactory,Sa as RangeReferenceObject,Ro as ReferenceNodeFactory,Rn as RegisterFunctionMutation,Jy as RegisterOtherFormulaService,gr as RemoveDefinedNameMutation,vr as RemoveFeatureCalculationMutation,Lr as RemoveOtherFormulaMutation,Vr as RemoveSuperTableMutation,Je as SUFFIX_TOKEN_SET,zn as SetArrayFormulaDataMutation,Or as SetCellFormulaDependencyCalculationMutation,kr as SetCellFormulaDependencyCalculationResultMutation,hr as SetDefinedNameMutation,mr as SetDefinedNameMutationFactory,_r as SetFeatureCalculationMutation,wr as SetFormulaCalculationNotificationMutation,Tr as SetFormulaCalculationResultMutation,yr as SetFormulaCalculationStartMutation,Cr as SetFormulaCalculationStopMutation,Pr as SetFormulaDataMutation,Er as SetFormulaDependencyCalculationMutation,Dr as SetFormulaDependencyCalculationResultMutation,xr as SetFormulaStringBatchCalculationMutation,Sr as SetFormulaStringBatchCalculationResultMutation,Fr as SetImageFormulaDataMutation,Ir as SetOtherFormulaMutation,Mr as SetQueryFormulaDependencyAllMutation,Nr as SetQueryFormulaDependencyAllResultMutation,Ar as SetQueryFormulaDependencyMutation,jr as SetQueryFormulaDependencyResultMutation,Br as SetSuperTableMutation,Hr as SetSuperTableOptionMutation,br as SetTriggerFormulaCalculationStartMutation,li as SheetRowFilteredService,z as StringValueObject,Bo as SuffixNodeFactory,Rr as SuperTableService,Ho as UnionNodeFactory,Yy as UniverFormulaEnginePlugin,Wo as ValueNodeFactory,ga as ValueObjectFactory,k as compareToken,On as convertUnitDataToRuntime,hs as deserializeRangeForR1C1,Zn as deserializeRangeWithSheet,Jr as deserializeRangeWithSheetWithCache,et as excelDateSerial,gi as extractFormulaError,ws as functionArray,Kl as functionCompatibility,ql as functionCube,mu as functionDatabase,Hu as functionDate,qd as functionEngineering,_p as functionFinancial,Vp as functionInformation,sm as functionLogical,Gm as functionLookup,Cg as functionMath,jg as functionMeta,nv as functionStatistical,Ay as functionText,jy as functionUniver,Fy as functionWeb,so as generateAstNode,To as generateExecuteAstNodeData,as as generateRandomDependencyTreeId,Zr as generateStringWithSequence,Un as getAbsoluteRefTypeWitString,Hn as getAbsoluteRefTypeWithSingleString,Py as getObjectValue,tr as getRangeWithRefsString,ki as handleNumfmtInCell,Xn as handleRefStringInfo,At as includeFormulaLexerToken,oi as initSheetFormulaData,kt as isFormulaLexerToken,Et as isInDirtyRange,Dn as isReferenceString,$n as isReferenceStringWithEffectiveColumn,nr as isReferenceStrings,Mt as matchRefDrawToken,A as matchToken,rr as needsQuoting,jt as normalizeSheetName,O as operatorToken,Ye as prefixToken,ar as quoteSheetName,Xr as sequenceNodeType,Gn as serializeRange,Jn as serializeRangeToRefString,Kn as serializeRangeWithSheet,qn as serializeRangeWithSpreadsheet,Yn as singleReferenceToGrid,ur as splitTableStructuredRef,ra as strip,aa as stripErrorMargin,or as unquoteSheetName};
1
+ import{AbsoluteRefType as e,AsyncLock as t,BooleanNumber as n,BuildTextUtils as r,CellValueType as i,CommandType as a,DataStreamTreeTokenType as o,Disposable as s,DisposableCollection as c,ICommandService as l,IConfigService as u,IUniverInstanceService as d,Inject as f,Injector as p,LRUMap as m,LifecycleService as h,LocaleService as g,LocaleType as _,MAX_COLUMN_COUNT as v,MAX_ROW_COUNT as y,ObjectMatrix as b,Optional as x,Plugin as S,RANGE_TYPE as C,RTree as ee,Rectangle as te,RichTextBuilder as ne,Tools as re,UniverInstanceType as ie,cellToRange as ae,columnLabelToNumber as oe,createIdentifier as se,generateRandomId as ce,getNumfmtParseValueFilter as le,hashAlgorithm as ue,isFormulaId as de,isFormulaString as fe,isRealNum as w,isTextFormat as pe,isValidRange as me,merge as he,moveRangeByOffset as ge,numfmt as _e,requestImmediateMacroTask as ve,sortRules as ye,toDisposable as be,touchDependencies as xe}from"@univerjs/core";import{BehaviorSubject as Se,Observable as Ce,Subject as we,bufferWhen as Te,combineLatest as Ee,distinctUntilChanged as De,filter as Oe,map as ke,shareReplay as Ae}from"rxjs";import je from"@flatten-js/interval-tree";import T from"decimal.js";import{DataSyncPrimaryController as Me}from"@univerjs/rpc";let Ne=function(e){return e.FALSE=`FALSE`,e.TRUE=`TRUE`,e}({}),Pe=function(e){return e[e.SUCCESS=0]=`SUCCESS`,e[e.ERROR=1]=`ERROR`,e}({}),Fe=function(e){return e.ALL=`#All`,e.DATA=`#Data`,e.HEADERS=`#Headers`,e.TOTALS=`#Totals`,e.THIS_ROW=`#This Row`,e}({}),Ie=function(e){return e[e.FRONT=0]=`FRONT`,e[e.BACK=1]=`BACK`,e}({});function Le(e){"@babel/helpers - typeof";return Le=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Le(e)}function Re(e,t){if(Le(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Le(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ze(e){var t=Re(e,`string`);return Le(t)==`symbol`?t:t+``}function E(e,t,n){return(t=ze(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Be=class{constructor(e){E(this,`_cache`,void 0),this._cache=new m(e)}set(e,t){let n=this._hash(e);this._cache.set(n,t)}get(e){let t=this._hash(e);return this._cache.get(t)}clear(){this._cache.clear()}delete(e){this._cache.delete(this._hash(e))}forEach(e,t){this._cache.forEach(e,t)}_hash(e){return e.length<=64?e:ue(e).toString()}};let D=function(e){return e.DIV_BY_ZERO=`#DIV/0!`,e.NAME=`#NAME?`,e.VALUE=`#VALUE!`,e.NUM=`#NUM!`,e.NA=`#N/A`,e.CYCLE=`#CYCLE!`,e.REF=`#REF!`,e.SPILL=`#SPILL!`,e.CALC=`#CALC!`,e.ERROR=`#ERROR!`,e.CONNECT=`#GETTING_DATA`,e.NULL=`#NULL!`,e}({});const Ve=new Set(Object.values(D)),He=[...new Set(Object.values(D).map(e=>e.length))];var Ue=class{constructor(){E(this,`pattern`,``)}dispose(){}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}};let O=function(e){return e.PLUS=`+`,e.MINUS=`-`,e.MULTIPLY=`*`,e.DIVIDED=`/`,e.CONCATENATE=`&`,e.POWER=`^`,e.EQUALS=`=`,e.NOT_EQUAL=`<>`,e.GREATER_THAN=`>`,e.GREATER_THAN_OR_EQUAL=`>=`,e.LESS_THAN=`<`,e.LESS_THAN_OR_EQUAL=`<=`,e}({}),k=function(e){return e.EQUALS=`=`,e.NOT_EQUAL=`<>`,e.GREATER_THAN=`>`,e.GREATER_THAN_OR_EQUAL=`>=`,e.LESS_THAN=`<`,e.LESS_THAN_OR_EQUAL=`<=`,e}({});const We=new Map([[O.NOT_EQUAL,4],[O.LESS_THAN,4],[O.GREATER_THAN_OR_EQUAL,4],[O.EQUALS,4],[O.GREATER_THAN,4],[O.LESS_THAN_OR_EQUAL,4],[O.CONCATENATE,3],[O.PLUS,2],[O.MINUS,2],[O.DIVIDED,1],[O.MULTIPLY,1],[O.POWER,0]]),Ge=new Set(We.keys()),Ke=new Set([O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN,O.GREATER_THAN_OR_EQUAL,O.LESS_THAN,O.LESS_THAN_OR_EQUAL]);let A=function(e){return e.OPEN_BRACKET=`(`,e.CLOSE_BRACKET=`)`,e.COMMA=`,`,e.SINGLE_QUOTATION=`'`,e.DOUBLE_QUOTATION=`"`,e.OPEN_BRACES=`{`,e.CLOSE_BRACES=`}`,e.COLON=`:`,e.OPEN_SQUARE_BRACKET=`[`,e.CLOSE_SQUARE_BRACKET=`]`,e}({}),qe=function(e){return e.PERCENTAGE=`%`,e.POUND=`#`,e}({});const Je=new Set([qe.PERCENTAGE,qe.POUND]);let Ye=function(e){return e.AT=`@`,e.MINUS=`-`,e.PLUS=`+`,e}({});var Xe=class extends Ue{constructor(e){super(),this._rawValue=e,E(this,`_customData`,void 0)}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 j.create(D.VALUE)}max(){return j.create(D.VALUE)}min(){return j.create(D.VALUE)}count(){return j.create(D.VALUE)}countA(){return j.create(D.VALUE)}countBlank(){return j.create(D.VALUE)}getNegative(){return j.create(D.VALUE)}getReciprocal(){return j.create(D.VALUE)}plus(e){return j.create(D.VALUE)}minus(e){return j.create(D.VALUE)}multiply(e){return j.create(D.VALUE)}divided(e){return j.create(D.VALUE)}mod(e){return j.create(D.VALUE)}map(e){return j.create(D.NAME)}mapValue(e){return j.create(D.NAME)}compare(e,t,n=!1){return j.create(D.NAME)}isEqual(e){return this.compare(e,k.EQUALS)}isNotEqual(e){return this.compare(e,k.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,k.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,k.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,k.LESS_THAN)}isGreaterThan(e){return this.compare(e,k.GREATER_THAN)}concatenateFront(e){return j.create(D.NAME)}concatenateBack(e){return j.create(D.NAME)}plusBy(e){return j.create(D.VALUE)}minusBy(e){return j.create(D.VALUE)}multiplyBy(e){return j.create(D.VALUE)}dividedBy(e){return j.create(D.VALUE)}modInverse(e){return j.create(D.VALUE)}compareBy(e,t,n=!1){return j.create(D.NAME)}concatenate(e,t=Ie.FRONT){let n=this.getValue().toString();if(typeof e==`string`)t===Ie.FRONT?n=e+n:n+=e;else if(typeof e==`number`)t===Ie.FRONT?n=e.toString()+n:n+=e.toString();else if(typeof e==`boolean`){let r=e?`TRUE`:`FALSE`;t===Ie.FRONT?n=r+n:n+=r}return n}pow(e){return j.create(D.VALUE)}powInverse(e){return j.create(D.VALUE)}sqrt(){return j.create(D.VALUE)}cbrt(){return j.create(D.VALUE)}cos(){return j.create(D.VALUE)}cosh(){return j.create(D.VALUE)}acos(){return j.create(D.VALUE)}acosh(){return j.create(D.VALUE)}sin(){return j.create(D.VALUE)}sinh(){return j.create(D.VALUE)}asin(){return j.create(D.VALUE)}asinh(){return j.create(D.VALUE)}tan(){return j.create(D.VALUE)}tanh(){return j.create(D.VALUE)}atan(){return j.create(D.VALUE)}atan2(e){return j.create(D.VALUE)}atan2Inverse(e){return j.create(D.VALUE)}atanh(){return j.create(D.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return j.create(D.VALUE)}log10(){return j.create(D.VALUE)}exp(){return j.create(D.VALUE)}abs(){return j.create(D.VALUE)}round(e){return j.create(D.VALUE)}roundInverse(e){return j.create(D.VALUE)}floor(e){return j.create(D.VALUE)}floorInverse(e){return j.create(D.VALUE)}ceil(e){return j.create(D.VALUE)}ceilInverse(e){return j.create(D.VALUE)}convertToNumberObjectValue(){return j.create(D.VALUE)}convertToBooleanObjectValue(){return j.create(D.VALUE)}};const Ze=new Be(1e3);var j=class e extends Xe{static create(t,n=``){let r=`${t}-${n}`,i=Ze.get(r);if(i)return i;let a=new e(t,n);return Ze.set(r,a),a}constructor(e,t=``){super(e),this._errorType=e,this._errorContent=t}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(e){return e.getErrorType()===this.getErrorType()}isError(){return!0}};const Qe=`yyyy/mm/dd;@`,$e=1440*60*1e3;function et(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),i=(r-t)/$e;return r>n&&(i+=1),Math.floor(i)+1}function tt(e){let t=Date.UTC(1900,0,1,0,0,0),n=Date.UTC(1900,1,28,0,0,0),r=Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),i=(r-t)/$e;return r>n&&(i+=1),i+1}function M(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Math.floor(e)-1;return r>(n-t)/$e&&--r,new Date(t+r*$e)}function nt(e){let t=Date.UTC(1900,0,1,0,0,0),n=Date.UTC(1900,1,28,0,0,0),r=e-1;return r>(n-t)/$e&&--r,r<0&&(r=e),new Date(t+r*$e)}function rt(e){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(e))return!1;let t=e.replace(/-/g,`/`).replace(/T.+/,``),n=new Date(`${t}`);if(Number.isNaN(n.getTime()))return!1;let r=`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,`0`)}-${n.getDate().toString().padStart(2,`0`)}`;return e.replace(/\//g,`-`).split(`-`).map(e=>e.padStart(2,`0`)).join(`-`)===r}function it(e){return _e.parseDate(e)}function at(e){return _e.parseTime(e)}function ot(e){return _e.getFormatInfo(e).isDate}const st={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 ct(e){return!!(typeof e==`string`&&/^[0|1]{7}/.test(e)||st[Number(e)])}function lt(e){if(!ct(e))return[];if(typeof e==`string`&&/^[0|1]{7}/.test(e)){let t=[];for(let n=1;n<=e.length;n++)`${e[n-1]}`==`1`&&(n===e.length?t.push(0):t.push(n));return t}return st[Number(e)]||[]}function ut(e,t,n=1,r){let i=lt(n),a=Math.floor(e),o=Math.floor(t),s=o>a?a:o,c=0,l=Math.abs(Math.floor(t)-Math.floor(e))+1;for(let e=0;e<l;e++){let t=s+e;if(r&&r.length>0&&r.some(e=>Math.floor(e)===t))continue;let n=ft(t);i.includes(n)||c++}return o>=a?c:-c}function dt(e,t,n=1,r){let i=lt(n),a=Math.floor(e),o=a,s=Math.abs(t);for(let e=1;e<=s;e++){let n=t<0?a-e:a+e;if(n<0)return j.create(D.NUM);if(r&&r.length>0&&r.some(e=>Math.floor(e)===n)){s++;continue}let c=ft(n);if(i.includes(c)){s++;continue}o=n}return o}function N(e){if(e.isError())return e;let t=e.getValue();if(e.isString()){let e;if(it(`${t}`))e=it(`${t}`).v;else if(at(`${t}`))e=at(`${t}`).v;else if(w(t))e=+t;else return j.create(D.VALUE);return e instanceof Date&&(e=tt(e)),+e<0||+e>2958465?j.create(D.NUM):+e}else{let t=+e.getValue();return t<0||t>2958465?j.create(D.NUM):t}}function ft(e){let t=Math.floor(e)===60,n=M(e),r=Date.UTC(1900,1,28),i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());return!t&&i<=r&&(n=new Date(i-$e)),n.getUTCDay()}function pt(e,t,n){switch(n){case 0:return mt(e,t);case 1:return ht(e,t);case 2:return{days:Math.abs(t-e),yearDays:360};case 3:return{days:Math.abs(t-e),yearDays:365};case 4:return gt(e,t);default:return{days:Math.abs(t-e),yearDays:365}}}function mt(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=M(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;i===2?M(e+1).getUTCMonth()+1===3&&(a=30):a===31&&(a=30),l===31&&(a<30?(o=M(t+1),s=o.getUTCFullYear(),c=o.getUTCMonth()+1,l=o.getUTCDate()):l=30);let u=(s-r)*360,d=t>=e?30-a:-a,f=t>=e?l:l-30,p=(t>=e?c-i-1:c-i+1)*30;return{days:Math.abs(u+d+f+p),yearDays:360}}function ht(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=M(t),a=t>0?i.getUTCFullYear():1900,o=Math.abs(t-e),s=Math.abs(a-r)+1,c,l;if(a<r){let e=new Date(Date.UTC(a,0,1)),t=new Date(Date.UTC(r,11,31));c=et(e),l=et(t),a===1900&&(c+=1)}else{let e=new Date(Date.UTC(r,0,1)),t=new Date(Date.UTC(a,11,31));c=et(e),l=et(t),r===1900&&(c+=1)}return{days:o,yearDays:(l-c+1)/s}}function gt(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=M(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;a===31&&(a=30),l===31&&(l=30);let u=(s-r)*360,d=t>=e?30-a:-a,f=t>=e?l:l-30,p=(t>=e?c-i-1:c-i+1)*30;return{days:Math.abs(u+d+f+p),yearDays:360}}function _t(e){return e%4==0&&e%100!=0||e%400==0}function vt(e){return e%4==0&&e%100!=0||e%400==0||e===1900}const yt=[31,29,31,30,31,30,31,31,30,31,30,31],bt=[31,28,31,30,31,30,31,31,30,31,30,31];function xt(e,t){return _t(e)?yt[t]:bt[t]}function St(e){return vt(e)?366:365}function Ct(e,t){switch(t){case 0:case 2:case 4:return 360;case 1:return St(M(e).getUTCFullYear());case 3:return 365;default:return-1}}function wt(e,t,n){return xt(e,t)===n}function Tt(e,t){let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return wt(n,r,i)?(e.setUTCDate(1),e.setUTCMonth(e.getUTCMonth()+t),n=e.getUTCFullYear(),r=e.getUTCMonth(),e.setUTCDate(xt(n,r))):e.setUTCMonth(e.getUTCMonth()+t),e}function Et(e,t,n,r,i){for(let a=0,o=e.length;a<o;a++){let o=e[a];if(t!==o.unitId||n!==o.sheetId)continue;let{startRow:s,startColumn:c,endRow:l,endColumn:u}=o.range;if(r>=s&&r<=l&&i>=c&&i<=u)return!0}return!1}let Dt=function(e){return e[e.Financial=0]=`Financial`,e[e.Date=1]=`Date`,e[e.Math=2]=`Math`,e[e.Statistical=3]=`Statistical`,e[e.Lookup=4]=`Lookup`,e[e.Database=5]=`Database`,e[e.Text=6]=`Text`,e[e.Logical=7]=`Logical`,e[e.Information=8]=`Information`,e[e.Engineering=9]=`Engineering`,e[e.Cube=10]=`Cube`,e[e.Compatibility=11]=`Compatibility`,e[e.Web=12]=`Web`,e[e.Array=13]=`Array`,e[e.Univer=14]=`Univer`,e[e.User=15]=`User`,e[e.DefinedName=16]=`DefinedName`,e[e.Table=17]=`Table`,e}({});const Ot=[...Object.values(k),...Object.values(O),...Object.values(A),...Object.values(qe),...Object.values(Ye)];function kt(e){return Ot.includes(e)}function At(e){for(let t of Ot)if(e.indexOf(t)>-1)return!0;return!1}function jt(e){return e[0]===`'`&&e[e.length-1]===`'`?e.substring(1,e.length-1):e}function Mt(e){return kt(e)&&e!==A.CLOSE_BRACES&&e!==A.CLOSE_BRACKET&&e!==A.SINGLE_QUOTATION&&e!==A.DOUBLE_QUOTATION||e===` `}const Nt=new Set([O.PLUS,O.MINUS,O.MULTIPLY,O.DIVIDED,O.CONCATENATE,O.POWER,O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN,O.GREATER_THAN_OR_EQUAL,O.LESS_THAN,O.LESS_THAN_OR_EQUAL,A.OPEN_BRACKET,A.COMMA,A.COLON,A.OPEN_BRACES,A.OPEN_SQUARE_BRACKET]);function Pt(e){return Nt.has(e)}const Ft=new Set([O.PLUS,O.MINUS,O.MULTIPLY,O.DIVIDED,O.CONCATENATE,O.POWER,O.EQUALS,O.NOT_EQUAL,O.GREATER_THAN,O.GREATER_THAN_OR_EQUAL,O.LESS_THAN,O.LESS_THAN_OR_EQUAL,A.OPEN_BRACKET,A.COMMA,A.COLON,A.OPEN_BRACES,A.OPEN_SQUARE_BRACKET,qe.PERCENTAGE,qe.POUND]);function It(e){return Ft.has(e)}const Lt=`\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]`,Rt=new RegExp(Lt),zt=`\\s*?:\\s*?`,Bt=`[A-Za-z]+`,Vt=`[1-9][0-9]*`,Ht=`'?(${Lt})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`,Ut=`\\\$?${Bt}\\\$?${Vt}`,Wt=`^(${Ye.AT})?${Ht}${Ut}${zt}${Ut}$`,Gt=new RegExp(Wt),Kt=`^${Ht}\\s*?${Ut}(${qe.POUND})?$`,qt=new RegExp(Kt),Jt=`^${Ht}\\\$?${Vt}${zt}\\\$?${Vt}$`,Yt=new RegExp(Jt),Xt=`^${Ht}\\\$?${Bt}${zt}\\\$?${Bt}$`,Zt=new RegExp(Xt),Qt=`^${Ht}\\s*?\\\$?${Vt}$`,$t=new RegExp(Qt),en=`^${Ht}\\s*?\\\$?${Bt}$`,tn=new RegExp(en),nn=`((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+`,rn=`\\[#.+\\]\\s*?,\\s*?`,an=`\\[((?<!#).)*\\]`,on=`${an}${zt}${an}`,sn=`^(${Lt})?${nn}$`,cn=`^(${Lt})?${nn}(${an}|\\[${rn}${an}\\])+$`,ln=`^(${Lt})?${nn}(\\[${on}\\])?$|^${nn}(\\[${rn}${on}\\])?$`,un=`^(${Lt})?${nn}\\[\\s*#([^\\]]+)\\s*\\]$`,dn=new RegExp(sn),fn=new RegExp(cn),pn=new RegExp(ln),mn=new RegExp(un),hn=RegExp(`{.*?}`,`g`);function gn(e){return qt.lastIndex=0,qt.test(e)}function _n(e){return Gt.lastIndex=0,Gt.test(e)}function vn(e){return Yt.lastIndex=0,Yt.test(e)}function yn(e){return Zt.lastIndex=0,Zt.test(e)}function bn(e){return $t.lastIndex=0,$t.test(e)}function xn(e){return tn.lastIndex=0,tn.test(e)}function Sn(e){return dn.lastIndex=0,dn.test(e)}function Cn(e){return fn.lastIndex=0,fn.test(e)}function wn(e){return pn.lastIndex=0,pn.test(e)}function Tn(e){return mn.lastIndex=0,mn.test(e)}function En(e){return hn.lastIndex=0,hn.test(e)}function Dn(e){return gn(e)||_n(e)||vn(e)||yn(e)}function On(e){let t={};return Object.keys(e).forEach(n=>{let r=e[n];if(r==null)return!0;t[n]==null&&(t[n]={}),Object.keys(r).forEach(e=>{let i=r[e];t[n][e]=new b(i)})}),t}function kn(e){let t={};for(let n in e){let r=e[n];if(r!=null){t[n]==null&&(t[n]={});for(let e in r){let i=r[e],a={};i.forValue((e,t,n)=>{a[e]===void 0&&(a[e]={}),a[e][t]=n}),t[n][e]=a}}}return t}const An=`P_1`,jn=`R_1`,Mn=`L_1`,Nn=`LO_1`,Pn=`LET`,Fn=`LAMBDA`,In=new Set([`RAND`,`RANDBETWEEN`,`NOW`,`TODAY`]),Ln={type:a.MUTATION,id:`sheet.mutation.data-validation-formula-mark-dirty`,handler(){return!0}},Rn={id:`formula.mutation.register-function`,type:a.MUTATION,handler:()=>!0},zn={id:`formula.mutation.set-array-formula-data`,type:a.MUTATION,handler:(e,t)=>!0},Bn=/[^0-9]/g,Vn=/[^A-Za-z]/g;function Hn(t){let n=t[0]===`$`,r=t.substring(1),i=r.indexOf(`$`)>-1;return re.isStringNumber(r)&&n&&!i&&(n=!1,i=!0),n&&i?e.ALL:n?e.COLUMN:i?e.ROW:e.NONE}function Un(e){let t=e.split(`!`);t.length>1&&(e=t[t.length-1]);let n=e.split(`:`);return n.length>1?{startAbsoluteRefType:Hn(n[0]),endAbsoluteRefType:Hn(n[1])}:{startAbsoluteRefType:Hn(n[0])}}function Wn(t=e.NONE){let n=``,r=``;return t===e.ROW?n=`$`:t===e.COLUMN?r=`$`:t===e.ALL&&(n=`$`,r=`$`),{rowAbsoluteString:n,columnAbsoluteString:r}}function Gn(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i,startAbsoluteRefType:a,endAbsoluteRefType:o,rangeType:s=C.NORMAL}=e,c=Wn(a),l=Wn(o);if(s===C.ROW||s===C.ALL)return`${`${c.rowAbsoluteString}${n+1}`}:${`${l.rowAbsoluteString}${i+1}`}`;if(s===C.COLUMN)return`${`${c.columnAbsoluteString}${re.chatAtABC(t)}`}:${`${l.columnAbsoluteString}${re.chatAtABC(r)}`}`;let u=`${c.columnAbsoluteString}${re.chatAtABC(t)}${c.rowAbsoluteString}${n+1}`,d=`${l.columnAbsoluteString}${re.chatAtABC(r)}${l.rowAbsoluteString}${i+1}`;return u===d?u:`${u}:${d}`}function Kn(e,t){return`${ir(e)}!${Gn(t)}`}function qn(e,t,n){return rr(e)||rr(t)?`'[${ar(e)}]${ar(t)}'!${Gn(n)}`:`[${e}]${t}!${Gn(n)}`}function Jn(e){let{unitId:t,sheetName:n,range:r}=e;return t!=null&&t.length>0&&n!=null&&n.length>0?qn(t,n,r):n!=null&&n.length>0?Kn(n,r):Gn(r)}function Yn(e){return{row:Number.parseInt(e.replace(Bn,``))-1,column:re.ABCatNum(e.replace(Vn,``)),absoluteRefType:Hn(e)}}function Xn(e){let t=Rt.exec(e),n=``;t!=null&&(n=t[0].trim(),n=or(n.slice(1,n.length-1)),e=e.replace(Rt,``));let r=e.indexOf(`!`),i=``,a=``;return r>-1?(i=e.substring(0,r),i[0]===`'`&&i[i.length-1]===`'`&&(i=i.substring(1,i.length-1)),i=or(i),a=e.substring(r+1)):a=e,{refBody:a,sheetName:i,unitId:n}}function Zn(e){let{refBody:t,sheetName:n,unitId:r}=Xn(e),i=t.indexOf(`:`);if(i===-1){let e=Yn(t),i=e.row,a=e.column,o=e.absoluteRefType;return{unitId:r,sheetName:n,range:{startRow:i,startColumn:a,endRow:i,endColumn:a,startAbsoluteRefType:o,endAbsoluteRefType:o}}}let a=t.substring(0,i),o=t.substring(i+1),s=Yn(a),c=Yn(o),l=s.row>c.row?c.row:s.row,u=s.column>c.column?c.column:s.column,d=s.row>c.row?s.row:c.row,f=s.column>c.column?s.column:c.column,p=C.NORMAL;return Number.isNaN(l)&&Number.isNaN(d)?p=C.COLUMN:Number.isNaN(u)&&Number.isNaN(f)&&(p=C.ROW),{unitId:r,sheetName:n,range:{startRow:l,startColumn:u,endRow:d,endColumn:f,startAbsoluteRefType:s.absoluteRefType,endAbsoluteRefType:c.absoluteRefType,rangeType:p}}}const Qn=[`LOG10`];function $n(e){let t=er(e);if(!Dn(t)||Qn.includes(t.toUpperCase().trim()))return!1;let{range:n}=Zn(t);return!(n.endColumn>=v)}function er(e){let t=[],n=!1;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(i===` `&&!n)t.push(i);else if(!n&&(i===Ye.AT||i===Ye.MINUS||i===Ye.PLUS))continue;else t.push(i),n=!0}return t.join(``)}function tr(e,t){let n=(e==null?void 0:e.split(`,`))||[];return e===``||n.length===0||!nr(e)?[]:n.map(e=>{let n=Zn(e);return{unitId:n.unitId,sheetId:t(n.sheetName),range:n.range,sheetName:n.sheetName}})}function nr(e){return((e==null?void 0:e.split(`,`))||[]).every(e=>$n(e.trim()))}function rr(e){return e.length===0?!1:!!(At(e)||sr(e)||cr(e)||lr(e)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e))}function ir(e){return rr(e)?`'${ar(e)}'`:e}function ar(e){return e.replace(/'/g,`''`)}function or(e){return e.replace(/''/g,`'`)}function sr(e){let t=/^([A-Z]+)([1-9][0-9]*)$/.exec(e);if(!t)return!1;let[,n,r]=t,i=Number(r);if(i<1||i>y)return!1;let a=oe(n);return!(a<1||a>v)}function cr(e){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e)}function lr(e){return!/^\p{Letter}/u.test(e.charAt(0))}function ur(e){let t=e.indexOf(`[`);return t===-1?{tableName:e,struct:``}:{tableName:e.slice(0,t),columnStruct:e.slice(t)}}function P(e,t){return function(n,r){t(n,r,e)}}function dr(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let fr=class extends s{constructor(e){super(),this._univerInstanceService=e,E(this,`_definedNameMap`,{}),E(this,`_nameCacheMap`,{}),E(this,`_update$`,new we),E(this,`update$`,this._update$.asObservable()),E(this,`_currentRange`,{unitId:``,sheetId:``,range:{startRow:0,endRow:0,startColumn:0,endColumn:0}}),E(this,`_currentRange$`,new we),E(this,`currentRange$`,this._currentRange$.asObservable()),E(this,`_focusRange$`,new we),E(this,`focusRange$`,this._focusRange$.asObservable())}dispose(){super.dispose(),this._definedNameMap={},this._nameCacheMap={},this._update$.complete(),this._currentRange$.complete(),this._focusRange$.complete()}getWorksheetByRef(e,t){var n;let{sheetName:r}=Xn(t);return(n=this._univerInstanceService.getUnit(e))==null?void 0:n.getSheetBySheetName(r)}focusRange(e,t){let n=this.getValueById(e,t);n!==void 0&&this._focusRange$.next({...n,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Gn(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 n;(n=this._definedNameMap[e])==null||delete n[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){let n=this._nameCacheMap[e];if(n)return n[t.toLowerCase()]||null;let r=this._definedNameMap[e];if(r===void 0)return null;let i=null;for(let e of Object.values(r))if(e.name===t){i=e;break}return i&&(this._nameCacheMap[e]=this._nameCacheMap[e]||{},this._nameCacheMap[e][t.toLowerCase()]=i),i}getValueById(e,t){var n;return(n=this._definedNameMap[e])==null?void 0:n[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(let[n,r]of Object.entries(this._definedNameMap[e]))if(r.formulaOrRefString===t)return r}}_update(){this._update$.next(null)}_updateCache(e){let t=this._definedNameMap[e];if(t===void 0){delete this._nameCacheMap[e];return}this._nameCacheMap[e]={};for(let n of Object.values(t))this._nameCacheMap[e][n.name.toLowerCase()]=n}};fr=dr([P(0,d)],fr);const pr=se(`univer.formula.defined-names.service`),mr=(e,t)=>{let{unitId:n,id:r}=t;return{...e.get(pr).getValueById(n,r),unitId:n}},hr={id:`formula.mutation.set-defined-name`,type:a.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(pr),{id:r,unitId:i,name:a,formulaOrRefString:o,comment:s,hidden:c,localSheetId:l,formulaOrRefStringWithPrefix:u}=t;return n.registerDefinedName(i,{id:r,name:a.trim(),formulaOrRefString:o.trim(),comment:s==null?void 0:s.trim(),hidden:c,localSheetId:l,formulaOrRefStringWithPrefix:u}),!0}},gr={id:`formula.mutation.remove-defined-name`,type:a.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(pr),{unitId:r,id:i}=t;return n.removeDefinedName(r,i),!0}},_r={id:`formula.mutation.set-feature-calculation`,type:a.MUTATION,handler:()=>!0},vr={id:`formula.mutation.remove-feature-calculation`,type:a.MUTATION,handler:()=>!0},yr={id:`formula.mutation.set-formula-calculation-start`,type:a.MUTATION,handler:()=>!0},br={id:`formula.mutation.set-trigger-formula-calculation-start`,type:a.MUTATION,handler:()=>!0},xr={id:`formula.mutation.set-formula-string-batch-calculation`,type:a.MUTATION,handler:()=>!0},Sr={id:`formula.mutation.set-formula-string-batch-calculation-result`,type:a.MUTATION,handler:()=>!0},Cr={id:`formula.mutation.set-formula-calculation-stop`,type:a.MUTATION,handler:()=>!0},wr={id:`formula.mutation.set-formula-calculation-notification`,type:a.MUTATION,handler:()=>!0},Tr={id:`formula.mutation.set-formula-calculation-result`,type:a.MUTATION,handler:()=>!0},Er={id:`formula.mutation.set-formula-dependency-calculation`,type:a.MUTATION,handler:()=>!0},Dr={id:`formula.mutation.set-formula-dependency-calculation-result`,type:a.MUTATION,handler:()=>!0},Or={id:`formula.mutation.set-cell-formula-dependency-calculation`,type:a.MUTATION,handler:()=>!0},kr={id:`formula.mutation.set-cell-formula-dependency-calculation-result`,type:a.MUTATION,handler:()=>!0},Ar={id:`formula.mutation.set-query-formula-dependency`,type:a.MUTATION,handler:()=>!0},jr={id:`formula.mutation.set-query-formula-dependency-result`,type:a.MUTATION,handler:()=>!0},Mr={id:`formula.mutation.set-query-formula-dependency-all`,type:a.MUTATION,handler:()=>!0},Nr={id:`formula.mutation.set-query-formula-dependency-all-result`,type:a.MUTATION,handler:()=>!0},Pr={id:`formula.mutation.set-formula-data`,type:a.MUTATION,handler:(e,t)=>!0},Fr={id:`formula.mutation.set-image-formula-data`,type:a.MUTATION,handler:(e,t)=>!0},Ir={id:`formula.mutation.set-other-formula`,type:a.MUTATION,handler:()=>!0},Lr={id:`formula.mutation.remove-other-formula`,type:a.MUTATION,handler:()=>!0};var Rr=class extends s{constructor(){super(),E(this,`_tableMap`,new Map),E(this,`_tableOptionMap`,new Map),E(this,`_update$`,new we),E(this,`update$`,this._update$.asObservable()),this.registerTableOptionMap(Fe.ALL,Fe.ALL),this.registerTableOptionMap(Fe.DATA,Fe.DATA),this.registerTableOptionMap(Fe.HEADERS,Fe.HEADERS),this.registerTableOptionMap(Fe.TOTALS,Fe.TOTALS),this.registerTableOptionMap(Fe.THIS_ROW,Fe.THIS_ROW)}dispose(){super.dispose(),this._update$.complete(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var n;(n=this._tableMap.get(e))==null||n.delete(t),this._update()}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,n){var r;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(r=this._tableMap.get(e))==null||r.set(t,n),this._update()}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}getTable(e,t){var n;return(n=this._tableMap.get(e))==null?void 0:n.get(t)}hasTable(e,t){let n=this._tableMap.get(e);return n?n.keys().some(e=>e.toLowerCase()===t.toLowerCase()):!1}_update(){this._update$.next(null)}};const zr=se(`univer.formula.super-table.service`),Br={id:`formula.mutation.set-super-table`,type:a.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r,reference:i}=t;return e.get(zr).registerTable(n,r,i),!0}},Vr={id:`formula.mutation.remove-super-table`,type:a.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r}=t;return e.get(zr).remove(n,r),!0}},Hr={id:`formula.mutation.set-super-table-option`,type:a.MUTATION,handler:(e,t)=>{let{tableOption:n,tableOptionType:r}=t;return e.get(zr).registerTableOptionMap(n,r),!0}},Ur=`engine-formula.config`,Wr=`CYCLE_REFERENCE_COUNT`,Gr=`RETURN_DEPENDENCY_TREE`;Symbol(Ur);const Kr={},qr=new Be(1e5);function Jr(e){let t=qr.get(e);if(t)return t;let n=Zn(e);return qr.set(e,n),Zn(e)}function Yr(){qr.clear()}let Xr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.NUMBER=1]=`NUMBER`,e[e.STRING=2]=`STRING`,e[e.FUNCTION=3]=`FUNCTION`,e[e.REFERENCE=4]=`REFERENCE`,e[e.ARRAY=5]=`ARRAY`,e[e.DEFINED_NAME=6]=`DEFINED_NAME`,e[e.TABLE=7]=`TABLE`,e}({});function Zr(e){let t=``;for(let n of e)typeof n==`string`?t+=n:t+=n.token;return t}var F=class e{constructor(){E(this,`_parent`,void 0),E(this,`_token`,`R_1`),E(this,`_children`,[]),E(this,`_lambdaId`,void 0),E(this,`_functionDefinitionPrivacyVar`,void 0),E(this,`_lambdaParameter`,``),E(this,`_startIndex`,-1),E(this,`_endIndex`,-1),E(this,`_definedNames`,[])}dispose(){var e;this._children.forEach(e=>{typeof e!=`string`&&e.dispose()}),(e=this._functionDefinitionPrivacyVar)==null||e.clear(),this._functionDefinitionPrivacyVar=null,this._children=[],this._parent=null,this._definedNames=[]}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(e){this._lambdaId=e}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(e){this._functionDefinitionPrivacyVar=e}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(e){this._lambdaParameter=e}getParent(){return this._parent}setParent(e){this._parent=e}getChildren(){return this._children}setChildren(e){this._children=e}addChildren(e){this._children.push(e)}addChildrenFirst(e){this._children.unshift(e)}getToken(){return this._token}setToken(e){this._token=e}setIndex(e,t){this._startIndex=e,this._endIndex=t}setDefinedNames(e){this._definedNames=e}hasDefinedNames(){return this._definedNames.length>0}replaceChild(e,t){let n=this._getIndexInParent(e);n!=null&&(this.getChildren().splice(n,1,t),t.setParent(this))}changeToParent(e){let t=this.getParent();t&&t.removeChild(this),this.setParent(e),e.getChildren().push(this)}removeChild(e){let t=this._getIndexInParent(e);t!=null&&this.getChildren().splice(t,1)}serialize(){let t=this.getToken(),n=this.getChildren(),r=[],i=n.length;for(let t=0;t<i;t++){let i=n[t];i instanceof e?r.push(i.serialize()):r.push(i)}return{token:t,st:this._startIndex,ed:this._endIndex,children:r}}_getIndexInParent(e){let t=this.getChildren(),n=t.length;for(let r=0;r<n;r++)if(t[r]===e)return r}},Qr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.FUNCTION=1]=`FUNCTION`,e[e.LAMBDA=2]=`LAMBDA`,e}(Qr||{});const $r=2e3,ei=new Be($r),ti=new Be($r);var ni=class extends s{constructor(...e){super(...e),E(this,`_currentLexerNode`,new F),E(this,`_upLevel`,0),E(this,`_segment`,``),E(this,`_bracketState`,[]),E(this,`_openBracketNormalIndexStack`,[]),E(this,`_squareBracketState`,0),E(this,`_bracesState`,0),E(this,`_singleQuotationState`,0),E(this,`_doubleQuotationState`,0),E(this,`_lambdaState`,!1),E(this,`_colonState`,!1),E(this,`_formulaErrorCount`,0),E(this,`_tableBracketState`,!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),ei.clear(),ti.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){let n=this._getCurrentParamIndex(e,t);if(n==null||n===D.VALUE)return;let r=n[0];if(typeof r==`string`)return;let i=r.getParent(),a=r;for(;i;){let e=i.getToken();if(e!==`P_1`&&!kt(e)&&i.getStartIndex()!==-1)return{functionName:e,paramIndex:i.getChildren().indexOf(a)};a=i,i=i.getParent()}}checkIfAddBracket(e){let t=0,n=e.length-1,r=e[n];for(;(r===A.CLOSE_BRACKET||r===` `)&&n>=0;)r===A.CLOSE_BRACKET&&t++,r=e[--n];let i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===D.VALUE)return 0;let a=i[0];if(typeof a==`string`)return 0;let o=a.getParent(),s=0;for(i[1]===A.OPEN_BRACKET&&s++;o;){let e=o.getToken();e!==`P_1`&&e!==A.COLON&&o.getStartIndex()!==-1&&e.toUpperCase()!==`LAMBDA`&&(t===0?s+=1:t--),o=o.getParent()}return s}sequenceNodesBuilder(e){let t=ti.get(e);if(t)return[...t];let n=this._getSequenceArray(e);if(n.length===0)return;let r=this.getSequenceNode(n);return ti.set(e,[...r]),r}convertRefersToAbsolute(e,t,n,r=``){let i=this.sequenceNodesBuilder(e);if(i==null)return e;let a=``;e.substring(0,1)===O.EQUALS&&(a=O.EQUALS);for(let e=0,a=i.length;e<a;e++){let o=i[e];if(typeof o!=`string`&&o.nodeType===Xr.REFERENCE){let{token:s,endIndex:c}=o,l=Jr(s);if(l==null)continue;let{range:u,sheetName:d,unitId:f}=l,p=Jn({range:{...u,startAbsoluteRefType:t,endAbsoluteRefType:n},unitId:f,sheetName:d||r}),m=p.length-s.length;i[e]={...o,token:p,endIndex:c+m};for(let t=e+1;t<a;t++){let e=i[t];typeof e!=`string`&&(e.startIndex+=m,e.endIndex+=m)}}}return`${a}${Zr(i)}`}moveFormulaRefOffset(t,n,r,i=!1){let a=this.sequenceNodesBuilder(t);if(a==null)return t;let o=[];for(let t=0,s=a.length;t<s;t++){let s=a[t];if(typeof s==`string`||s.nodeType!==Xr.REFERENCE){o.push(s);continue}let{token:c}=s,l=Jr(c),{sheetName:u,unitId:d}=l,f=l.range;if(!i&&f.startAbsoluteRefType===e.ALL&&f.endAbsoluteRefType===e.ALL){o.push(s);continue}else f=ge(f,n,r,i);let p=``;p=me(f)?Jn({range:f,unitId:d,sheetName:u}):D.REF,o.push({...s,token:p})}return`=${Zr(o)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;let e=this._currentLexerNode.getChildren()[0];return e instanceof F?!0:!!(this._passArrayOperator(e)||Ge.has(e)||Je.has(e)||e===Ye.AT||e===A.COMMA||e===A.COLON||e===A.OPEN_BRACKET)}_passArrayOperator(e){if(e.length===0||!(e[0]===`{`&&e[e.length-1]===`}`))return!1;let t=this._currentLexerNode.getChildren(),n=t[t.length-1];return n instanceof F?!1:!!Ge.has(n)}getSequenceNode(e){let t=[],n=!1;for(let r=0,i=e.length;r<i;r++){let a=e[r],o=e[r-1],{segment:s,currentString:c}=a;if(c===A.DOUBLE_QUOTATION&&(n=!0),(s!==``||r===0)&&r!==i-1){t.push(c);continue}let l=(o==null?void 0:o.segment)||``,u=r-l.length,d=r-1,f=r-1;if(r===i-1&&this._isLastMergeString(c)&&(l+=c,d+=1),l===``||We.has(l)){t.push(c);continue}let p=l.trim(),m=er(p);n===!0&&p[p.length-1]===A.DOUBLE_QUOTATION&&p[0]!==A.OPEN_BRACES?(n=!1,this._processPushSequenceNode(t,Xr.STRING,l,u,d,f)):gn(m)&&$n(m)?this._processPushSequenceNode(t,Xr.REFERENCE,l,u,d,f):re.isStringNumber(p)?this._processPushSequenceNode(t,Xr.NUMBER,l,u,d,f):p.length>0&&this._processPushSequenceNode(t,Xr.FUNCTION,l,u,d,f),(r!==i-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,n,r,i,a){this._pushSequenceNode(e,{nodeType:t,token:n,startIndex:r,endIndex:i},a)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===A.DOUBLE_QUOTATION||re.isStringNumber(e)||!kt(e)}_mergeSequenceNodeReference(e){let t=[],n=e.length,r=0;for(;r<n;){let n=e[r];if(typeof n==`string`){let i=e[r-1];if(n.trim()===A.CLOSE_BRACES&&i!=null&&typeof i!=`string`&&i.nodeType===Xr.FUNCTION&&i.token.trim().substring(0,1)===A.OPEN_BRACES){i.nodeType=Xr.ARRAY,i.token+=n,i.endIndex+=n.length,r++;continue}t.push(n)}else{let i=e[r+1],a=e[r+2];i===A.COLON&&typeof n!=`string`&&a!=null&&typeof a!=`string`&&$n((n.token+i+a.token).trim())&&(n.nodeType=Xr.REFERENCE,n.token+=i+a.token,n.endIndex=a.endIndex,r+=2),t.push(n)}r++}return this._minusSplitSequenceNode(t)}_minusSplitSequenceNode(e){let t=[];for(let n of e){if(typeof n!=`string`){let e=n.token.match(/^(\s*([-@+]\s*)+)(.*)$/);if(e){let r=e[1],i=e[3];if($n(i.trim())){let e=r.length,a=n.startIndex,o=n.startIndex+e-1,s={nodeType:Xr.NORMAL,token:r,startIndex:a,endIndex:o},c={nodeType:Xr.REFERENCE,token:i,startIndex:o+1,endIndex:n.endIndex};t.push(s),t.push(c);continue}}}t.push(n)}return t}_pushSequenceNode(e,t,n){let r=n-t.startIndex+1;e.splice(e.length-r,r,t)}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,n){if(t===!0){var r;let t=ei.get(e),i=n&&((r=this._simpleCheckDefinedName)==null?void 0:r.call(this,e,n));if(t&&!i)return t}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(`R_1`);let i=[],a=this._nodeMaker(e,i);if(a===D.VALUE||i.length===0)return a;let o=!1,s=``,c=[];if(n){let{hasDefinedName:e,sequenceString:t,definedNames:r}=this._handleDefinedName(i,n);o=e,s=t,c=r}if(o&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(`R_1`),a=this._nodeMaker(`=${s}`),a===D.VALUE))return a;let l=this._getTopNode(this._currentLexerNode);if(l&&(this._currentLexerNode=l),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return D.VALUE;ei.set(e,this._currentLexerNode)}return o&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_handleDefinedName(e,t){let{unitId:n,getValueByName:r,getSheetName:i}=t;if(n==null)return{sequenceString:``,hasDefinedName:!1,definedNames:[]};let a=this.getSequenceNode(e),o=``,s=!1,c=[];for(let e=0,i=a.length;e<i;e++){let i=a[e];if(typeof i==`string`){o+=i;continue}let{nodeType:l,token:u}=i,d=u;if(l===Xr.REFERENCE||l===Xr.FUNCTION){l===Xr.FUNCTION&&(d=this._getHasSheetNameDefinedName(u,n,t));let e=r(n,d);if(e){let n=e.formulaOrRefString,r=this._handleNestedDefinedName(n,t);if(typeof r!=`object`||!r)o+=r||D.NAME,s=!0,c.push(d);else if(typeof r==`object`){let{sequenceString:e,definedNames:t}=r;o+=e,t.forEach(e=>{c.push(e)}),s=!0}}else this._checkDefinedNameDirty(d,t)?(o+=D.NAME,s=!0,c.push(d)):o+=d}else o+=d}return{sequenceString:o,hasDefinedName:s,definedNames:c}}_getHasSheetNameDefinedName(e,t,n){if(!e.includes(`!`))return e;let r=e.split(`!`);if(r.length!==2)return e;let i=r[0],a=r[1].trim(),o=n.getValueByName(t,a);if(!o)return e;let s=o.localSheetId;if(s!==void 0){if(s===`AllDefaultWorkbook`||i===n.getSheetName(t,s))return a}else return a;return e}_handleNestedDefinedName(e,t){let n=[],r=this._nodeMaker(e,n);return r===D.VALUE||n.length===0?r:this._handleDefinedName(n,t)}_simpleCheckDefinedName(e,t){let{getDirtyDefinedNameMap:n,unitId:r}=t,i=n(),a=r;if(a!=null&&i[a]!=null){let t=Object.keys(i[a]);for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e.indexOf(r)>-1)return!0}}return!1}_checkDefinedNameDirty(e,t){let{getDirtyDefinedNameMap:n,unitId:r}=t,i=n(),a=r;if(a!=null&&i[a]!=null){let t=Object.keys(i[a]);for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return!0}return!1}_suffixExpressionHandler(e){let t=e.getChildren();if(!t)return!1;let n=t.length,r=[],i=[],a=!0;for(let e=0;e<n;e++){let n=t[e];if(n instanceof F)a=this._suffixExpressionHandler(n),r.push(n);else{let a=n.trim();if(a===``)continue;if(Ge.has(a)){if(a===O.PLUS&&this._deletePlusForPreNode(t[e-1]))continue;if(a!==O.PLUS&&a!==O.MINUS&&this._deletePlusForPreNode(t[e-1]))return!1;for(;i.length>0;){var o;let e=(o=i[i.length-1])==null?void 0:o.trim();if(!e||e===A.OPEN_BRACKET)break;let t=We.get(e),n=We.get(a);if(t===void 0||n===void 0)break;if(n>=t)r.push(i.pop());else break}i.push(n)}else if(a===A.OPEN_BRACKET)i.push(n);else if(a===A.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(r,i,t,e);else{if(this._checkCloseBracket(t[e-1]))return!1;r.push(n)}}}return a?this._processSuffixExpressionRemain(r,i,e):!1}_processSuffixExpressionRemain(e,t,n){let r=e[e.length-1];for(;t.length>0;){let n=t.pop();if(!(r instanceof F)&&(n===A.OPEN_BRACKET||n===A.CLOSE_BRACKET))return!1;e.push(n)}return n.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,n,r){if(this._checkOpenBracket(n[r-1])||this._checkOperator(n[r-1]))return!1;for(;t.length>0;){var i;let n=(i=t[t.length-1])==null?void 0:i.trim();if(!n)break;if(n===A.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===A.CLOSE_BRACKET||e instanceof F}_checkOpenBracket(e){return e===A.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof F?!1:Ge.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof F)){let t=e.trim();if(Ge.has(t)||t===A.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new F}_resetSegment(){this._segment=``}_openBracket(e=Qr.NORMAL){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openBracketNormalIndex(){this._openBracketNormalIndexStack.push(this._currentLexerNode.getChildren().length-1)}_getNodesByCurrentBracketNormalIndex(){let e=this._openBracketNormalIndexStack.pop();if(e===void 0)return[];let t=this._currentLexerNode.getChildren();return t.length===0?[]:t.splice(e)}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){--this._squareBracketState}_getCurrentBracket(){let e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){let t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){--this._bracesState}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){--this._singleQuotationState}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){--this._doubleQuotationState}_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(){let e=this._currentLexerNode.getChildren();if(e&&e.length>0){let t=e[e.length-1];if(t instanceof F)return t}return!1}_getLastChildCurrent(){let e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){let e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var e;let t=(e=this._currentLexerNode)==null?void 0:e.getParent(),n=!1;if(t&&t.getToken()===`L_1`){var r;if(!(t==null||(r=t.getParent())==null)&&r.getParent()){var i;let e=(i=this._currentLexerNode.getParent())==null||(i=i.getParent())==null?void 0:i.getParent();e&&(this._currentLexerNode=e),n=!0}}else if(t!=null&&t.getParent()){var a;let e=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent();e&&(this._currentLexerNode=e),n=!0}for(let e=0;e<this._upLevel;e++){var o;let e=(o=this._currentLexerNode)==null?void 0:o.getParent();e&&(this._currentLexerNode=e),n=!!this._currentLexerNode}return n}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){let n=e;if(n!==``){let e=this._currentLexerNode.getChildren();if(!(n instanceof F)&&this.isColonOpen()){let e=new F;e.setToken(n),e.setParent(this._currentLexerNode),n=e}t?e.unshift(n):e.push(n)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,n=!1){let r=new F;r.setToken(e),r.setIndex(t-e.length,t-1),this._setCurrentLexerNode(r,n)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_formulaErrorLastTokenCheck(e,t){let n=this._findPreviousToken(e,t)||``,r=e.length-1===t;if(!r&&this._isOperatorToken(n)||r&&Pt(n))return!0;if(Je.has(n)){let n=this._findSecondLastNonSpaceToken(e,t);if(n==null||It(n))return!0}return!1}_findPreviousToken(e,t){let n=t;for(;n>=0;){let t=e[n];if(t!==` `)return t;n--}}_findSecondLastNonSpaceToken(e,t){let n=t,r=0;for(;n>=0;){let t=e[n];if(t!==` `&&(r++,r===2))return t;n--}return null}_findNextToken(e,t){let n=t;for(;n>=0;){let t=e[n];if(t!==` `)return t;n++}}_unexpectedEndingTokenExcludeOperator(e){return e===A.OPEN_BRACKET||e===A.COMMA||e===O.EQUALS||e===``}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!Ge.has(e)}_getSequenceArray(e){let t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new F,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,n){let r=t;if(e!==qe.POUND)return!0;let i=n[++r];for(;i===` `;)i=n[++r];return!!kt(i)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let n=0;n<He.length;n++){let r=He[n],i=t.slice(e,e+r).join(``).toUpperCase();if(Ve.has(i))return i}}_nodeMaker(e,t,n){let r=e.replace(/\r\n$|\r|\n/g,` `);r.substring(0,1)===O.EQUALS&&(r=r.substring(1));let i=r.split(``),a=i.length;this._resetTemp(),this._formulaErrorLastTokenCheck(i,a-1)&&this._formalErrorOccurred();let o=0;for(;o<a;){let e=i[o];if(n===o)return[this._currentLexerNode,e];if(e===qe.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(o,i)){let e=this._findErrorObject(o,i);if(e==null)return D.VALUE;this._pushNodeToChildren(e);for(let n=0;n<e.length;n++){let e=i[o];this._pushSegment(e),this._addSequenceArray(t,e,o),o++}this._resetSegment();continue}else if(e===A.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(Qr.FUNCTION),this._closeLambda();let n=i[o+1];if(n&&n===A.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return D.VALUE;this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,n,o),o++,this._closeBracket();continue}else n&&this._newAndPushCurrentLexerNode(`P_1`,o)}else this._pushNodeToChildren(e),this._openBracket(Qr.NORMAL),this._openBracketNormalIndex(),this._resetSegment();else if(e===A.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred(),this._pushNodeToChildren(this._segment),this._resetSegment();let t=this._getCurrentBracket();if(t===Qr.NORMAL)this._pushNodeToChildren(e);else if(t===Qr.FUNCTION){let e=i[o+1];if(e&&e===A.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return D.VALUE;this._newAndPushCurrentLexerNode(`L_1`,o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return D.VALUE}else return D.VALUE;this._closeBracket()}else if(e===A.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(e),this._openBraces(),!this._formulaSpellCheck())return D.VALUE}else if(e===A.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(e),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(e===A.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(e),this._openSquareBracket();else if(e===A.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(e),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(e);else if(e===A.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{let e=i[o+1];e&&e===A.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(e)}else if(e===A.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{let n=i[o+1];if(n&&n===A.SINGLE_QUOTATION){this._pushSegment(e),this._addSequenceArray(t,e,o),o++,this._pushSegment(n),this._addSequenceArray(t,n,o),o++;continue}else this._closeSingleQuotation()}this._pushSegment(e)}else if(e===A.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred();let e=this._getCurrentBracket();if(e===Qr.FUNCTION||e==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&e!=null)return D.VALUE;this._newAndPushCurrentLexerNode(`P_1`,o)}else{let e=new F;e.setToken(`CUBE`);let t=new F;t.setToken(`P_1`),t.changeToParent(e);let n=this._currentLexerNode.getParent();if(n&&n.getToken()===A.COLON){let r=n.getParent();if(!r)return D.VALUE;n.changeToParent(t),r.setChildren([]),e.changeToParent(r)}else return D.VALUE;this._changeCurrentBracket(Qr.FUNCTION),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=e,this._newAndPushCurrentLexerNode(`P_1`,o)}}else if(e===A.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){let t=new F;t.setToken(e);let n=new F;n.setToken(`P_1`),n.setParent(t);let r=new F;r.setToken(`P_1`),r.setParent(t),t.getChildren().push(n,r);let i=t,a=0;if(this._segmentCount()>0){let e,r,s=0,c=this._segment.trim(),l=c[0],u=c[1];if(l===Ye.MINUS&&(e=new F,e.setToken(Ye.MINUS),e.setIndex(o-this._segment.length,o-this._segment.length),s++),l===Ye.AT||u===Ye.AT){r=new F,r.setToken(Ye.AT);let t=o-this._segment.length+s;r.setIndex(t,t),e&&(e.addChildren(r),r.setParent(e)),s++}if(s>0&&(this._segment=c.slice(s)),a=s,r)if(r.addChildren(t),t.setParent(r),r.getParent()){let e=r.getParent();e&&(i=e)}else i=r;else e&&(i=e,e.addChildren(t),t.setParent(e));let d=new F;d.setToken(this._segment),d.setParent(n),d.setIndex(o-this._segment.length,o-1),n.getChildren().push(d),this._resetSegment()}else{let e=this._getLastChildCurrentLexerNode();e&&e.changeToParent(n)}this._setCurrentLexerNode(i),this._currentLexerNode=r,this._openColon(a)}else if(Je.has(e)&&this._checkSimilarErrorToken(e,o,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);let t=new F;t.setToken(e),t.setIndex(o-1,o-1);let n=this._getLastChildCurrent();if(n instanceof F)n.changeToParent(t);else if(n===A.CLOSE_BRACKET){let e=this._getNodesByCurrentBracketNormalIndex();t.getChildren().push(...e)}else n!==!1&&(t.getChildren().push(n),this._removeLastChild());this._pushNodeToChildren(t),t.setParent(this._currentLexerNode),this._resetSegment()}else if(Ge.has(e)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let n=this._segment.trim();if(e===O.MINUS&&n===``){let n=this._findPreviousToken(i,o-1)||``,r=this._findNextToken(i,o+1)||``;if(this._unexpectedEndingTokenExcludeOperator(n)&&this._isOperatorToken(r)){this._pushNodeToChildren(`0`),this._pushNodeToChildren(O.MINUS),this._addSequenceArray(t,e,o),this._resetSegment(),o++;continue}else if(this._unexpectedEndingToken(n))if(r===O.PLUS){this._pushSegment(O.MINUS),this._addSequenceArray(t,e,o),this._addSequenceArray(t,O.PLUS,o+1),o+=2;continue}else{this._pushSegment(O.MINUS),this._addSequenceArray(t,e,o),o++;continue}}else if(this._segment.length>0&&this._isScientificNotation(i,o,e)){this._pushSegment(e),this._addSequenceArray(t,e,o),o++;continue}else this._segment.length>0&&n===``?n=this._segment:(this._pushNodeToChildren(this._segment),n=``);if(e===O.LESS_THAN||e===O.GREATER_THAN){let r=i[o+1];if(r&&Ge.has(e+r)){this._pushNodeToChildren(n+e+r),this._resetSegment(),this._addSequenceArray(t,e,o),o++,this._addSequenceArray(t,r,o),o++;continue}else this._pushNodeToChildren(n+e)}else this._pushNodeToChildren(n+e);this._resetSegment()}else (this._segment!==``||e!==` `)&&this._pushSegment(e);this._addSequenceArray(t,e,o),o++}if(this._pushNodeToChildren(this._segment),this._checkErrorState())return D.VALUE}_isScientificNotation(e,t,n){let r=e[t-2];if(r&&Number.isNaN(Number(r))||!(n===O.MINUS||n===O.PLUS))return!1;let i=e[t+1];if(i&&Number.isNaN(Number(i)))return!1;let a=e[t-1];return a&&a.toUpperCase()===`E`}_addSequenceArray(e,t,n){e==null||e.push({segment:this._segment,currentString:t,cur:n,currentLexerNode:this._currentLexerNode})}getNewFormulaWithPrefix(e,t){return null}getFormulaExprTree(e,t,n,r,i){return null}};function ri(e,t,n,r,i,a,o){let s=(o==null?void 0:o.f)||``,c=(o==null?void 0:o.si)||``,l=fe(s),u=de(c),d=e.getValue(i,a),f=(d==null?void 0:d.f)||``,p=(d==null?void 0:d.si)||``,m=(d==null?void 0:d.x)||0,h=(d==null?void 0:d.y)||0;function g(){if(fe(f)&&de(p)&&m===0&&h===0){var e;let t=n==null||(e=n[p])==null?void 0:e.f;t?r.set(p,t):r.set(p,f)}}l&&u?(p!==c&&g(),e.setValue(i,a,{f:s,si:c}),n[c]={f:s,r:i,c:a},t.setValue(i,a,{f:s,si:c})):l&&!u?(f!==s&&g(),e.setValue(i,a,{f:s}),t.setValue(i,a,{f:s})):!l&&u?(p!==c&&g(),e.setValue(i,a,{f:``,si:c})):!l&&!u&&e.getValue(i,a)&&(g(),e.realDeleteValue(i,a),t.setValue(i,a,null))}function ii(e,t,n,r){let i=e==null?void 0:e.getValue(n,r);if(i==null)return!0;let a=[];e.forValue((e,t,o)=>{e===n&&t===r||te.intersects(o,i)&&a.push(o)});let{startRow:o,startColumn:s,endRow:c,endColumn:l}=i;for(let e=o;e<=c;e++)for(let n=s;n<=l;n++){let r=!1,i=ae(e,n);a.some(e=>te.contains(e,i)?(r=!0,!0):!1),r||t.realDeleteValue(e,n)}}let ai=class extends s{constructor(e,t){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,E(this,`_arrayFormulaRange`,{}),E(this,`_arrayFormulaCellData`,{}),E(this,`_unitImageFormulaData`,{})}dispose(){super.dispose(),this._arrayFormulaRange={},this._arrayFormulaCellData={},this._unitImageFormulaData={}}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{var r,i;let a=n[e],o=(r=this._arrayFormulaRange)==null||(r=r[t])==null?void 0:r[e];if(o==null)return!0;let s=new b(o),c=new b;if(((i=this._arrayFormulaCellData[t])==null?void 0:i[e])!=null){var l;c=new b((l=this._arrayFormulaCellData[t])==null?void 0:l[e])}a.forValue((e,t)=>{let n=s.getValue(e,t);if(n==null)return!0;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=n;for(let e=r;e<=a;e++)for(let t=i;t<=o;t++)c.setValue(e,t,null);s.realDeleteValue(e,t)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=c.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(n).forEach(e=>{var r,i;let a=n[e],o=new b((r=this._arrayFormulaRange[t])==null?void 0:r[e]),s=new b((i=this._arrayFormulaCellData[t])==null?void 0:i[e]);a.forValue((e,t)=>{let n=o==null?void 0:o.getValue(e,t);if(n==null)return!0;let{startRow:r,startColumn:i,endRow:a,endColumn:c}=n;for(let e=r;e<=a;e++)for(let t=i;t<=c;t++)s.setValue(e,t,null)}),a.forValue((e,t,n)=>{s.setValue(e,t,n)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=s.getData())})})}getFormulaData(){let e={},t=this._univerInstanceService.getAllUnitsForType(ie.UNIVER_SHEET);return t.length===0||t.forEach(t=>{let n=t.getUnitId();e[n]={},t.getSheets().forEach(t=>{let r=t.getCellMatrix();oi(e,n,t.getSheetId(),r)})}),e}getSheetFormulaData(e,t){let n={},r=this._univerInstanceService.getUnit(e);if(r==null)return{};n[e]={};let i=r.getSheetBySheetId(t);return i==null?{}:(oi(n,e,t,i.getCellMatrix()),n[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=>{let n=e[t];if(n==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(n).forEach(e=>{var r;let i=new b(n[e]),a=new b((r=this._arrayFormulaRange[t])==null?void 0:r[e]);i.forValue((e,t,n)=>{a.setValue(e,t,n)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][e]=a.getData())})})}mergeUnitImageFormulaData(e){let t=Object.keys(e);for(let n=0;n<t.length;n++){let r=t[n],i=e[r];if(!i)continue;this._unitImageFormulaData[r]||(this._unitImageFormulaData[r]={});let a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e],n=i[t];n&&(this._unitImageFormulaData[r][t]||(this._unitImageFormulaData[r][t]=new b),n.forValue((e,n,i)=>{this._unitImageFormulaData[r][t].setValue(e,n,i)}))}}}deleteArrayFormulaRange(e,t,n,r){var i;let a=(i=this._arrayFormulaRange[e])==null?void 0:i[t];if(a==null)return;let o=new b(a);o.getValue(n,r)&&(o.realDeleteValue(n,r),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}getCalculateData(){let e=this._univerInstanceService.getAllUnitsForType(ie.UNIVER_SHEET),t={},n={},r={};for(let i of e){let e=i.getUnitId(),a=i.getSheets(),o={},s={};for(let e of a){let t=e.getSheetId(),n=e.getConfig();o[t]={cellData:new b(n.cellData),rowCount:n.rowCount,columnCount:n.columnCount,rowData:n.rowData,columnData:n.columnData,defaultRowHeight:n.defaultRowHeight,defaultColumnWidth:n.defaultColumnWidth},s[e.getName()]=e.getSheetId()}t[e]=o,n[e]=i.getStyles(),r[e]=s}return{allUnitData:t,unitStylesData:n,unitSheetNameMap:r}}getHiddenRowsFiltered(){let e=this._univerInstanceService.getAllUnitsForType(ie.UNIVER_SHEET),t={};for(let r of e){let e=r.getUnitId(),i=r.getSheets();t[e]={};for(let r of i){let i=r.getSheetId();t[e][i]={};let a=r.getRowCount()-1,o={};for(let e=0;e<=a;e++)r.getRowVisible(e)||(o[e]={hd:n.TRUE});t[e][i]=o}}return t}updateFormulaData(e,t,n){let r=new b(n),i=this._getSheetFormulaIdMap(e,t),a=new Map,o=this.getFormulaData();o[e]==null&&(o[e]={});let s=o[e];s[t]==null&&(s[t]={});let c=new b(s[t]||{}),l=new b;return r.forValue((e,t,n)=>{ri(c,l,i,a,e,t,n)}),c.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``;if(de(o)){let s=i==null?void 0:i[o],u=a.get(o);if(s&&!fe(r)){let n=s.f,r=t-s.c,i=e-s.r;c.setValue(e,t,{f:n,si:o,x:r,y:i}),l.setValue(e,t,{f:n,si:o,x:r,y:i})}else if(typeof u==`string`){let r=(n==null?void 0:n.x)||0,i=(n==null?void 0:n.y)||0,s=this._lexerTreeBuilder.moveFormulaRefOffset(u,r,i);a.set(o,{r:e,c:t,f:s}),c.setValue(e,t,{f:s,si:o}),l.setValue(e,t,{f:s,si:o})}else if(typeof u==`object`){let n=t-u.c,r=e-u.r;c.setValue(e,t,{f:u.f,si:o,x:n,y:r}),l.setValue(e,t,{f:u.f,si:o,x:n,y:r})}}}),l.getMatrix()}updateArrayFormulaRange(e,t,n){var r;let i=(r=this._arrayFormulaRange[e])==null?void 0:r[t];if(!i)return;let a=new b(i);new b(n).forValue((e,t,n)=>{a.realDeleteValue(e,t)})}updateArrayFormulaCellData(e,t,n){var r,i;let a=(r=this._arrayFormulaRange[e])==null?void 0:r[t];if(!a)return;let o=new b(a),s=(i=this._arrayFormulaCellData[e])==null?void 0:i[t];if(!s)return;let c=new b(s);new b(n).forValue((e,t,n)=>{ii(o,c,e,t)})}updateImageFormulaData(e,t,n){var r;let i=(r=this._unitImageFormulaData[e])==null?void 0:r[t];i&&new b(n).forValue((e,t)=>{i.realDeleteValue(e,t)})}getFormulaStringByCell(e,t,n,r){let i=this._univerInstanceService.getUnit(r);if(i==null)return null;let a=i.getSheetBySheetId(n);if(a==null)return null;let o=a.getCellMatrix(),s=o.getValue(e,t);if(s==null)return null;let{f:c,si:l}=s;if(fe(c))return c;if(de(l)){let n=null;return o.forValue((r,i,a)=>{if(a==null)return!0;let{f:o,si:s}=a;if(fe(o)&&l===s)return n=this._lexerTreeBuilder.moveFormulaRefOffset(o,t-i,e-r),!1}),n}return null}getFormulaDirtyRanges(){let e=this.getFormulaData(),t=[];for(let n in e){let r=e[n];if(!r)continue;let i=this._univerInstanceService.getUnit(n);if(i)for(let e in r){let a=r[e];if(!a)continue;let o=i.getSheetBySheetId(e);if(!o)continue;let s={};for(let e of Object.keys(a)){let t=Number(e);for(let e in a[t]){let n=Number(e),r=o.getCellRaw(t,n),i=fe(r==null?void 0:r.f)||de(r==null?void 0:r.si),a=(r==null?void 0:r.v)===void 0||(r==null?void 0:r.v)===null||(r==null?void 0:r.v)===``;if(!(i&&a))continue;s[n]||(s[n]=[]);let c=s[n].slice(-1)[0];c&&c.endRow===t-1?c.endRow=t:s[n].push({startRow:t,endRow:t})}}for(let r in s){let i=s[r];for(let a=0;a<i.length;a++){let o=i[a];t.push({unitId:n,sheetId:e,range:{rangeType:C.NORMAL,startRow:o.startRow,endRow:o.endRow,startColumn:Number(r),endColumn:Number(r)}})}}}}return t}_getSheetFormulaIdMap(e,t){let n={},r=this._univerInstanceService.getUnit(e);if(r==null)return n;let i=r.getSheetBySheetId(t);return i==null||i.getCellMatrix().forValue((e,t,r)=>{if(r==null)return!0;let{f:i,si:a}=r;fe(i)&&de(a)&&(n[a]={f:i,r:e,c:t})}),n}};ai=dr([P(0,d),P(1,f(ni))],ai);function oi(e,t,n,r){e[t]||(e[t]={}),e[t][n]||(e[t][n]={});let i=new Map,a=new b(e[t][n]);r.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``,s=fe(r),c=de(o);s&&c?(a.setValue(e,t,{f:r,si:o}),i.set(o,{f:r,r:e,c:t})):s&&!c?a.setValue(e,t,{f:r}):!s&&c&&a.setValue(e,t,{f:``,si:o})}),a.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``;if(de(o)&&!fe(r)){let n=i.get(o);if(n){let r=n.f,i=t-n.c,s=e-n.r;a.setValue(e,t,{f:r,si:o,x:i,y:s})}else a.realDeleteValue(e,t)}});let o=a.getMatrix();return{[t]:{[n]:o}}}const si=Symbol(`EMPTY_CELL`),ci=new class{constructor(){E(this,`_cache`,new Map),E(this,`_continueBuildingCache`,new Map)}set(e,t,n,r,i,a=!1){if(!this.shouldContinueBuildingCache(e,t,n,i)&&!a)return;let o=this._cache.get(e);o==null&&(o=new Map,this._cache.set(e,o));let s=o.get(t);s==null&&(s=new Map,o.set(t,s));let c=s.get(n);if(c==null&&(c=new Map,s.set(n,c)),a){for(let[e,t]of c)if(t.has(i)){t.delete(i);break}}let l=typeof r==`string`?r.toLowerCase():r;(l===``||l===null)&&(l=si);let u=c.get(l);u==null&&(u=new Set,c.set(l,u)),u.add(i)}getCellValuePositions(e,t,n){var r;return(r=this._cache.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getCellPositions(e,t,n,r,i){var a;let o=typeof r==`string`?r.toLowerCase():r;(o===``||o===null)&&(o=si);let s=(a=this._cache.get(e))==null||(a=a.get(t))==null||(a=a.get(n))==null?void 0:a.get(o);return s&&[...s].filter(e=>i.some(([t,n])=>e>=t&&e<=n))}setContinueBuildingCache(e,t,n,r,i){if(n===-1||r===-1||i===-1)return;let a=this._continueBuildingCache.get(e);a==null&&(a=new Map,this._continueBuildingCache.set(e,a));let o=a.get(t);o==null&&(o=new Map,a.set(t,o));let s=o.get(n);if(s==null){s=new je,s.insert([r,i]),o.set(n,s);return}this._handleNewInterval(s,r,i)}shouldContinueBuildingCache(e,t,n,r){var i;if(n===-1||r===-1)return!1;let a=(i=this._continueBuildingCache.get(e))==null||(i=i.get(t))==null?void 0:i.get(n);return a?a.search([r,r]).length===0:!0}canUseCache(e,t,n,r,i){var a;let o=(a=this._continueBuildingCache.get(e))==null||(a=a.get(t))==null?void 0:a.get(n);if(n===-1||r===-1||i===-1||!o)return{rowsInCache:[],rowsNotInCache:[]};let s=o.search([r,i]);if(s.length===0)return{rowsInCache:[],rowsNotInCache:[]};s.sort((e,t)=>e[0]-t[0]);let c=[],l=[],u=r;for(let e=0;e<s.length;e++){let[t,n]=s[e];if(u>=t){if(i<=n){c.push([u,i]);break}c.push([u,n]),u=n+1,e===s.length-1&&u<=i&&l.push([u,i])}else{if(i>n){c.push([t,n]),l.push([u,t-1]),u=n+1,e===s.length-1&&u<=i&&l.push([u,i]);continue}c.push([t,i]),l.push([u,t-1])}}return{rowsInCache:c,rowsNotInCache:l}}clear(){this._cache.clear(),this._continueBuildingCache.clear()}_handleNewInterval(e,t,n){let r=e.search([t,n]);if(r.length===0){let i=[t-1<0?0:t-1,n+1];if(r=e.search(i),r.length===0){e.insert([t,n]);return}}let i=t,a=n;for(let t of r)i=Math.min(i,t[0]),a=Math.max(a,t[1]),e.remove(t);e.insert([i,a])}};var li=class extends s{constructor(...e){super(...e),E(this,`_getRowFilteredCallback`,void 0)}register(e){this._getRowFilteredCallback=e}getRowFiltered(e,t,n){var r;return this._getRowFilteredCallback?(r=this._getRowFilteredCallback(e,t,n))==null?!1:r:!1}};const ui=se(`univer.formula.sheet-row-filtered.service`);let di=class extends s{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=n,this._sheetRowFilteredService=r,E(this,`_unitData`,{}),E(this,`_unitStylesData`,{}),E(this,`_arrayFormulaCellData`,{}),E(this,`_arrayFormulaRange`,{}),E(this,`_formulaData`,{}),E(this,`_sheetNameMap`,{}),E(this,`_forceCalculate`,!1),E(this,`_clearDependencyTreeCache`,{}),E(this,`_dirtyRanges`,[]),E(this,`_dirtyNameMap`,{}),E(this,`_dirtyDefinedNameMap`,{}),E(this,`_dirtyUnitFeatureMap`,{}),E(this,`_dirtyUnitOtherFormulaMap`,{}),E(this,`_excludedCell`,void 0),E(this,`_sheetIdToNameMap`,{}),E(this,`_executeUnitId`,``),E(this,`_executeSubUnitId`,``)}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(){let{id:e,sheetOrder:t}=this._univerInstanceService.getCurrentUnitForType(ie.UNIVER_SHEET).getSnapshot();return{sheetOrder:t,sheetNameMap:this._sheetIdToNameMap[e]}}getSheetRowColumnCount(e,t){let n=this._univerInstanceService.getUnit(e),r=n==null?void 0:n.getSheetBySheetId(t),i=r==null?void 0:r.getSnapshot();if(!i)return{rowCount:0,columnCount:0};let{rowCount:a,columnCount:o}=i;return{rowCount:a,columnCount:o}}getFilteredOutRows(e,t,n,r){let i=[];for(let a=n;a<=r;a++)this._sheetRowFilteredService.getRowFiltered(e,t,a)&&i.push(a);return i}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{let{allUnitData:e,unitSheetNameMap:t,unitStylesData:n}=this._loadSheetData();this._unitData=e,this._unitStylesData=n,this._sheetNameMap=t}e.rowData&&this._applyUnitRowData(e.rowData),this._formulaData=e.formulaData,this._arrayFormulaCellData=On(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){let{allUnitData:t,unitSheetNameMap:n,unitStylesData:r}=this._loadSheetData();this._unitData=t,this._unitStylesData=r,this._sheetNameMap=n,this._formulaData=this._formulaDataModel.getFormulaData(),this._arrayFormulaCellData=On(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(n=>{t[n]&&Object.keys(t[n]).forEach(r=>{e[n]==null&&(e[n]={}),e[n][t[n][r]]=r})}),this._sheetIdToNameMap={},Object.keys(e).forEach(t=>{Object.keys(e[t]).forEach(n=>{this._sheetIdToNameMap[t]==null&&(this._sheetIdToNameMap[t]={}),this._sheetIdToNameMap[t][e[t][n]]=n})})}_loadSheetData(){let e=this._univerInstanceService.getCurrentUnitForType(ie.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(let t in e)if(e[t]!=null)for(let n in e[t])e[t][n]!=null&&(this._unitData[t]==null&&(this._unitData[t]={}),this._unitData[t][n]==null&&(this._unitData[t][n]={cellData:new b({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][n].rowData=e[t][n])}};di=dr([P(0,d),P(1,f(g)),P(2,f(ai)),P(3,f(ui))],di);const fi=se(`univer.formula.current-data.service`);let pi=class extends s{constructor(e,t,n){super(),this._definedNamesService=e,this._lexerTreeBuilder=t,this._formulaCurrentConfigService=n}treeBuilder(e,t=!0){let n=this._definedNamesService.getAllDefinedNames();return this._isDeepDefinedNameMapEmpty(n)?this._lexerTreeBuilder.treeBuilder(e,t):this._lexerTreeBuilder.treeBuilder(e,t,{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(e){for(let t in e)if(Object.keys(e[t]).length>0)return!1;return!0}};pi=dr([P(0,pr),P(1,f(ni)),P(2,fi)],pi);function mi(e){if(e==null)return!0;let{v:t,f:n,si:r,p:i}=e;return!(!(t==null||typeof t==`string`&&t.length===0)||n!=null&&n.length>0||r!=null&&r.length>0||i!=null)}function hi(e){var t;if(e===null)return 0;if(e!=null&&e.p){let t=e==null?void 0:e.p.body;if(t==null)return 0;let n=t.dataStream;return r.transform.getPlainText(n)}return(t=e==null?void 0:e.v)==null?0:t}function gi(e,t=!1){return!t&&!(fe(e==null?void 0:e.f)||de(e==null?void 0:e.si))?null:typeof(e==null?void 0:e.v)==`string`&&Ve.has(e.v)?e.v:null}function _i(e,t,n,r,i){let a=Object.keys(i);for(let s of a){var o;let a=i[s],c=a==null||(o=a[r])==null?void 0:o[n];if(c==null)continue;let l=c.getValue(e,t);if(l!=null)return l}}let vi=function(e){return e[e.MIN=0]=`MIN`,e[e.MAX=1]=`MAX`,e}({}),yi=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.MIN=1]=`MIN`,e[e.MAX=2]=`MAX`,e}({});function bi(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(e,t)=>e.localeCompare(t)}function xi(e){return e.indexOf(`*`)>-1||e.indexOf(`?`)>-1}function Si(e,t){let n=Ti(t).replace(/~?[*?]/g,e=>e.startsWith(`~`)?`\\${e.substring(1)}`:e===`*`?`.*`:e===`?`?`.`:e);return RegExp(`^${n}$`).test(e)}function Ci(e){return e.replace(/~?[*?]/g,e=>e.startsWith(`~`)?e.substring(1):` `)}function wi(e,t,n){let r=!1;switch(n){case k.EQUALS:r=Si(e,t);break;case k.NOT_EQUAL:r=!Si(e,t);break;case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:r=Si(e,t)||e>Ci(t);break;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:r=e<Ci(t);break;default:break}return r}function Ti(e){return e.replace(/[.+^${}()|[\]\\]/g,`\\$&`)}function Ei(e){switch(e){case 1:return yi.MAX;case 0:return yi.NORMAL;case-1:return yi.MIN;default:return yi.NORMAL}}function Di(e){return e===-2?vi.MAX:vi.MIN}var Oi=function(e){return e[e.General=0]=`General`,e[e.Number=1]=`Number`,e[e.Currency=2]=`Currency`,e[e.Accounting=3]=`Accounting`,e[e.Date=4]=`Date`,e[e.Time=5]=`Time`,e[e.Percentage=6]=`Percentage`,e[e.Fraction=7]=`Fraction`,e[e.Scientific=8]=`Scientific`,e[e.Text=9]=`Text`,e[e.Special=10]=`Special`,e[e.Custom=11]=`Custom`,e}(Oi||{});Oi.Currency,Oi.Date,Oi.Time,Oi.Custom,Oi.Fraction,Oi.General,Oi.Custom,Oi.Number,Oi.Percentage,Oi.Scientific,Oi.Text,Oi.Time,Oi.Custom;function ki(e,t,n){var r,i;if(e==null||t==null)return t;let a=(n==null?void 0:n.getStyleByCell(e))||e.s,o=(n==null?void 0:n.getStyleByCell(t))||t.s;if(a==null||o==null||typeof a!=`object`||typeof o!=`object`)return t;let s=a==null||(r=a.n)==null?void 0:r.pattern,c=o==null||(i=o.n)==null?void 0:i.pattern;if(s==null||c==null)return t;let l=s||c;return o.n.pattern=l,t}const Ai=new Be(1e5);function ji(){Ai.clear()}const Mi=new Map([[_.EN_US,`$`],[_.RU_RU,`₽`],[_.VI_VN,`₫`],[_.ZH_CN,`¥`],[_.ZH_TW,`NT$`],[_.FR_FR,`€`],[_.FA_IR,`﷼`],[_.KO_KR,`₩`],[_.ES_ES,`€`],[_.CA_ES,`€`]]);function Ni(e){return Mi.get(e)||`$`}function Pi(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${Ni(e)}"#,##0${r}_);[Red]("${Ni(e)}"#,##0${r})`}function Fi(e,t,n=2){return _e.format(Pi(e,n),t)}const Ii=new Be(1e5);function Li(e){let t=e;t.startsWith(`"`)&&t.endsWith(`"`)&&(t=t.slice(1,-1));let n=Ii.get(t);if(n)return{isNumberPattern:!0,value:n.value,pattern:n.pattern};let r=le(t);return r&&r.z?Ri(t,r.v,r.z):{isNumberPattern:!1}}function Ri(e,t,n){return Ii.set(e,{value:t,pattern:n}),{isNumberPattern:!0,value:t,pattern:n}}function zi(){Ii.clear()}function Bi(e){let t;switch(e){case k.EQUALS:t=k.EQUALS;break;case k.GREATER_THAN:t=k.LESS_THAN;break;case k.GREATER_THAN_OR_EQUAL:t=k.LESS_THAN_OR_EQUAL;break;case k.LESS_THAN:t=k.GREATER_THAN;break;case k.LESS_THAN_OR_EQUAL:t=k.GREATER_THAN_OR_EQUAL;break;case k.NOT_EQUAL:t=k.NOT_EQUAL;break}return t}function Vi(e,t){let n=e+t;return Number.isSafeInteger(n)?n:new T(e).add(t).toNumber()}function Hi(e,t){let n=e-t;return Number.isSafeInteger(n)?n:new T(e).sub(t).toNumber()}function Ui(e,t){let n=e*t;return Number.isSafeInteger(n)?n:new T(e).mul(t).toNumber()}function Wi(e,t){let n=e/t;return Number.isSafeInteger(n)?n:new T(e).div(t).toNumber()}function Gi(e,t){let n=10**Math.trunc(t),r=Ji(e,n);return Math.round(Ui(e,n)+r)/n}function Ki(e,t){let n=10**Math.trunc(t),r=Ji(e,n);return Math.floor(Ui(e,n)+r)/n}function qi(e,t){let n=10**Math.trunc(t),r=Ji(e,n);return Math.ceil(Ui(e,n)-r)/n}function Ji(e,t){return 2**-52*Math.max(1,Math.abs(Ui(e,t)))}function Yi(e,t){return e-t*Math.floor(e/t)}function Xi(e,t){return e**t}function Zi(e){return Math.sqrt(e)}function Qi(e,t){return e===t}function $i(e,t){return e>t}function ea(e,t){return e>=t}function ta(e,t){return e<t}function na(e,t){return e<=t}function ra(e,t=15){return Math.floor(Math.abs(e)).toString().length>=t?e:Number.parseFloat(e.toPrecision(t))}function ia(e,t,n=2**-52){return Math.abs(e-t)<n}function aa(e,t=12,n=1e-10){let r=ra(e,t);return ia(e,r,n)?r:ra(e)}function oa(e){return e-Math.trunc(e)}var I=class e extends Xe{static create(){return this._instance=this._instance||new e(0),this._instance}isNull(){return!0}plus(e){return R.create(0).plus(e)}minus(e){return R.create(0).minus(e)}multiply(e){return R.create(0).multiply(e)}divided(e){return R.create(0).divided(e)}mod(e){return R.create(0).mod(e)}compare(e,t){return e.isString()?z.create(``).compare(e,t):e.isBoolean()?L.create(!1).compare(e,t):R.create(0).compare(e,t)}concatenateFront(e){return e.isArray()?e.concatenateBack(z.create(``)):z.create(this.concatenate(e.getValue(),Ie.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(z.create(``)):z.create(this.concatenate(e.getValue(),Ie.BACK))}plusBy(e){return R.create(0).plusBy(e)}minusBy(e){return R.create(0).minusBy(e)}multiplyBy(e){return R.create(0).multiplyBy(e)}dividedBy(e){return R.create(0).dividedBy(e)}compareBy(e,t){return typeof e==`string`?z.create(``).compareBy(e,t):typeof e==`boolean`?L.create(!1).compareBy(e,t):R.create(0).compareBy(e,t)}pow(e){return R.create(0).pow(e)}sqrt(){return R.create(0).sqrt()}cbrt(){return R.create(0).cbrt()}cos(){return R.create(0).cos()}cosh(){return R.create(0).cosh()}acos(){return R.create(0).acos()}acosh(){return R.create(0).acosh()}sin(){return R.create(0).sin()}sinh(){return R.create(0).sinh()}asin(){return R.create(0).asin()}asinh(){return R.create(0).asinh()}tan(){return R.create(0).tan()}tanh(){return R.create(0).tanh()}atan(){return R.create(0).atan()}atan2(e){return R.create(0).atan2(e)}atanh(){return R.create(0).atanh()}log(){return j.create(D.NUM)}log10(){return j.create(D.NUM)}exp(){return R.create(0).exp()}abs(){return R.create(0).abs()}round(e){return R.create(0).round(e)}floor(e){return R.create(0).floor(e)}ceil(e){return R.create(0).ceil(e)}convertToNumberObjectValue(){return R.create(0)}convertToBooleanObjectValue(){return L.create(!1)}};E(I,`_instance`,void 0);var L=class e extends Xe{static create(t){return t?(this._instanceTrue=this._instanceTrue||new e(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new e(!1),this._instanceFalse)}constructor(e){super(e),E(this,`_value`,!1),this._value=e}getValue(){return this._value}isBoolean(){return!0}getNegative(){let e=this.getValue(),t=0;return e&&(t=1),R.create(-t)}getReciprocal(){return this.getValue()?R.create(1):j.create(D.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,Bi(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(t,n){let r=!1;if(typeof t==`string`||typeof t==`number`)r=this._compareString(n);else if(typeof t==`boolean`){let e=R.create(t?1:0);return this._convertToNumber().compare(e,n)}return e.create(r)}_compareString(e){switch(e){case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){let e=this.getValue(),t=0;return e&&(t=1),R.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 ua(this.getValue())}convertToBooleanObjectValue(){return this}};E(L,`_instanceTrue`,void 0),E(L,`_instanceFalse`,void 0);var R=class e extends Xe{static create(t,n=``){let r=new e(t);return n&&r.setPattern(n),r}constructor(e){super(e),E(this,`_value`,0),this._value=Number(e)}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return e.create(0).minus(this)}getReciprocal(){return e.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.plusBy(t.getValue());return n.isError(),n}equalZero(){return this._value===0}minus(e){if(e.isArray()){let t=e.getNegative();return t.isError()?t:t.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.minusBy(t.getValue());return n.isError(),n}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.multiplyBy(t.getValue());return n.isError(),n}divided(e){if(e.isArray()){let t=e.getReciprocal();return t.isError()?t:t.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let n=this.dividedBy(t.getValue());return n.isError(),n}mod(t){if(t.isArray())return t.modInverse(this);let n=this.getValue(),r=t.getValue();if(t.isNull())return j.create(D.DIV_BY_ZERO);if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(r===0)return j.create(D.DIV_BY_ZERO);if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(n))return j.create(D.NUM);let t=Yi(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}if(typeof r==`boolean`){let t=r?1:0;return t===0?j.create(D.DIV_BY_ZERO):e.create(Yi(n,t))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):z.create(this.concatenate(e.getValue(),Ie.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):z.create(this.concatenate(e.getValue(),Ie.BACK))}isDateFormat(){let e=this.getPattern();return _e.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Bi(t));let n=!1;return e.isDateFormat()&&this.isDateFormat()&&(n=!0),this.compareBy(e.getValue(),t,n)}plusBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let i=Vi(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}minusBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let i=Hi(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}multiplyBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let i=Ui(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}dividedBy(t){if(typeof t==`string`&&t.trim()===``)return j.create(D.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);if(r===0)return j.create(D.DIV_BY_ZERO);let i=Wi(n,r);return Number.isFinite(i)?e.create(i):j.create(D.NUM)}compareBy(e,t,n=!1){let r=this.getValue(),i=!1,a=r,o=e;return n&&(a=Math.round(r*1e8)/1e8,o=Math.round(e*1e8)/1e8),typeof o==`string`?i=this._compareString(t):typeof o==`number`?i=this._compareNumber(a,o,t):typeof o==`boolean`&&(i=this._compareBoolean(t)),L.create(i)}_compareString(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}_compareNumber(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,n):this._compareFiniteNumber(e,t,n)}_compareFiniteNumber(e,t,n){switch(n){case k.EQUALS:return Qi(e,t);case k.GREATER_THAN:return $i(e,t);case k.GREATER_THAN_OR_EQUAL:return ea(e,t);case k.LESS_THAN:return ta(e,t);case k.LESS_THAN_OR_EQUAL:return na(e,t);case k.NOT_EQUAL:return!Qi(e,t)}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}pow(t){if(t.isArray())return t.powInverse(this);if(this.isError())return this;let n=this.getValue(),r=t;if(t.isString()&&(r=t.convertToNumberObjectValue()),r.isError())return r;let i=+r.getValue();if(Number.isNaN(i))return j.create(D.VALUE);if(!Number.isFinite(n)||!Number.isFinite(i))return j.create(D.NUM);if(n===0)return i<0?j.create(D.DIV_BY_ZERO):i===0?j.create(D.NUM):e.create(0);let a=Xi(n,i);return Number.isFinite(a)?e.create(a):j.create(D.NUM)}sqrt(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Zi(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}cbrt(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.cbrt(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}cos(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.cos(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}cosh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.cosh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}acos(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.acos(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}acosh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.acosh(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}sin(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.sin(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}sinh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.sinh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}asin(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.asin(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}asinh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.asinh(t);return Number.isNaN(n)?j.create(D.NUM):e.create(n)}tan(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.tan(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}tanh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.tanh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}atan(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.atan(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}atan2(t){if(t.isArray())return t.atan2Inverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);if(n===0&&r===0)return j.create(D.DIV_BY_ZERO);let t=Math.atan2(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(Math.atan2(n,r?1:0)):this}atanh(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.atanh(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}log(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return j.create(D.NUM);let n=Math.log(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}log10(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return j.create(D.NUM);let n=Math.log10(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}exp(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.exp(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}abs(){let t=this.getValue();if(!Number.isFinite(t))return j.create(D.NUM);let n=Math.abs(t);return Number.isFinite(n)?e.create(n):j.create(D.NUM)}round(t){if(t.isArray())return t.roundInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let t=n<0?-Gi(Math.abs(n),r):Gi(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(Gi(n,r?1:0)):this}floor(t){if(t.isArray())return t.floorInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let t=n<0?-Ki(Math.abs(n),r):Ki(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(Ki(n,r?1:0)):this}ceil(t){if(t.isArray())return t.ceilInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return j.create(D.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return j.create(D.NUM);let t=n<0?-qi(Math.abs(n),r):qi(n,r);return Number.isFinite(t)?e.create(t):j.create(D.NUM)}return typeof r==`boolean`?e.create(qi(n,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return ca(!0)}_compareInfinity(e,t,n){let r=!1;switch(n){case k.EQUALS:r=e===t;break;case k.GREATER_THAN:r=e>t;break;case k.GREATER_THAN_OR_EQUAL:r=e>=t;break;case k.LESS_THAN:r=e<t;break;case k.LESS_THAN_OR_EQUAL:r=e<=t;break;case k.NOT_EQUAL:r=e!==t;break}return r}};const sa=new Be(1e5);var z=class e extends Xe{static create(t,n){let r=sa.get(t);if(r&&n&&this.checkCacheByOptions(r,n))return r;let i=new e(t);if(n!=null&&n.isHyperlink){var a;i._isHyperlink=n.isHyperlink,i._hyperlinkUrl=(a=n.hyperlinkUrl)==null?``:a}return n!=null&&n.isImage&&(i._isImage=n.isImage,i._imageInfo=n.imageInfo),sa.set(t,i),i}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!re.diffValue(e.getImageInfo(),t.imageInfo))}constructor(e){super(e),E(this,`_value`,void 0),E(this,`_isHyperlink`,!1),E(this,`_hyperlinkUrl`,``),E(this,`_isImage`,!1),E(this,`_imageInfo`,void 0),this._value=e}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}isImage(){return this._isImage}getImageInfo(){return this._imageInfo}concatenateFront(t){return t.isArray()?t.concatenateBack(this):e.create(this.concatenate(t.getValue(),Ie.FRONT))}concatenateBack(t){return t.isArray()?t.concatenateFront(this):e.create(this.concatenate(t.getValue(),Ie.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,n){return e.isArray()?e.compare(this,Bi(t),n):this.compareBy(e.getValue(),t,n)}compareBy(e,t,n=!1){let r=this.getValue(),i=!1;if(typeof e==`string`){let a=e;if(n||(r=r.toLocaleLowerCase(),a=a.toLocaleLowerCase()),xi(a))return this._checkWildcard(a,t);i=this._compareString(r,a,t)}else typeof e==`number`?i=this._compareNumber(t):typeof e==`boolean`&&(i=this._compareBoolean(t));return L.create(i)}_compareString(e,t,n){switch(n){case k.EQUALS:return e===t;case k.GREATER_THAN:return e>t;case k.GREATER_THAN_OR_EQUAL:return e>=t;case k.LESS_THAN:return e<t;case k.LESS_THAN_OR_EQUAL:return e<=t;case k.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case k.NOT_EQUAL:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}convertToNumberObjectValue(){let e=this.getValue(),t=le(e);return t&&t.z?ua(t.v,t.z):ua(e)}convertToBooleanObjectValue(){return L.create(!0)}_checkWildcard(e,t){let n=wi(this.getValue().toLocaleLowerCase(),e,t);return L.create(n)}};function ca(e){if(typeof e==`boolean`)return L.create(e);let t=!1;if(typeof e==`string`){let n=e.toLocaleUpperCase();n===Ne.TRUE?t=!0:n===Ne.FALSE&&(t=!1)}else t=e===1;return L.create(t)}function la(e){let t=e.toString();return t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`&&(t=t.slice(1,-1),t=t.replace(/""/g,`"`)),z.create(t)}function ua(e,t=``){if(typeof e==`boolean`){let n=0;return e&&(n=1),R.create(n,t)}else if(typeof e==`number`)return Number.isFinite(e)?R.create(e,t):j.create(D.NUM);else if(w(e))return R.create(Number(e),t);return j.create(D.VALUE)}var da=function(e){return e[e.MINUS=0]=`MINUS`,e[e.PLUS=1]=`PLUS`,e[e.MULTIPLY=2]=`MULTIPLY`,e[e.DIVIDED=3]=`DIVIDED`,e[e.MOD=4]=`MOD`,e[e.COMPARE=5]=`COMPARE`,e[e.CONCATENATE_FRONT=6]=`CONCATENATE_FRONT`,e[e.CONCATENATE_BACK=7]=`CONCATENATE_BACK`,e[e.POW=8]=`POW`,e[e.ROUND=9]=`ROUND`,e[e.FLOOR=10]=`FLOOR`,e[e.CEIL=11]=`CEIL`,e[e.ATAN2=12]=`ATAN2`,e}(da||{}),fa=function(e){return e[e.PRODUCT=0]=`PRODUCT`,e[e.ROW=1]=`ROW`,e[e.COLUMN=2]=`COLUMN`,e[e.SINGLE=3]=`SINGLE`,e}(fa||{});function pa(e){return``}function ma(e=[],t=!1){let n=[];for(let r=0;r<e.length;r++){let i=e[r];n[r]==null&&(n[r]=[]);for(let e=0;e<i.length;e++){let a=i[e];n[r][e]=ga.create(a,t)}}return n}function ha(e=[]){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t[n]==null&&(t[n]=[]);for(let e=0;e<r.length;e++){let i=r[e];i==null?t[n][e]=null:i.isError()?t[n][e]=i.getErrorType():t[n][e]=i.getValue()}}return t}var B=class e extends Xe{static create(t){return new e(t)}static createByArray(t){return new e({calculateValueList:ma(t),rowCount:t.length,columnCount:t[0].length||0,unitId:``,sheetId:``,row:-1,column:-1})}constructor(e){super(typeof e==`string`?e:pa(e)),E(this,`_values`,[]),E(this,`_rowCount`,-1),E(this,`_columnCount`,-1),E(this,`_unitId`,``),E(this,`_sheetId`,``),E(this,`_currentRow`,-1),E(this,`_currentColumn`,-1),E(this,`_sliceCache`,new Map),E(this,`_flattenCache`,void 0),E(this,`_defaultValue`,null),E(this,`_flattenPosition`,void 0),this._values=this._formatValue(e)}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 n;return((n=this._values[e])==null?void 0:n[t])||this._defaultValue}getRealValue(e,t){let n=this._values[e];if(n==null)return null;let r=n[t];return r==null?null:r}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,n){if(e>=this._rowCount||t>=this._columnCount){console.error(`Exceeding array bounds.`);return}this._clearCache(),this._values[e][t]=n}getRangePosition(){let e=this.getRowCount(),t=this.getColumnCount();return{startRow:0,endRow:e-1,startColumn:0,endColumn:t-1}}iterator(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=t;s<=n;s++)for(let t=r;t<=i;t++){var o;if(e(((o=a[s])==null?void 0:o[t])||this._defaultValue,s,t)===!1)return}}iteratorReverse(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition(),a=this.getArrayValue();for(let s=n;s>=t;s--)for(let t=i;t>=r;t--){var o;if(e(((o=a[s])==null?void 0:o[t])||this._defaultValue,s,t)===!1)return}}getLastTruePosition(){let e;return this.iteratorReverse((t,n,r)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:r},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,n,r)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:n,column:r},!1}),e}getFirstCell(){let{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||I.create()}getLastCell(){let{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||I.create()}pick(e){let t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){let t=e.getRowCount(),n=e.getColumnCount();if(t!==this._rowCount||n!==this._columnCount)return[[I.create()]];let r=[];r[0]=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.get(i,t);if(!(n==null||n.isError())&&n.getValue()===!0){let e=this.get(i,t);r[0].push(e)}}return r}flatten(){if(this._flattenCache!=null)return this._flattenCache;let e=[];e[0]=[];for(let t=0;t<this._rowCount;t++)for(let n=0;n<this._columnCount;n++){let r=this.get(t,n);e[0].push(r)}let 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;let e=[],t=[],n=[],r=[],i=0;for(let a=0;a<this._rowCount;a++)for(let o=0;o<this._columnCount;o++){let s=this.get(a,o);if(s==null||s.isError()||s.isNull()){i++;continue}s.isString()?(e.push(s),n.push(i++)):(t.push(s),r.push(i++))}let a={stringArray:e,numberArray:t,stringPosition:n,numberPosition:r};return this._flattenPosition=a,a}slice(e,t){let n=0,r=this._rowCount,i=1,a=0,o=this._columnCount,s=1;if(e!=null&&(n=e[0]||0,r=e[1]||this._rowCount,i=e[2]||1),t!=null&&(a=t[0]||0,o=t[1]||this._columnCount,s=t[2]||1),n>=this._rowCount||a>=this._columnCount)return;let c=`${n}_${r}_${i}_${a}_${o}_${s}`,l=this._sliceCache.get(c);if(l!=null)return l;let u=[],d=this._values,f=0,p=0;for(let e=n;e<r;e+=i){p=0,u[f]==null&&(u[f]=[]);for(let t=a;t<o;t+=s){if(!d[e])return;let n=d[e][t]||this._defaultValue;n==null&&(n=I.create()),u[f][p]=n,p++}f++}if(u.length===0||u[0].length===0)return;let m=i>1?-1:n+this._currentRow,h=s>1?-1:a+this._currentColumn,g=this._createNewArray(u,u.length,u[0].length,m,h);return g.setDefaultValue(this._defaultValue),this._sliceCache.set(c,g),g}sortByRow(e){let 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(){let e=this._transposeArray(this._values),t=this._rowCount,n=this._columnCount,r=this._createNewArray(e,n,t);return r.setDefaultValue(this._defaultValue),r}orderSearch(e,t=yi.MIN,n=!1,r=!1){let i,a,o,s,c=(n,c,l)=>{if(n==null||n.isNull())return!0;let u;if(u=r===!0?n.compare(e,k.EQUALS):n.isEqual(e),(u==null?void 0:u.getValue())===!0)return i=n,o={row:c,column:l},!1;t===yi.MAX?n.isGreaterThan(e).getValue()===!0&&(a==null||n.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=n,s={row:c,column:l}):t===yi.MIN&&n.isLessThan(e).getValue()===!0&&(a==null||n.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=n,s={row:c,column:l})};if(n?this.iteratorReverse((e,t,n)=>c(e,t,n)):this.iterator((e,t,n)=>c(e,t,n)),i!=null)return o;if(a!=null)return s}binarySearch(e,t=vi.MIN,n=yi.MIN){if(e.isError())return;let{stringArray:r,stringPosition:i,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,i,t,n):this._binarySearch(e,a,o,t,n)}_binarySearch(e,t,n,r=vi.MIN,i=yi.MIN){let a=bi(),o=Number(e.getValue()),s=!Number.isNaN(o),c=0,l=t.length-1,u=-1,d=-1,f=-1;for(;c<=l;){let n=Math.floor((c+l)/2),i=t[n],p;if(i.isNull())p=r===vi.MIN?1:-1;else{let t=i.getValue();if(s){let e=Number(t);p=Number.isNaN(e)?1:Math.sign(e-o)}else p=a(t.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(r===vi.MAX&&(p=-p),p===0){u=n;break}p<0?(d=n,c=n+1):(f=n,l=n-1)}if(i===yi.NORMAL)return u===-1?void 0:n[u];if(i===yi.MIN)return u===-1?r===vi.MIN?n[d]:n[f]:n[u];if(i===yi.MAX)return u===-1?r===vi.MIN?n[f]:n[d]:n[u]}sum(){let e=R.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=R.create(-1/0);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=R.create(1/0);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=R.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=R.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=R.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()===``)&&(e=e.plusBy(1))}),e}getNegative(){return e.create(`{0}`).minus(this)}getReciprocal(){return e.create(`{1}`).divided(this)}plus(e){return this._batchOperator(e,da.PLUS)}minus(e){return this._batchOperator(e,da.MINUS)}multiply(e){return this._batchOperator(e,da.MULTIPLY)}divided(e){return this._batchOperator(e,da.DIVIDED)}mod(e){return this._batchOperator(e,da.MOD)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,n){return this._batchOperator(e,da.COMPARE,t,n)}concatenateFront(e){return this._batchOperator(e,da.CONCATENATE_FRONT)}concatenateBack(e){return this._batchOperator(e,da.CONCATENATE_BACK)}map(e){return this.mapValue((t,n,r)=>t==null?I.create():t.isError()?t:e(t,n,r))}mapValue(e){let t=this._rowCount,n=this._columnCount,r=[];for(let a=0;a<t;a++){let t=[];for(let r=0;r<n;r++){var i;let n=(i=this._values)==null?void 0:i[a];if(n==null)t[r]=j.create(D.VALUE);else{let i=n[r]||this._defaultValue;i?t[r]=e(i,a,r):t[r]=I.create()}}r.push(t)}return this._createNewArray(r,t,n)}pow(e){return this._batchOperator(e,da.POW)}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,da.ATAN2)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){let t=this.sum(),n=this.count();return t.divided(e===0?n:n.minusBy(1))}median(){let e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),n=t.getColumnCount();if(n<=1)return t.get(0,0)||I.create();if(t.sortByRow(0),n%2==0){let e=t.get(0,n/2)||I.create(),r=t.get(0,n/2-1)||I.create();return e.plus(r).divided(R.create(2))}return t.get(0,(n-1)/2)||I.create()}var(t=0){let n=this.mean(),r=[[]];this.iterator(e=>{if(e==null||e.isError()||e.isString()||e.isBoolean()||e.isNull())return;let t=e.minus(n).pow(R.create(2));t.isError()||r[0].push(t)});let{_unitId:i,_sheetId:a,_currentRow:o,_currentColumn:s}=this;return e.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:i,sheetId:a,row:o,column:s}).mean(t)}std(e=0){let 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,da.ROUND)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,da.FLOOR)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,da.CEIL)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return ha(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){let t=bi();return(n,r)=>{let i=n[e],a=r[e];return i==null?1:a==null?-1:i.isError()&&i.isError()?0:i.isError()?1:a.isError()?-1:t(i.getValue(),a.getValue())}}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}_batchOperator(e,t,n,r){let i=[],a=this._rowCount,o=this._columnCount;if(e.isArray()){let s=e.getRowCount(),c=e.getColumnCount();if(a=Math.max(s,a),o=Math.max(c,o),s===1&&c===1){let t=e.getFirstCell();for(let e=0;e<o;e++)i.push(t)}else if(s===1&&this._columnCount>1){let t=e.getArrayValue();for(let e=0;e<o;e++)t[0]&&t[0][e]?i.push(t[0][e]):i.push(I.create())}else return this._batchOperatorArray(e,t,n,r)}else for(let t=0;t<o;t++)i.push(e);let s=[];for(let e=0;e<o;e++){let a=i[e];this._batchOperatorValue(a,e,s,t,n,r)}let c=this._createNewArray(s,a,o);return c.setDefaultValue(L.create(!1)),c}_batchOperatorValue(e,t,n,r,i,a){let o=this._rowCount,s=this.getUnitId(),c=this.getSheetId(),l=this.getCurrentRow(),u=this.getCurrentColumn();if(r===da.COMPARE){let{rowsInCache:d,rowsNotInCache:f}=ci.canUseCache(s,c,t+u,l,l+o-1);if(d.length>0){if(i===k.EQUALS&&!(e.isString()&&xi(e.getValue()))){let r=ci.getCellPositions(s,c,t+u,e.isNull()?null:e.getValue(),d);r!=null&&r.forEach(e=>{if(e<l||e>l+o-1)return;let r=e-l;n[r]==null&&(n[r]=[]),n[r][t]=L.create(!0)})}else{let r=ci.getCellValuePositions(s,c,t+u);r!=null&&r.forEach((r,s)=>{let c=I.create();Ve.has(s)?c=j.create(s):typeof s==`string`?c=z.create(s):typeof s==`number`?c=R.create(s):typeof s==`boolean`&&(c=L.create(s));let u;u=c.isError()?c:e.isError()?e:c.compare(e,i,a),r.forEach(e=>{e>=l&&e<=l+o-1&&(n[e-l]==null&&(n[e-l]=[]),n[e-l][t]=u)})})}if(f.length>0)for(let o of f){let[d,f]=o;for(let o=d;o<=f;o++)this.__batchOperatorRowValue(e,t,n,r,o-l,s,c,l,u,i,a);ci.setContinueBuildingCache(s,c,t+u,d,f)}return}}for(let d=0;d<o;d++)this.__batchOperatorRowValue(e,t,n,r,d,s,c,l,u,i,a);ci.setContinueBuildingCache(s,c,t+u,l,l+o-1)}__batchOperatorRowValue(e,t,n,r,i,a,o,s,c,l,u){let d=this.getValueOrDefault(i,t);if(n[i]==null&&(n[i]=[]),d&&e)if(d.isError())n[i][t]=d;else if(e.isError())n[i][t]=e;else switch(r){case da.PLUS:n[i][t]=d.plus(e);break;case da.MINUS:n[i][t]=d.minus(e);break;case da.MULTIPLY:n[i][t]=d.multiply(e);break;case da.DIVIDED:n[i][t]=d.divided(e);break;case da.MOD:n[i][t]=d.mod(e);break;case da.COMPARE:l?n[i][t]=d.compare(e,l,u):n[i][t]=j.create(D.VALUE);break;case da.CONCATENATE_FRONT:n[i][t]=d.concatenateFront(e);break;case da.CONCATENATE_BACK:n[i][t]=d.concatenateBack(e);break;case da.POW:n[i][t]=d.pow(e);break;case da.ROUND:n[i][t]=d.round(e);break;case da.FLOOR:n[i][t]=d.floor(e);break;case da.ATAN2:n[i][t]=d.atan2(e);break;case da.CEIL:n[i][t]=d.ceil(e);break}else n[i][t]=j.create(D.NA);!d||d!=null&&d.isNull()?ci.set(a,o,t+c,si,i+s):ci.set(a,o,t+c,d.getValue(),i+s)}_batchOperatorArray(e,t,n,r){let i=e.getRowCount(),a=e.getColumnCount();i<this._rowCount&&(i=this._rowCount),a<this._columnCount&&(a=this._columnCount);let o=[],s=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let l=0;l<i;l++){let i=[];for(let o=0;o<a;o++){let a;a=s===fa.SINGLE?this.getValueOrDefault(0,0):s===fa.ROW?this.getValueOrDefault(0,o):s===fa.COLUMN?this.getValueOrDefault(l,0):this.getValueOrDefault(l,o);let u;if(u=c===fa.SINGLE?e.getValueOrDefault(0,0):c===fa.ROW?e.getValueOrDefault(0,o):c===fa.COLUMN?e.getValueOrDefault(l,0):e.getValueOrDefault(l,o),a&&u)if(a.isError())i[o]=a;else if(u.isError())i[o]=u;else switch(t){case da.PLUS:i[o]=a.plus(u);break;case da.MINUS:i[o]=a.minus(u);break;case da.MULTIPLY:i[o]=a.multiply(u);break;case da.DIVIDED:i[o]=a.divided(u);break;case da.MOD:i[o]=a.mod(u);break;case da.COMPARE:n?i[o]=a.compare(u,n,r):i[o]=j.create(D.VALUE);break;case da.CONCATENATE_FRONT:i[o]=a.concatenateFront(u);break;case da.CONCATENATE_BACK:i[o]=a.concatenateBack(u);break;case da.POW:i[o]=a.pow(u);break;case da.ROUND:i[o]=a.round(u);break;case da.ATAN2:i[o]=a.atan2(u);break;case da.FLOOR:i[o]=a.floor(u);break;case da.CEIL:i[o]=a.ceil(u);break}else i[o]=j.create(D.NA)}o.push(i)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?fa.SINGLE:e.getRowCount()===1?fa.ROW:e.getColumnCount()===1?fa.COLUMN:fa.PRODUCT}_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);let t=e.split(`;`),n=t.length,r=[],i=0;for(let e=0;e<n;e++){let n=t[e].split(`,`),a=n.length;i<a&&(i=a);let o=[];for(let e=0;e<a;e++){let t=n[e].trim();o.push(ga.create(t))}r.push(o)}return this._rowCount=n,this._columnCount=i,r}_createNewArray(t,n,r,i=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(i=-1,a=-1);let o={calculateValueList:t,rowCount:n,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:i,column:a};return e.create(o)}},ga=class{static create(e,t=!1){if(e==null)return I.create();if(typeof e==`boolean`)return L.create(e);if(typeof e==`string`){let n=e.toLocaleUpperCase().trim();if(Ve.has(n))return j.create(n);if(n===Ne.TRUE||n===Ne.FALSE)return ca(e);if(w(e)&&Number(e).toString()===e.trim())return R.create(Number(e));if(!t){let{isNumberPattern:t,value:n,pattern:r}=Li(e);if(t)return R.create(n,r)}let r=e.replace(/\n/g,``).replace(/\r/g,``);return!_a(r)&&En(r)?B.create(r):la(e)}return typeof e==`number`?ua(e):j.create(D.VALUE)}};function _a(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)}const va=new Be(1e4);var ya=class extends Ue{constructor(e){super(),this._token=e,E(this,`_forcedSheetId`,``),E(this,`_forcedSheetName`,``),E(this,`_defaultSheetId`,``),E(this,`_rangeData`,{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1}),E(this,`_unitData`,{}),E(this,`_unitStylesData`,{}),E(this,`_filteredOutRows`,[]),E(this,`_defaultUnitId`,``),E(this,`_forcedUnitId`,``),E(this,`_runtimeData`,{}),E(this,`_arrayFormulaCellData`,{}),E(this,`_arrayFormulaRange`,{}),E(this,`_runtimeArrayFormulaCellData`,{}),E(this,`_runtimeArrayFormulaRange`,{}),E(this,`_runtimeFeatureCellData`,{}),E(this,`_refOffsetX`,0),E(this,`_refOffsetY`,0),E(this,`_currentRow`,void 0),E(this,`_currentColumn`,void 0)}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){let{startRow:e,endRow:t,startColumn:n,endColumn:r}=this.getRangePosition();return e<0||n<0||t>=this.getActiveSheetRowCount()||r>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{x:e,y:t}=this.getRefOffset(),n=ge(this.getRangeData(),e,t);return Number.isNaN(n.startRow)&&(n.startRow=0),Number.isNaN(n.startColumn)&&(n.startColumn=0),Number.isNaN(n.endRow)&&(n.endRow=this.getActiveSheetRowCount()-1),Number.isNaN(n.endColumn)&&(n.endColumn=this.getActiveSheetColumnCount()-1),n}isReferenceObject(){return!0}iterator(e){let{startRow:t,endRow:n,startColumn:r,endColumn:i}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(j.create(D.VALUE),t,r);let a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let s=t;s<=n;s++)for(let n=r;n<=i;n++){if(s<0||n<0)return e(j.create(D.REF),s,n);let i=this.getCellData(s,n),c=!1;if(mi(i)){c=e(null,s,n);continue}let l=this.getCellValueObject(i);if(s===t&&n===r){let e=this.getCellPattern(a,o,s,n);if(e&&l.isNumber()){let t=Number(l.getValue());l=R.create(t,e)}}if(c=e(l,s,n),c===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return j.create(D.VALUE);let{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return R.create(0);let r=this.getCellValueObject(n),i=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(i,a,e,t);if(o&&r.isNumber()){let e=Number(r.getValue());r=R.create(e,o)}return r}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}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeArrayFormulaRange(){return this._runtimeArrayFormulaRange}setRuntimeArrayFormulaRange(e){this._runtimeArrayFormulaRange=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(){let e=this.getRangeData();return e.endRow-e.startRow+1}getColumnCount(){let 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 j.create(D.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){let t=hi(e);if(Ve.has(t))return j.create(t);if(e.t===i.NUMBER){let n=this._getPatternByCell(e);return pe(n)?z.create(t.toString()):ua(t,n)}return e.t===i.STRING||e.t===i.FORCE_STRING?z.create(t.toString()):e.t===i.BOOLEAN?ca(t):ga.create(t)}_getPatternByCell(e){var t;let n=this._unitStylesData[this.getUnitId()];if(!n)return``;let r=n.getStyleByCell(e);return(r==null||(t=r.n)==null?void 0:t.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;return(e=this._runtimeData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e;return(e=this._arrayFormulaCellData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e;return(e=this._runtimeArrayFormulaCellData)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentActiveArrayFormulaRange(){var e;return(e=this._arrayFormulaRange)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaRange(){var e;return(e=this._runtimeArrayFormulaRange)==null||(e=e[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCellData(e,t){let n=this.getCurrentActiveSheetData(),r=this.getCurrentRuntimeSheetData(),i=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData(),o=new b(this.getCurrentActiveArrayFormulaRange()),s=new b(this.getCurrentRuntimeActiveArrayFormulaRange()),c=(r==null?void 0:r.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t);if(c)return c;if(c=i==null?void 0:i.getValue(e,t),c){let n=!1;return o.forValue((r,i,a)=>{if(e>=a.startRow&&e<=a.endRow&&t>=a.startColumn&&t<=a.endColumn&&s.getValue(r,i))return n=!0,!1}),n?null:c}return n==null?void 0:n.cellData.getValue(e,t)}getRuntimeFeatureCellValue(e,t){return _i(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let n=e,r=t,i=this.getRangeData();n||(n=i.startRow),r||(r=i.startColumn);let a=this.getCellData(n,r);return a?this.getCellValueObject(a):j.create(D.VALUE)}setCurrentRowAndColumn(e,t){this._currentRow=e,this._currentColumn=t}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getCellPattern(e,t,n,r){var i,a;let o=this._unitStylesData[e];if(!o)return``;let s=(i=this._unitData[e])==null||(i=i[t])==null||(i=i.cellData)==null?void 0:i.getValue(n,r);if(!s)return``;let c=o.getStyleByCell(s);return(c==null||(a=c.n)==null?void 0:a.pattern)||``}toArrayValueObject(e=!0){var t;let{startRow:n,endRow:r,startColumn:i,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${n}_${r}_${i}_${a}`,s=va.get(o);if(s&&e)return s;let c=r-n+1,l=a-i+1;if(c<0||l<0)return this._getBlankArrayValueObject();let u=Array(c);this.iterator((e,t,r)=>{let a=t-n,o=r-i;u[a]||(u[a]=Array(l)),e==null&&(e=I.create()),u[a][o]=e});let d={calculateValueList:u,rowCount:u.length,columnCount:((t=u[0])==null?void 0:t.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:i},f=B.create(d);return e&&va.set(o,f),f}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(){let e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return B.create(e)}},ba=class extends Ue{constructor(e){super(),this._promise=e}isAsyncObject(){return!0}async getValue(){return this._promise}},xa=class extends Ue{constructor(e){super(),this._promiseList=e}isAsyncArrayObject(){return!0}async getValue(){var e;let t=[];for(let e=0;e<this._promiseList.length;e++){let n=this._promiseList[e];t[e]==null&&(t[e]=[]);for(let r=0;r<n.length;r++){let i=n[r];i.isAsyncObject()?t[e][r]=await i.getValue():t[e][r]=i}}let n={calculateValueList:t,rowCount:t.length,columnCount:((e=t[0])==null?void 0:e.length)||0,unitId:``,sheetId:``,row:0,column:0};return B.create(n)}},Sa=class extends ya{constructor(e,t,n){super(``),this.setRangeData(e),t&&this.setForcedSheetIdDirect(t),n&&this.setForcedUnitIdDirect(n)}isRange(){return!0}},Ca=class extends ya{constructor(e){super(e);let t=Jr(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName),this.setRangeData(t.range)}isCell(){return!0}unionBy(e){if(!e.isCell())return j.create(D.REF);let t=e,n=this.unionRange(this.getRangeData(),t.getRangeData());return this._createRange(n)}unionRange(e,t){let n=e.startRow,r=e.startColumn,i=t.startRow,a=t.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return n>i?(o.startRow=i,o.endRow=n):(o.startRow=n,o.endRow=i),r>a?(o.startColumn=a,o.endColumn=r):(o.startColumn=r,o.endColumn=a),e.startAbsoluteRefType&&(o.startAbsoluteRefType=e.startAbsoluteRefType),t.startAbsoluteRefType&&(o.endAbsoluteRefType=t.startAbsoluteRefType),o}_createRange(e){let t=new Sa(e,this.getForcedSheetId(),this.getForcedUnitId());t.setUnitData(this.getUnitData()),t.setDefaultSheetId(this.getDefaultSheetId()),t.setDefaultUnitId(this.getDefaultUnitId()),t.setRuntimeData(this.getRuntimeData()),t.setUnitStylesData(this.getUnitStylesData()),t.setArrayFormulaCellData(this.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),t.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());let{x:n,y:r}=this.getRefOffset();t.setRefOffset(n,r);let i=this.getForcedSheetId();t.setForcedSheetName(this.getForcedSheetName()),i!=null&&t.setForcedSheetIdDirect(i);let a=this.getForcedUnitId();return a&&t.setForcedUnitIdDirect(a),t}},wa=class extends ya{constructor(e){super(e);let t=Jr(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName);let n={...t.range,startColumn:t.range.startColumn,startRow:NaN,endColumn:t.range.endColumn,endRow:NaN,rangeType:C.COLUMN};this.setRangeData(n)}isColumn(){return!0}unionBy(e){if(!e.isColumn())return j.create(D.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return j.create(D.REF);let n=this.getRangeData(),r=t.getRangeData(),i=r.startColumn;if(i>=n.startColumn&&i<=n.endColumn)return this;let a=n.startColumn;return i>a?n.endColumn=i:(n.startColumn=i,n.endColumn=a),r.startAbsoluteRefType&&(n.endAbsoluteRefType=r.startAbsoluteRefType),n.rangeType=C.COLUMN,this.setToken(`${this.getToken()}${A.COLON}${t.getToken()}`),this}},Ta=class extends ya{constructor(e){super(e);let t=Jr(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName);let n={...t.range,startColumn:NaN,startRow:t.range.startRow,endColumn:NaN,endRow:t.range.endRow,rangeType:C.ROW};this.setRangeData(n)}isRow(){return!0}unionBy(e){if(!e.isRow())return j.create(D.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return j.create(D.REF);let n=this.getRangeData(),r=t.getRangeData(),i=r.startRow;if(i>=n.startRow&&i<=n.endRow)return this;let a=n.startRow;return i>a?n.endRow=i:(n.startRow=i,n.endRow=a),r.startAbsoluteRefType&&(n.endAbsoluteRefType=r.startAbsoluteRefType),n.rangeType=C.ROW,this.setToken(`${this.getToken()}${A.COLON}${t.getToken()}`),this}};function V(e,t,n,r){let i=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1,o=[];for(let s=0;s<e;s++){let e=[];for(let o=0;o<t;o++){if(i===1&&a===1){let t=n.isArray()?n.get(0,0):n;e.push(t);continue}if(i===1&&o<a){let t=n.get(0,o);e.push(t);continue}if(a===1&&s<i){let t=n.get(s,0);e.push(t);continue}if(s>=i||o>=a){e.push(r==null?I.create():r);continue}let t=n.get(s,o);e.push(t)}o.push(e)}return Ea(o,e,t)}function Ea(e,t,n,r=``,i=``){let a={calculateValueList:e,rowCount:t,columnCount:n,unitId:r,sheetId:i,row:-1,column:-1};return B.create(a)}function Da(e){let t=[k.EQUALS,k.NOT_EQUAL,k.GREATER_THAN_OR_EQUAL,k.GREATER_THAN,k.LESS_THAN_OR_EQUAL,k.LESS_THAN];for(let n of t)if(e.startsWith(n)){let t=e.substring(n.length);return[n,ga.create(t)]}return[k.EQUALS,ga.create(e)]}function Oa(e,t,n,r){if(!n)if(t.isString()){let[e,r]=Da(`${t.getValue()}`);n=e,t=r}else n=k.EQUALS;return e.compare(t,n,r)}function ka(e,t){let n=e.getRowCount(),r=e.getColumnCount(),i=t.getRowCount(),a=t.getColumnCount(),o=e,s=t;if(n!==i||r!==a){let c=Math.max(n,i),l=Math.max(r,a);o=V(c,l,e),s=V(c,l,t)}return o.mapValue((e,t,n)=>{let r=s.get(t,n);return e!=null&&e.isError()?e:r!=null&&r.isError()?r:e!=null&&e.isBoolean()&&r!=null&&r.isBoolean()?ca(e.getValue()&&r.getValue()):L.create(!1)})}function Aa(e){let t=e.getValue(),n=0;return t&&(n=1),R.create(n)}function ja(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?!0:e.isReferenceObject()?!!(e.isCell()||e.getRowCount()===1&&e.getColumnCount()===1):(e=e,!!(e.isString()||e.isNumber()||e.isBoolean()||e.isError()||e.isNull()))}function Ma(e){let t=e==null?void 0:e.getPattern(),n={},r={};if(t&&(n={s:{n:{pattern:t}}}),e!=null&&e.getCustomData()&&(r={custom:e.getCustomData()}),e==null)return{v:null,...n};if(e.isError())return{v:e.getErrorType(),t:i.STRING,...n,...r};if(e.isValueObject()){let t=e,a=t.getValue();return t.isNumber()?{v:a,t:i.NUMBER,...n,...r}:t.isBoolean()?{v:a?1:0,t:i.BOOLEAN,...n,...r}:t.isString()?{v:a,t:i.STRING,...n,...r}:t.isNull()?{v:null,...n,...r}:{v:a,t:i.STRING,...n,...r}}}function Na(e){let t=0,n=0;return e.forEach((e,r)=>{if(r%2==1)if(e.isArray()){let r=e;t=Math.max(t,r.getRowCount()),n=Math.max(n,r.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)}),{maxRowLength:t,maxColumnLength:n}}function Pa(e,t){if(e.length===0||e.length%2!=0)return{isError:!0,errorObject:j.create(D.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let n=null,r=-1,i=-1;if(t){if(!t.isReferenceObject())return{isError:!0,errorObject:j.create(D.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};n=t.toArrayValueObject(),r=n.getRowCount(),i=n.getColumnCount()}let a=0,o=0,s=!1,c=[];for(let t=0;t<e.length;t++)if(t%2==1){let n=e[t-1],l=e[t];if(!n.isReferenceObject())return{isError:!0,errorObject:j.create(D.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let u=n.toArrayValueObject(),d=u.getRowCount(),f=u.getColumnCount();t===1&&r===-1&&i===-1?(r=d,i=f):!s&&(r!==d||i!==f)&&(s=!0);let p=l;l.isReferenceObject()&&(p=l.toArrayValueObject()),a=Math.max(a,p.isArray()?p.getRowCount():1),o=Math.max(o,p.isArray()?p.getColumnCount():1),c.push(u),c.push(p)}return{isError:!1,errorObject:null,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:n,variants:c}}function Fa(e){return e.isArray()?e:B.createByArray([[e.getValue()]])}function Ia(e,t){let{formulaName:n,maxRowLength:r,maxColumnLength:i,isNumberSensitive:a=!1,targetRange:o}=t,s=[];for(let t=0;t<e.length;t++){if(t%2==1)continue;let n=e[t],a=e[t+1],o=V(r,i,a,j.create(D.NA));s.push({range:n,criteriaArray:o})}if(s.length===0)return[];let c=[];return s[0].criteriaArray.iterator((e,t,r)=>{let i;for(let e=0;e<s.length;e++){let{range:n,criteriaArray:o}=s[e],c=o.get(t,r);if(!c)continue;let l=Oa(n,c);if(a&&(l=La(l,n,c)),i===void 0){i=l;continue}i=ka(i,l)}let l;if(n===`COUNTIFS`){let e=0;i.iterator(t=>{t!=null&&t.isBoolean()&&t.getValue()===!0&&e++}),l=R.create(e)}else if(n===`SUMIFS`)l=o.pick(i).sum();else if(n===`AVERAGEIFS`){let e=o.pick(i),t=e.sum(),n=e.count();l=t.divided(n)}else if(n===`MAXIFS`){let e=o.pick(i);l=e.getColumnCount()===0?B.create(`0`):e.max()}else if(n===`MINIFS`){let e=o.pick(i);l=e.getColumnCount()===0?B.create(`0`):e.min()}c[t]||(c[t]=[]),c[t][r]=l}),c}function La(e,t,n){let[r,i]=Da(`${n.getValue()}`);return e.mapValue((e,n,a)=>{let o=t.get(n,a);if(o&&Ra(o,i))return e;if(o!=null&&o.isError()&&i.isError()&&o.getValue()===i.getValue())return L.create(!0);if(r===k.EQUALS||r===k.NOT_EQUAL){if(o!=null&&o.isNumber()&&i.isString()){let e=i.convertToNumberObjectValue();if(e.isNumber())return o.compare(e,r)}if(i.isNumber()&&o!=null&&o.isString()){let e=o.convertToNumberObjectValue();if(e.isNumber())return e.compare(i,r)}if(r===k.EQUALS)return L.create(!1);if(r===k.NOT_EQUAL)return L.create(!0)}return L.create(!1)})}function Ra(e,t){if(e.isNumber()&&t.isNumber()||e.isBoolean()&&t.isBoolean())return!0;let n=e.isString()&&e.getValue()===``,r=t.isString()&&t.getValue()===``;return!!((n||e.isNull())&&(r||t.isNull())||e.isString()&&!n&&t.isString()&&!r)}let za=function(e){return e[e.CELL=0]=`CELL`,e[e.COLUMN=1]=`COLUMN`,e[e.ROW=2]=`ROW`,e}({});function Ba(e,t){let n;switch(t){case za.COLUMN:n=new wa(e);break;case za.ROW:n=new Ta(e);break;case za.CELL:default:n=new Ca(e);break}return n}function Va(e,t){let n;return n=e.isCell()&&t.isCell()||e.isRow()&&t.isRow()||e.isColumn()&&t.isColumn()?e.unionBy(t):j.create(D.NAME),n}let Ha=class extends s{constructor(e){super(),this._univerInstanceService=e}generateCellValue(e,t){if(t.trim()===``)return{v:``};let n=e;if(e.startsWith(`#`)&&Dn(e.slice(1))){let{unitId:t,sheetName:r,range:i}=Zn(e.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(ie.UNIVER_SHEET);if(t===``||t===a.getUnitId())if(r===``)n=`#gid=${a.getActiveSheet().getSheetId()}&range=${Gn(i)}`;else{let e=a.getSheetBySheetName(r);e&&(n=`#gid=${e.getSheetId()}&range=${Gn(i)}`)}}else re.isLegalUrl(e)&&(n=re.normalizeUrl(e));return{p:ne.create().insertLink(t,n).getData()}}};Ha=dr([P(0,d)],Ha);const Ua=se(`univer.formula.hyperlink-engine-formula.service`);let Wa=function(e){return e[e.IDLE=0]=`IDLE`,e[e.START=1]=`START`,e[e.START_DEPENDENCY=2]=`START_DEPENDENCY`,e[e.START_CALCULATION=3]=`START_CALCULATION`,e[e.CURRENTLY_CALCULATING=4]=`CURRENTLY_CALCULATING`,e[e.START_DEPENDENCY_ARRAY_FORMULA=5]=`START_DEPENDENCY_ARRAY_FORMULA`,e[e.START_CALCULATION_ARRAY_FORMULA=6]=`START_CALCULATION_ARRAY_FORMULA`,e[e.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]=`CURRENTLY_CALCULATING_ARRAY_FORMULA`,e[e.CALCULATION_COMPLETED=8]=`CALCULATION_COMPLETED`,e}({}),Ga=function(e){return e[e.INITIAL=0]=`INITIAL`,e[e.STOP_EXECUTION=1]=`STOP_EXECUTION`,e[e.NOT_EXECUTED=2]=`NOT_EXECUTED`,e[e.SUCCESS=3]=`SUCCESS`,e}({}),Ka=class extends s{constructor(e,t){super(),this._currentConfigService=e,this._hyperlinkEngineFormulaService=t,E(this,`_formulaExecuteStage`,Wa.IDLE),E(this,`_stopState`,!1),E(this,`_currentRow`,-1),E(this,`_currentColumn`,-1),E(this,`_currentRowCount`,-1/0),E(this,`_currentColumnCount`,-1/0),E(this,`_currentSubUnitId`,``),E(this,`_currentUnitId`,``),E(this,`_runtimeData`,{}),E(this,`_runtimeOtherData`,{}),E(this,`_unitArrayFormulaRange`,{}),E(this,`_unitArrayFormulaEmbeddedMap`,{}),E(this,`_runtimeArrayFormulaCellData`,{}),E(this,`_runtimeClearArrayFormulaCellData`,{}),E(this,`_runtimeFeatureRange`,{}),E(this,`_runtimeFeatureCellData`,{}),E(this,`_runtimeImageFormulaData`,[]),E(this,`_functionsExecutedState`,Ga.INITIAL),E(this,`_functionDefinitionPrivacyVar`,new Map),E(this,`_totalFormulasToCalculate`,0),E(this,`_completedFormulasCount`,0),E(this,`_totalArrayFormulasToCalculate`,0),E(this,`_completedArrayFormulasCount`,0),E(this,`_formulaCycleIndex`,0),E(this,`_isCycleDependency`,!1),E(this,`_dependencyTreeModelData`,[])}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=Ga.SUCCESS}markedAsNoFunctionsExecuted(){this._functionsExecutedState=Ga.NOT_EXECUTED}markedAsStopFunctionsExecuted(){this._functionsExecutedState=Ga.STOP_EXECUTION}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=Ga.INITIAL}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(Wa.IDLE)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=Wa.IDLE,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(){ji(),zi(),Yr()}setCurrent(e,t,n,r,i,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=n,this._currentColumnCount=r,this._currentSubUnitId=i,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,n,r){let i=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});let o=this._runtimeOtherData[a];(o[i]===void 0||o[i]===null)&&(o[i]={});let s=o[i],c=[];if(r.isReferenceObject()||r.isValueObject()&&r.isArray()){let e=r,{startRow:t,startColumn:n}=e.getRangePosition();e.iterator((e,r,i)=>{let a=this._getValueObjectOfRuntimeData(e),o=r-t,s=i-n;c[o]==null&&(c[o]=[]),c[o][s]=a})}else c=[[this._getValueObjectOfRuntimeData(r)]];(s[e]===void 0||s[e]===null)&&(s[e]={}),(s[e][n]===void 0||s[e][n]===null)&&(s[e][n]={}),s[e][n][t]=c}setRuntimeData(e){let t=this._currentRow,n=this._currentColumn,r=this._currentRowCount,i=this.currentColumnCount,a=this._currentSubUnitId,o=this._currentUnitId;this._runtimeData[o]==null&&(this._runtimeData[o]={});let s=this._runtimeData[o];s[a]==null&&(s[a]=new b);let c=s[a];this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});let l=this._unitArrayFormulaRange[o];(l[a]===null||l[a]===void 0)&&(l[a]={});let u=new b(l[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});let d=this._runtimeArrayFormulaCellData[o];d[a]==null&&(d[a]=new b);let f=d[a];this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});let p=this._runtimeClearArrayFormulaCellData[o];p[a]==null&&(p[a]=new b);let m=p[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){let s=e,{startRow:l,startColumn:d,endRow:p,endColumn:h}=s.getRangePosition();if(l===p&&d===h){let e=s.getFirstCell(),r=this._getValueObjectOfRuntimeData(e);c.setValue(t,n,r),m.setValue(t,n,r),ci.set(o,a,n,e.getValue(),t,!0);return}let g={startRow:t,startColumn:n,endRow:p-l+t,endColumn:h-d+n};if(u.setValue(t,n,g),this._checkIfArrayFormulaRangeHasData(o,a,t,n,g)||this._checkIfArrayFormulaExceeded(r,i,g)){let e=this._getValueObjectOfRuntimeData(j.create(D.SPILL));c.setValue(t,n,e),m.setValue(t,n,e),ci.set(o,a,n,D.SPILL,t,!0);let r=this._currentConfigService.getUnitData();s.iterator((i,s,c)=>{var u;let p=s-l+t,m=c-d+n,h=(u=r[o])==null||(u=u[a])==null?void 0:u.cellData.getValue(p,m);if(s===l&&c===d)f.setValue(t,n,e);else if(h!=null)h.v==null&&(h.v=``),f.setValue(p,m,h);else if(this._isInOtherArrayFormulaRange(o,a,t,n,p,m))return!0;else f.setValue(p,m,{v:``})})}else{let e=j.create(D.SPILL);s.iterator((r,i,s)=>{ci.set(o,a,n-d+s,r?r.getValue():0,t-l+i,!0);let u=this._getValueObjectOfRuntimeData(r);if(i===l&&s===d){if(r!=null&&r.isError()&&r.isEqualType(e))return m.setValue(t,n,{}),c.setValue(t,n,{...this._getValueObjectOfRuntimeData(e)}),!1;c.setValue(t,n,{...u})}let p=i-l+t,h=s-d+n;f.setValue(p,h,u)})}}else{let r=this._getValueObjectOfRuntimeData(e);if(c.setValue(t,n,r),e.isString()&&e.isImage()){let r=e.getImageInfo();r&&this._runtimeImageFormulaData.push({...r,unitId:o,sheetId:a,row:t,column:n})}ci.set(o,a,n,e.getValue(),t,!0),m.setValue(t,n,r)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):Ma(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getUnitArrayFormulaEmbeddedMap(){return this._unitArrayFormulaEmbeddedMap}setUnitArrayFormulaEmbeddedMap(){let e=this._currentUnitId,t=this._currentSubUnitId,n=this._currentRow,r=this._currentColumn,i=this._unitArrayFormulaEmbeddedMap;i[e]==null&&(i[e]={}),i[e][t]==null&&(i[e][t]={}),i[e][t][n]==null&&(i[e][t][n]={}),i[e][t][n][r]=!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(){va.clear()}_checkIfArrayFormulaRangeHasData(e,t,n,r,i){var a;let{startRow:o,startColumn:s,endRow:c,endColumn:l}=i,u=this._currentConfigService.getUnitData(),d=this._currentConfigService.getArrayFormulaCellData();(a=this._unitArrayFormulaRange[e])==null||(a=a[t])==null||(a=a[n])==null||a[r];for(let i=o;i<=c;i++)for(let a=s;a<=l;a++){var f,p,m;if(i===n&&r===a)continue;let o=(f=this._runtimeData)==null||(f=f[e])==null||(f=f[t])==null?void 0:f.getValue(i,a);d==null||(p=d[e])==null||(p=p[t])==null||p.getValue(i,a);let s=u==null||(m=u[e])==null||(m=m[t])==null||(m=m.cellData)==null?void 0:m.getValue(i,a),c=this._getRuntimeFeatureCellValue(i,a,t,e);if(!mi(o)||this._isInOtherArrayFormulaRange(e,t,n,r,i,a)||!mi(s)||!mi(c))return!0}return!1}_getRuntimeFeatureCellValue(e,t,n,r){return _i(e,t,n,r,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,n,r,i,a){var o;let s=(o=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:o[t];if(s==null)return!1;let c=!1;return new b(s).forValue((o,s,l)=>{var u;if(o===n&&s===r)return;let d=this._isInArrayFormulaRange(l,i,a),f=(u=this._runtimeData[e])==null||(u=u[t])==null?void 0:u.getValue(o,s);d&&(f==null?void 0:f.v)!==D.SPILL&&(c=!0)}),c}_isInArrayFormulaRange(e,t,n){if(e==null)return!1;let{startRow:r,startColumn:i,endRow:a,endColumn:o}=e;return t>=r&&t<=a&&n>=i&&n<=o}_checkIfArrayFormulaExceeded(e,t,n){return n.endRow>=e||n.endColumn>=t}_isInDirtyRange(e,t,n,r){let i=this._currentConfigService.getDirtyRanges();return i.length===0?!0:Et(i,e,t,n,r)}};Ka=dr([P(0,fi),P(1,Ua)],Ka);const qa=se(`univer.formula.runtime.service`);let H=function(e){return e[e.REFERENCE=1]=`REFERENCE`,e[e.VALUE=2]=`VALUE`,e[e.OPERATOR=3]=`OPERATOR`,e[e.FUNCTION=4]=`FUNCTION`,e[e.LAMBDA=5]=`LAMBDA`,e[e.LAMBDA_PARAMETER=6]=`LAMBDA_PARAMETER`,e[e.ERROR=7]=`ERROR`,e[e.BASE=8]=`BASE`,e[e.ROOT=9]=`ROOT`,e[e.UNION=10]=`UNION`,e[e.PREFIX=11]=`PREFIX`,e[e.SUFFIX=12]=`SUFFIX`,e[e.NULL=13]=`NULL`,e}({});const Ja=new Map([[H.REFERENCE,7],[H.VALUE,9],[H.OPERATOR,8],[H.FUNCTION,6],[H.LAMBDA,1],[H.LAMBDA_PARAMETER,2],[H.ROOT,10],[H.UNION,3],[H.PREFIX,4],[H.SUFFIX,5]]);var Ya=class{constructor(e){this._token=e,E(this,`_children`,[]),E(this,`_definedNames`,void 0),E(this,`_parent`,void 0),E(this,`_valueObject`,void 0),E(this,`_calculateState`,!1),E(this,`_async`,!1),E(this,`_address`,!1),E(this,`_isForcedCalculateFunction`,!1)}dispose(){var e;this._children.forEach(e=>{e.dispose()}),(e=this._valueObject)==null||e.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return H.BASE}resetCalculationState(){this._children.forEach(e=>{e.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(e){this._parent=e,e.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}async executeAsync(){return Promise.resolve(Pe.SUCCESS)}serialize(){let e=this.getToken(),t=this.getChildren(),n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e];n.push(r.serialize())}let i={token:e,nodeType:this.nodeType};return r>0&&(i.children=n),i}hasDefinedName(e){var t;return((t=this._definedNames)==null?void 0:t.includes(e))||!1}setDefinedNames(e){this._definedNames=e}getDefinedNames(){return this._definedNames}},Xa=class e extends Ya{constructor(e){super(e),E(this,`_errorValueObject`,void 0),this._errorValueObject=j.create(e)}get nodeType(){return H.ERROR}static create(t){return new e(t)}getValue(){return this._errorValueObject}},Za=class{get zIndex(){return 0}dispose(){}create(e,t,n){let r;return r=e instanceof F?e.getToken():e,new Ya(r)}},Qa=class extends Ya{get nodeType(){return H.ROOT}execute(){let e=this.getChildren();if(e.length>1){this.setValue(j.create(D.VALUE));return}let t=e[0];t==null?this.setValue(j.create(D.VALUE)):this.setValue(t.getValue())}},$a=class extends Za{get zIndex(){return Ja.get(H.ROOT)||100}checkAndCreateNodeType(e){if(e instanceof F&&e.getToken()===`R_1`)return new Qa(`R_1`)}};let eo=function(e){return e.DATE=`DATE`,e.DATEDIF=`DATEDIF`,e.DATEVALUE=`DATEVALUE`,e.DAY=`DAY`,e.DAYS=`DAYS`,e.DAYS360=`DAYS360`,e.EDATE=`EDATE`,e.EOMONTH=`EOMONTH`,e.EPOCHTODATE=`EPOCHTODATE`,e.HOUR=`HOUR`,e.ISOWEEKNUM=`ISOWEEKNUM`,e.MINUTE=`MINUTE`,e.MONTH=`MONTH`,e.NETWORKDAYS=`NETWORKDAYS`,e.NETWORKDAYS_INTL=`NETWORKDAYS.INTL`,e.NOW=`NOW`,e.SECOND=`SECOND`,e.TIME=`TIME`,e.TIMEVALUE=`TIMEVALUE`,e.TO_DATE=`TO_DATE`,e.TODAY=`TODAY`,e.WEEKDAY=`WEEKDAY`,e.WEEKNUM=`WEEKNUM`,e.WORKDAY=`WORKDAY`,e.WORKDAY_INTL=`WORKDAY.INTL`,e.YEAR=`YEAR`,e.YEARFRAC=`YEARFRAC`,e}({}),U=function(e){return e.BESSELI=`BESSELI`,e.BESSELJ=`BESSELJ`,e.BESSELK=`BESSELK`,e.BESSELY=`BESSELY`,e.BIN2DEC=`BIN2DEC`,e.BIN2HEX=`BIN2HEX`,e.BIN2OCT=`BIN2OCT`,e.BITAND=`BITAND`,e.BITLSHIFT=`BITLSHIFT`,e.BITOR=`BITOR`,e.BITRSHIFT=`BITRSHIFT`,e.BITXOR=`BITXOR`,e.COMPLEX=`COMPLEX`,e.CONVERT=`CONVERT`,e.DEC2BIN=`DEC2BIN`,e.DEC2HEX=`DEC2HEX`,e.DEC2OCT=`DEC2OCT`,e.DELTA=`DELTA`,e.ERF=`ERF`,e.ERF_PRECISE=`ERF.PRECISE`,e.ERFC=`ERFC`,e.ERFC_PRECISE=`ERFC.PRECISE`,e.GESTEP=`GESTEP`,e.HEX2BIN=`HEX2BIN`,e.HEX2DEC=`HEX2DEC`,e.HEX2OCT=`HEX2OCT`,e.IMABS=`IMABS`,e.IMAGINARY=`IMAGINARY`,e.IMARGUMENT=`IMARGUMENT`,e.IMCONJUGATE=`IMCONJUGATE`,e.IMCOS=`IMCOS`,e.IMCOSH=`IMCOSH`,e.IMCOT=`IMCOT`,e.IMCOTH=`IMCOTH`,e.IMCSC=`IMCSC`,e.IMCSCH=`IMCSCH`,e.IMDIV=`IMDIV`,e.IMEXP=`IMEXP`,e.IMLN=`IMLN`,e.IMLOG=`IMLOG`,e.IMLOG10=`IMLOG10`,e.IMLOG2=`IMLOG2`,e.IMPOWER=`IMPOWER`,e.IMPRODUCT=`IMPRODUCT`,e.IMREAL=`IMREAL`,e.IMSEC=`IMSEC`,e.IMSECH=`IMSECH`,e.IMSIN=`IMSIN`,e.IMSINH=`IMSINH`,e.IMSQRT=`IMSQRT`,e.IMSUB=`IMSUB`,e.IMSUM=`IMSUM`,e.IMTAN=`IMTAN`,e.IMTANH=`IMTANH`,e.OCT2BIN=`OCT2BIN`,e.OCT2DEC=`OCT2DEC`,e.OCT2HEX=`OCT2HEX`,e}({}),W=function(e){return e.ACCRINT=`ACCRINT`,e.ACCRINTM=`ACCRINTM`,e.AMORDEGRC=`AMORDEGRC`,e.AMORLINC=`AMORLINC`,e.COUPDAYBS=`COUPDAYBS`,e.COUPDAYS=`COUPDAYS`,e.COUPDAYSNC=`COUPDAYSNC`,e.COUPNCD=`COUPNCD`,e.COUPNUM=`COUPNUM`,e.COUPPCD=`COUPPCD`,e.CUMIPMT=`CUMIPMT`,e.CUMPRINC=`CUMPRINC`,e.DB=`DB`,e.DDB=`DDB`,e.DISC=`DISC`,e.DOLLARDE=`DOLLARDE`,e.DOLLARFR=`DOLLARFR`,e.DURATION=`DURATION`,e.EFFECT=`EFFECT`,e.FV=`FV`,e.FVSCHEDULE=`FVSCHEDULE`,e.INTRATE=`INTRATE`,e.IPMT=`IPMT`,e.IRR=`IRR`,e.ISPMT=`ISPMT`,e.MDURATION=`MDURATION`,e.MIRR=`MIRR`,e.NOMINAL=`NOMINAL`,e.NPER=`NPER`,e.NPV=`NPV`,e.ODDFPRICE=`ODDFPRICE`,e.ODDFYIELD=`ODDFYIELD`,e.ODDLPRICE=`ODDLPRICE`,e.ODDLYIELD=`ODDLYIELD`,e.PDURATION=`PDURATION`,e.PMT=`PMT`,e.PPMT=`PPMT`,e.PRICE=`PRICE`,e.PRICEDISC=`PRICEDISC`,e.PRICEMAT=`PRICEMAT`,e.PV=`PV`,e.RATE=`RATE`,e.RECEIVED=`RECEIVED`,e.RRI=`RRI`,e.SLN=`SLN`,e.SYD=`SYD`,e.TBILLEQ=`TBILLEQ`,e.TBILLPRICE=`TBILLPRICE`,e.TBILLYIELD=`TBILLYIELD`,e.VDB=`VDB`,e.XIRR=`XIRR`,e.XNPV=`XNPV`,e.YIELD=`YIELD`,e.YIELDDISC=`YIELDDISC`,e.YIELDMAT=`YIELDMAT`,e}({}),to=function(e){return e.CELL=`CELL`,e.ERROR_TYPE=`ERROR.TYPE`,e.INFO=`INFO`,e.ISBETWEEN=`ISBETWEEN`,e.ISBLANK=`ISBLANK`,e.ISDATE=`ISDATE`,e.ISEMAIL=`ISEMAIL`,e.ISERR=`ISERR`,e.ISERROR=`ISERROR`,e.ISEVEN=`ISEVEN`,e.ISFORMULA=`ISFORMULA`,e.ISLOGICAL=`ISLOGICAL`,e.ISNA=`ISNA`,e.ISNONTEXT=`ISNONTEXT`,e.ISNUMBER=`ISNUMBER`,e.ISODD=`ISODD`,e.ISOMITTED=`ISOMITTED`,e.ISREF=`ISREF`,e.ISTEXT=`ISTEXT`,e.ISURL=`ISURL`,e.N=`N`,e.NA=`NA`,e.SHEET=`SHEET`,e.SHEETS=`SHEETS`,e.TYPE=`TYPE`,e}({}),no=function(e){return e.AND=`AND`,e.BYCOL=`BYCOL`,e.BYROW=`BYROW`,e.FALSE=`FALSE`,e.IF=`IF`,e.IFERROR=`IFERROR`,e.IFNA=`IFNA`,e.IFS=`IFS`,e.LAMBDA=`LAMBDA`,e.LET=`LET`,e.MAKEARRAY=`MAKEARRAY`,e.MAP=`MAP`,e.NOT=`NOT`,e.OR=`OR`,e.REDUCE=`REDUCE`,e.SCAN=`SCAN`,e.SWITCH=`SWITCH`,e.TRUE=`TRUE`,e.XOR=`XOR`,e}({}),G=function(e){return e.ADDRESS=`ADDRESS`,e.AREAS=`AREAS`,e.CHOOSE=`CHOOSE`,e.CHOOSECOLS=`CHOOSECOLS`,e.CHOOSEROWS=`CHOOSEROWS`,e.COLUMN=`COLUMN`,e.COLUMNS=`COLUMNS`,e.DROP=`DROP`,e.EXPAND=`EXPAND`,e.FILTER=`FILTER`,e.FORMULATEXT=`FORMULATEXT`,e.GETPIVOTDATA=`GETPIVOTDATA`,e.HLOOKUP=`HLOOKUP`,e.HSTACK=`HSTACK`,e.HYPERLINK=`HYPERLINK`,e.IMAGE=`IMAGE`,e.INDEX=`INDEX`,e.INDIRECT=`INDIRECT`,e.LOOKUP=`LOOKUP`,e.MATCH=`MATCH`,e.OFFSET=`OFFSET`,e.ROW=`ROW`,e.ROWS=`ROWS`,e.RTD=`RTD`,e.SORT=`SORT`,e.SORTBY=`SORTBY`,e.TAKE=`TAKE`,e.TOCOL=`TOCOL`,e.TOROW=`TOROW`,e.TRANSPOSE=`TRANSPOSE`,e.UNIQUE=`UNIQUE`,e.VLOOKUP=`VLOOKUP`,e.VSTACK=`VSTACK`,e.WRAPCOLS=`WRAPCOLS`,e.WRAPROWS=`WRAPROWS`,e.XLOOKUP=`XLOOKUP`,e.XMATCH=`XMATCH`,e}({}),K=function(e){return e.ABS=`ABS`,e.ACOS=`ACOS`,e.ACOSH=`ACOSH`,e.ACOT=`ACOT`,e.ACOTH=`ACOTH`,e.AGGREGATE=`AGGREGATE`,e.ARABIC=`ARABIC`,e.ASIN=`ASIN`,e.ASINH=`ASINH`,e.ATAN=`ATAN`,e.ATAN2=`ATAN2`,e.ATANH=`ATANH`,e.BASE=`BASE`,e.CEILING=`CEILING`,e.CEILING_MATH=`CEILING.MATH`,e.CEILING_PRECISE=`CEILING.PRECISE`,e.COMBIN=`COMBIN`,e.COMBINA=`COMBINA`,e.COS=`COS`,e.COSH=`COSH`,e.COT=`COT`,e.COTH=`COTH`,e.CSC=`CSC`,e.CSCH=`CSCH`,e.DECIMAL=`DECIMAL`,e.DEGREES=`DEGREES`,e.EVEN=`EVEN`,e.EXP=`EXP`,e.FACT=`FACT`,e.FACTDOUBLE=`FACTDOUBLE`,e.FLOOR=`FLOOR`,e.FLOOR_MATH=`FLOOR.MATH`,e.FLOOR_PRECISE=`FLOOR.PRECISE`,e.GCD=`GCD`,e.INT=`INT`,e.ISO_CEILING=`ISO.CEILING`,e.LCM=`LCM`,e.LET=`LET`,e.LN=`LN`,e.LOG=`LOG`,e.LOG10=`LOG10`,e.MDETERM=`MDETERM`,e.MINVERSE=`MINVERSE`,e.MMULT=`MMULT`,e.MOD=`MOD`,e.MROUND=`MROUND`,e.MULTINOMIAL=`MULTINOMIAL`,e.MUNIT=`MUNIT`,e.ODD=`ODD`,e.PI=`PI`,e.POWER=`POWER`,e.PRODUCT=`PRODUCT`,e.QUOTIENT=`QUOTIENT`,e.RADIANS=`RADIANS`,e.RAND=`RAND`,e.RANDARRAY=`RANDARRAY`,e.RANDBETWEEN=`RANDBETWEEN`,e.ROMAN=`ROMAN`,e.ROUND=`ROUND`,e.ROUNDBANK=`ROUNDBANK`,e.ROUNDDOWN=`ROUNDDOWN`,e.ROUNDUP=`ROUNDUP`,e.SEC=`SEC`,e.SECH=`SECH`,e.SERIESSUM=`SERIESSUM`,e.SEQUENCE=`SEQUENCE`,e.SIGN=`SIGN`,e.SIN=`SIN`,e.SINH=`SINH`,e.SQRT=`SQRT`,e.SQRTPI=`SQRTPI`,e.SUBTOTAL=`SUBTOTAL`,e.SUM=`SUM`,e.SUMIF=`SUMIF`,e.SUMIFS=`SUMIFS`,e.SUMPRODUCT=`SUMPRODUCT`,e.SUMSQ=`SUMSQ`,e.SUMX2MY2=`SUMX2MY2`,e.SUMX2PY2=`SUMX2PY2`,e.SUMXMY2=`SUMXMY2`,e.TAN=`TAN`,e.TANH=`TANH`,e.TRUNC=`TRUNC`,e}({}),q=function(e){return e.AVEDEV=`AVEDEV`,e.AVERAGE=`AVERAGE`,e.AVERAGE_WEIGHTED=`AVERAGE.WEIGHTED`,e.AVERAGEA=`AVERAGEA`,e.AVERAGEIF=`AVERAGEIF`,e.AVERAGEIFS=`AVERAGEIFS`,e.BETA_DIST=`BETA.DIST`,e.BETA_INV=`BETA.INV`,e.BINOM_DIST=`BINOM.DIST`,e.BINOM_DIST_RANGE=`BINOM.DIST.RANGE`,e.BINOM_INV=`BINOM.INV`,e.CHISQ_DIST=`CHISQ.DIST`,e.CHISQ_DIST_RT=`CHISQ.DIST.RT`,e.CHISQ_INV=`CHISQ.INV`,e.CHISQ_INV_RT=`CHISQ.INV.RT`,e.CHISQ_TEST=`CHISQ.TEST`,e.CONFIDENCE_NORM=`CONFIDENCE.NORM`,e.CONFIDENCE_T=`CONFIDENCE.T`,e.CORREL=`CORREL`,e.COUNT=`COUNT`,e.COUNTA=`COUNTA`,e.COUNTBLANK=`COUNTBLANK`,e.COUNTIF=`COUNTIF`,e.COUNTIFS=`COUNTIFS`,e.COVARIANCE_P=`COVARIANCE.P`,e.COVARIANCE_S=`COVARIANCE.S`,e.DEVSQ=`DEVSQ`,e.EXPON_DIST=`EXPON.DIST`,e.F_DIST=`F.DIST`,e.F_DIST_RT=`F.DIST.RT`,e.F_INV=`F.INV`,e.F_INV_RT=`F.INV.RT`,e.F_TEST=`F.TEST`,e.FISHER=`FISHER`,e.FISHERINV=`FISHERINV`,e.FORECAST=`FORECAST`,e.FORECAST_ETS=`FORECAST.ETS`,e.FORECAST_ETS_CONFINT=`FORECAST.ETS.CONFINT`,e.FORECAST_ETS_SEASONALITY=`FORECAST.ETS.SEASONALITY`,e.FORECAST_ETS_STAT=`FORECAST.ETS.STAT`,e.FORECAST_LINEAR=`FORECAST.LINEAR`,e.FREQUENCY=`FREQUENCY`,e.GAMMA=`GAMMA`,e.GAMMA_DIST=`GAMMA.DIST`,e.GAMMA_INV=`GAMMA.INV`,e.GAMMALN=`GAMMALN`,e.GAMMALN_PRECISE=`GAMMALN.PRECISE`,e.GAUSS=`GAUSS`,e.GEOMEAN=`GEOMEAN`,e.GROWTH=`GROWTH`,e.HARMEAN=`HARMEAN`,e.HYPGEOM_DIST=`HYPGEOM.DIST`,e.INTERCEPT=`INTERCEPT`,e.KURT=`KURT`,e.LARGE=`LARGE`,e.LINEST=`LINEST`,e.LOGEST=`LOGEST`,e.LOGNORM_DIST=`LOGNORM.DIST`,e.LOGNORM_INV=`LOGNORM.INV`,e.MARGINOFERROR=`MARGINOFERROR`,e.MAX=`MAX`,e.MAXA=`MAXA`,e.MAXIFS=`MAXIFS`,e.MEDIAN=`MEDIAN`,e.MIN=`MIN`,e.MINA=`MINA`,e.MINIFS=`MINIFS`,e.MODE_MULT=`MODE.MULT`,e.MODE_SNGL=`MODE.SNGL`,e.NEGBINOM_DIST=`NEGBINOM.DIST`,e.NORM_DIST=`NORM.DIST`,e.NORM_INV=`NORM.INV`,e.NORM_S_DIST=`NORM.S.DIST`,e.NORM_S_INV=`NORM.S.INV`,e.PEARSON=`PEARSON`,e.PERCENTILE_EXC=`PERCENTILE.EXC`,e.PERCENTILE_INC=`PERCENTILE.INC`,e.PERCENTRANK_EXC=`PERCENTRANK.EXC`,e.PERCENTRANK_INC=`PERCENTRANK.INC`,e.PERMUT=`PERMUT`,e.PERMUTATIONA=`PERMUTATIONA`,e.PHI=`PHI`,e.POISSON_DIST=`POISSON.DIST`,e.PROB=`PROB`,e.QUARTILE_EXC=`QUARTILE.EXC`,e.QUARTILE_INC=`QUARTILE.INC`,e.RANK_AVG=`RANK.AVG`,e.RANK_EQ=`RANK.EQ`,e.RSQ=`RSQ`,e.SKEW=`SKEW`,e.SKEW_P=`SKEW.P`,e.SLOPE=`SLOPE`,e.SMALL=`SMALL`,e.STANDARDIZE=`STANDARDIZE`,e.STDEV_P=`STDEV.P`,e.STDEV_S=`STDEV.S`,e.STDEVA=`STDEVA`,e.STDEVPA=`STDEVPA`,e.STEYX=`STEYX`,e.T_DIST=`T.DIST`,e.T_DIST_2T=`T.DIST.2T`,e.T_DIST_RT=`T.DIST.RT`,e.T_INV=`T.INV`,e.T_INV_2T=`T.INV.2T`,e.T_TEST=`T.TEST`,e.TREND=`TREND`,e.TRIMMEAN=`TRIMMEAN`,e.VAR_P=`VAR.P`,e.VAR_S=`VAR.S`,e.VARA=`VARA`,e.VARPA=`VARPA`,e.WEIBULL_DIST=`WEIBULL.DIST`,e.Z_TEST=`Z.TEST`,e}({}),J=function(e){return e.ASC=`ASC`,e.ARRAYTOTEXT=`ARRAYTOTEXT`,e.BAHTTEXT=`BAHTTEXT`,e.CHAR=`CHAR`,e.CLEAN=`CLEAN`,e.CODE=`CODE`,e.CONCAT=`CONCAT`,e.CONCATENATE=`CONCATENATE`,e.DBCS=`DBCS`,e.DOLLAR=`DOLLAR`,e.EXACT=`EXACT`,e.FIND=`FIND`,e.FINDB=`FINDB`,e.FIXED=`FIXED`,e.LEFT=`LEFT`,e.LEFTB=`LEFTB`,e.LEN=`LEN`,e.LENB=`LENB`,e.LOWER=`LOWER`,e.MID=`MID`,e.MIDB=`MIDB`,e.NUMBERSTRING=`NUMBERSTRING`,e.NUMBERVALUE=`NUMBERVALUE`,e.PHONETIC=`PHONETIC`,e.PROPER=`PROPER`,e.REGEXEXTRACT=`REGEXEXTRACT`,e.REGEXMATCH=`REGEXMATCH`,e.REGEXREPLACE=`REGEXREPLACE`,e.REPLACE=`REPLACE`,e.REPLACEB=`REPLACEB`,e.REPT=`REPT`,e.RIGHT=`RIGHT`,e.RIGHTB=`RIGHTB`,e.SEARCH=`SEARCH`,e.SEARCHB=`SEARCHB`,e.SUBSTITUTE=`SUBSTITUTE`,e.T=`T`,e.TEXT=`TEXT`,e.TEXTAFTER=`TEXTAFTER`,e.TEXTBEFORE=`TEXTBEFORE`,e.TEXTJOIN=`TEXTJOIN`,e.TEXTSPLIT=`TEXTSPLIT`,e.TRIM=`TRIM`,e.UNICHAR=`UNICHAR`,e.UNICODE=`UNICODE`,e.UPPER=`UPPER`,e.VALUE=`VALUE`,e.VALUETOTEXT=`VALUETOTEXT`,e.CALL=`CALL`,e.EUROCONVERT=`EUROCONVERT`,e.REGISTER_ID=`REGISTER.ID`,e}({}),ro=function(e){return e.ENCODEURL=`ENCODEURL`,e.FILTERXML=`FILTERXML`,e.WEBSERVICE=`WEBSERVICE`,e}({});const io=[eo,U,W,to,no,G,K,q,J,ro],ao=new Set(io.flatMap(e=>Object.values(e)).filter(e=>/^[A-Z]{1,3}$/.test(e)).filter(e=>{let t=oe(e);return t>0&&t<=v})),oo=new Be(5e3);function so(e,t,n,r,i){let a=oo.get(`${e}${t}`);if(a&&!co(a,i))return a;let o=n.treeBuilder(t);return Ve.has(o)?Xa.create(o):(a=r.parse(o),a==null?(console.error(`generateAstNode astNode is null`),Xa.create(o)):(oo.set(`${e}${t}`,a),a))}function co(e,t){let n=t.getDirtyDefinedNameMap(),r=t.getExecuteUnitId();if(r!=null&&n[r]!=null){let t=Object.keys(n[r]);for(let n=0,r=t.length;n<r;n++){let r=t[n];if(e.hasDefinedName(r))return!0}}return!1}function lo(e,t,n){return!!(t!=null&&co(t,n))}const uo=se(`univer.formula-function.service`);var fo=class extends s{constructor(...e){super(...e),E(this,`_functionExecutors`,new Map),E(this,`_functionDescriptions`,new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionExecutors.set(n.name,n)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionExecutors.delete(n)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.set(n.functionName,n)}return be(()=>{for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.delete(n.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){let n=e[t];this._functionDescriptions.delete(n)}}deleteFormulaAstCacheKey(...e){oo.forEach((t,n)=>{e.forEach(e=>{n.includes(e)&&oo.delete(n)})})}};let po=function(e){return e.COMPARE=`COMPARE`,e.DIVIDED=`DIVIDED`,e.MINUS=`MINUS`,e.MULTIPLY=`MULTIPLY`,e.PLUS=`PLUS`,e.UNION=`UNION`,e.CUBE=`CUBE`,e}({});var mo=class extends Ya{constructor(e,t,n){super(t),this._runtimeService=e,this._operatorString=t,this._functionExecutor=n}get nodeType(){return H.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error(`PrefixNode execute value is null`),this.setValue(j.create(D.VALUE));return}this._operatorString===Ye.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(R.create(0),e)):t=this._operatorString===Ye.AT?this._handlerAT(e):j.create(D.VALUE),this.setValue(t)}_handlerAT(e){if(!e.isReferenceObject())return j.create(D.VALUE);let t=e;if(t.isCell())return j.create(D.VALUE);let n=this._runtimeService,r=n.currentRow||0,i=n.currentColumn||0,{startRow:a,startColumn:o,endRow:s,endColumn:c}=t.getRangePosition();return c!==o&&s!==a||a===s&&o===c?j.create(D.VALUE):s===a&&i>=o&&i<=c?t.getCellByColumn(i):o===c&&r>=a&&r<=s?t.getCellByRow(r):t.isTable()?t.getCellByPosition(r):j.create(D.VALUE)}};let ho=class extends Za{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Ja.get(H.PREFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof F))return;let t=e.getToken(),n=t.trim();if(n.charAt(0)===`"`&&n.charAt(n.length-1)===`"`)return;let r=``;if(n===Ye.MINUS)r=po.MINUS;else if(n===Ye.AT)return new mo(this._runtimeService,n);else return;let i=this._functionService.getExecutor(r);return i?new mo(this._runtimeService,n,i):(console.error(`No function ${t}`),Xa.create(D.NAME))}};ho=dr([P(0,uo),P(1,qa)],ho);function go(e,t,n){let r,i,a=e,o=a[0],s=0;if(o===Ye.MINUS){let e=t.getExecutor(po.MINUS);r=new mo(n,Ye.MINUS,e),s++}else o===Ye.AT&&(i=new mo(n,Ye.AT),r&&i.setParent(r),s++);return s>0&&(a=a.slice(s)),{tokenTrim:a,minusPrefixNode:r,atPrefixNode:i}}var _o=class extends Ya{constructor(e,t,n,r,i,a){super(e),this._functionExecutor=t,this._currentConfigService=n,this._runtimeService=r,this._definedNamesService=i,this._formulaDataModel=a,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 H.FUNCTION}async executeAsync(){let e=[],t=this.getChildren(),n=t.length;this._compatibility();for(let r=0;r<n;r++){let n=t[r].getValue();n!=null&&(n.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?e.push(n.toArrayValueObject()):e.push(n))}let r=await this._calculateAsync(e),i;return i=r.isAsyncObject()||r.isAsyncArrayObject()?await r.getValue():r,this._setEmbeddedArrayFormulaToResult(i),this._setRefData(i),this.setValue(i),Promise.resolve(Pe.SUCCESS)}execute(){let e=[],t=this.getChildren(),n=t.length;this._compatibility();for(let r=0;r<n;r++){let n=t[r].getValue();n!=null&&(n.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(n),n.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?e.push(n.toArrayValueObject()):e.push(n))}let r=this._calculate(e);this._setEmbeddedArrayFormulaToResult(r),this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_setEmbeddedArrayFormulaToResult(e){if(!e.isArray())return;let t=e.getRowCount(),n=e.getColumnCount();t<=1&&n<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){let e=this.getChildren(),t=e.length;if(!this._functionExecutor.needsExpandParams||t!==3)return;let n=e[1].getValue(),r=e[2].getValue();if(!(n!=null&&n.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let i,a;if(n!=null&&n.isReferenceObject()){let{startRow:e,startColumn:t,endRow:r,endColumn:o}=n.getRangeData();i=r-e+1,a=o-t+1}else i=n!=null&&n.isArray()?n.getRowCount():1,a=n!=null&&n.isArray()?n.getColumnCount():1;let o=r.getRangeData(),{startRow:s,startColumn:c,endRow:l,endColumn:u}=o,d=l-s+1,f=u-c+1;i!==d&&(o.endRow+=i-d),a!==f&&(o.endColumn+=a-f)}_handleCustomResult(e){var t;if(typeof e!=`object`||!e)return ga.create(e);let n=ma(e);return B.create({calculateValueList:n,rowCount:n.length,columnCount:((t=n[0])==null?void 0:t.length)||0,unitId:``,sheetId:``,row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(e){return e.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(e){let{minParams:t,maxParams:n}=this._functionExecutor;if(t!==-1&&n!==-1&&(e.length<t||e.length>n))return j.create(D.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){let t=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));r=this._handleCustomResult(t)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...e);return r}async _calculateAsync(e){let{minParams:t,maxParams:n}=this._functionExecutor;if(t!==-1&&n!==-1&&(e.length<t||e.length>n))return j.create(D.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){let t=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(e));r=this._handleCustomResult(t)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...e);return r}_setDefinedNamesForFunction(){let e=this._currentConfigService.getExecuteUnitId();if(e==null)return;let t=this._definedNamesService.getDefinedNameMap(e);t!=null&&this._functionExecutor.setDefinedNames(t)}_setRefInfo(){let{currentUnitId:e,currentSubUnitId:t,currentRow:n,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(e,t,n,r),this._functionExecutor.needsSheetRowColumnCount){let{rowCount:n,columnCount:r}=this._currentConfigService.getSheetRowColumnCount(e,t);this._functionExecutor.setSheetRowColumnCount(n,r)}}_setRefData(e){if(!e.isReferenceObject())return;let t=e;t.setForcedSheetId(this._currentConfigService.getSheetNameMap()),t.setUnitData(this._currentConfigService.getUnitData()),t.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),t.setArrayFormulaRange(this._currentConfigService.getArrayFormulaRange()),t.setRuntimeData(this._runtimeService.getUnitData()),t.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),t.setRuntimeArrayFormulaRange(this._runtimeService.getUnitArrayFormula()),t.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(e){let{startRow:t,endRow:n}=e.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(e.getUnitId(),e.getSheetId(),t,n);e.setFilteredOutRows(r)}},vo=class extends Ya{constructor(e=`Error`){super(e)}get nodeType(){return H.FUNCTION}async executeAsync(){return this.setValue(j.create(D.NAME)),Promise.resolve(Pe.SUCCESS)}execute(){this.setValue(j.create(D.NAME))}};let yo=class extends Za{constructor(e,t,n,r,i,a){super(),this._functionService=e,this._currentConfigService=t,this._runtimeService=n,this._definedNamesService=r,this._injector=i,this._formulaDataModel=a}get zIndex(){return Ja.get(H.FUNCTION)||100}create(e){let t=this._functionService.getExecutor(e);return t?new _o(e,t,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${e}`),Xa.create(D.NAME))}checkAndCreateNodeType(e){if(typeof e==`string`)return;let{tokenTrim:t,minusPrefixNode:n,atPrefixNode:r}=go(e.getToken().trim(),this._functionService,this._runtimeService),i=this._isParentUnionNode(e);if(!Number.isNaN(Number(t))&&!i)return Xa.create(D.VALUE);let a=t.toUpperCase();if(!(i&&ao.has(a))&&this._functionService.hasExecutor(a)){let e=this.create(a);return r?e.setParent(r):n&&e.setParent(n),e}}_isParentUnionNode(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken())===A.COLON}};yo=dr([P(0,uo),P(1,fi),P(2,qa),P(3,pr),P(4,f(p)),P(5,f(ai))],yo);let bo=class extends s{constructor(e){super(),this._runtimeService=e}async executeAsync(e){if(!e||!e.node)return Promise.resolve(j.create(D.VALUE));let t=e.node,n=e.refOffsetX,r=e.refOffsetY;await this._executeAsync(t,n,r);let i=t.getValue();return i==null?Promise.resolve(j.create(D.VALUE)):Promise.resolve(i)}execute(e){if(!e||!e.node)return j.create(D.VALUE);let t=e.node,n=e.refOffsetX,r=e.refOffsetY;this._execute(t,n,r);let i=t.getValue();return i==null?j.create(D.VALUE):i}executePreCalculateNode(e){return e.execute(),e.getValue()}checkAsyncNode(e){if(e==null)return!1;let t=[];this._checkAsyncNode(e,t);for(let e=0,n=t.length;e<n;e++)if(t[e]===!0)return!0;return!1}_checkAsyncNode(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];t.push(r.isAsync()),this._checkAsyncNode(r,t)}}async _executeAsync(e,t=0,n=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Pe.ERROR);let r=e.getChildren(),i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.getToken().toUpperCase()===`LAMBDA`&&i.isEmptyParamFunction()){i.execute();continue}await this._executeAsync(i,t,n)}return e.nodeType===H.REFERENCE&&e.setRefOffset(t,n),e.nodeType===H.FUNCTION&&e.isAsync()?await e.executeAsync():e.execute(),Promise.resolve(Pe.SUCCESS)}_execute(e,t=0,n=0){if(this._runtimeService.isStopExecution())return Pe.ERROR;let r=e.getChildren(),i=r.length;for(let e=0;e<i;e++){let i=r[e];if(i.getToken().toUpperCase()===`LAMBDA`&&i.isEmptyParamFunction()){i.execute();continue}this._execute(i,t,n)}return e.nodeType===H.REFERENCE&&e.setRefOffset(t,n),e.execute(),Pe.SUCCESS}};bo=dr([P(0,qa)],bo);function xo(e){return e instanceof F?e.getToken()===`L_1`:!1}function So(e){return e instanceof F?e.getToken()===Nn:!1}function Co(e,t,n){let r=e.getChildren(),i=r.length,a=r[0];for(let e=0;e<i;e++){let i=r[e];if(!(xo(a)&&e!==0))if(i instanceof F)Co(i,t,n);else{let a=i.trim();if(n.has(a)){let i=new F;i.setToken(`LR_1`),i.setLambdaId(t),i.setLambdaPrivacyVar(n),i.setLambdaParameter(a),r[e]=i}}}}function wo(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}function To(e,t=0,n=0){return{node:e,refOffsetX:t,refOffsetY:n}}function Eo(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(!n)return;let i=n.get(r);return i==null&&e.getValue()?e:Eo(i)}var Do=class e extends Xe{static create(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(0),this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=n,E(this,`_lambdaPrivacyValueMap`,new Map),this._lambdaPrivacyValueMap.clear()}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){let t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return j.create(D.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let n;if(this._interpreter.checkAsyncNode(this._lambdaNode))n=new ba(this._interpreter.executeAsync(To(this._lambdaNode)));else{let e=this._interpreter.execute(To(this._lambdaNode));n=e.isReferenceObject()?e.toArrayValueObject():e}return this._lambdaNode.setNotEmpty(!0),n}executeCustom(...e){let t=e.map(e=>ga.create(e));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;let t=e.getChildren(),n=t.length;for(let e=0;e<n;e++){let n=t[e];if(n.getToken()===`LR_1`){let e=n.getLambdaParameter(),t=this._lambdaPrivacyValueMap.get(e);if(t)n.setValue(t);else{let t=Eo(n.getCurrentLambdaPrivacyVar().get(e));t!=null&&n.setValue(t.getValue())}continue}this._setLambdaNodeValue(n)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){let n=e[t],r=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(r,n)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}},Oo=class extends Ya{constructor(e,t,n,r,i){super(e),this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=r,this._runtimeService=i,E(this,`_isNotEmpty`,!0)}get nodeType(){return H.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(Do.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{let e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let ko=class extends Za{constructor(e,t){super(),this._runtimeService=e,this._interpreter=t}get zIndex(){return Ja.get(H.LAMBDA)||100}create(e){let t=e.getChildren(),n=t[0],r=t.slice(1,-1),i=t[t.length-1];if(!(n instanceof F&&i instanceof F))return Xa.create(D.NAME);if(n.getToken()===`L_1`){let e=n.getChildren();if(r.length!==e.length)return Xa.create(D.VALUE)}else r=t.slice(0,-1);let a=ce(8),o=new Map;for(let e=0;e<r.length;e++){let t=r[e];if(t instanceof F){let e=t.getChildren()[0];t.setToken(Nn),o.set(e.trim(),void 0)}else return Xa.create(D.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(a,o),this._updateLambdaStatement(i,a,o),new Oo(e.getToken(),a,this._interpreter,[...o.keys()],this._runtimeService)}checkAndCreateNodeType(e){if(e instanceof F&&e.getToken().trim().toUpperCase()===`LAMBDA`)return this.create(e)}_updateLambdaStatement(e,t,n){Co(e,t,n)}};ko=dr([P(0,qa),P(1,f(bo))],ko);function Ao(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(n)return Ao(n.get(r))}var jo=class extends Ya{constructor(e,t,n){super(e),this._lambdaParameter=t,this._currentLambdaPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return H.LAMBDA_PARAMETER}execute(){let e=Ao(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(e)this.setValue(e.getValue());else{let e=this.getValue();(e==null||e.isError())&&this.setValue(j.create(D.NAME))}}},Mo=class extends Za{get zIndex(){return Ja.get(H.LAMBDA_PARAMETER)||100}create(e){let t=e.getFunctionDefinitionPrivacyVar(),n=e.getLambdaParameter();return t?new jo(e.getToken(),n,t):new Xa(D.NAME)}checkAndCreateNodeType(e){if(e instanceof F&&e.getToken().trim()===`LR_1`)return this.create(e)}},No=class extends Ya{constructor(e){super(e),this._operatorString=e}get nodeType(){return H.NULL}execute(){this.setValue(I.create())}},Po=class extends Ya{constructor(e,t,n){super(e),this._functionExecutor=t,this._runtimeService=n}get nodeType(){return H.OPERATOR}execute(){let e=this.getChildren();this._functionExecutor.name===po.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let t=e[0],n=e[1],r=t==null?void 0:t.getValue(),i=n==null?void 0:n.getValue(),a=this.getToken();if((r==null||i==null)&&a!==O.MINUS&&a!==O.PLUS){this.setValue(j.create(D.VALUE));return}r==null&&(r=I.create()),i==null&&(i=I.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),i.isReferenceObject()&&(i=i.toArrayValueObject());let o=this._functionExecutor.calculate(r,i);this._setEmbeddedArrayFormulaToResult(o),this.setValue(o)}_setEmbeddedArrayFormulaToResult(e){if(!e.isArray())return;let t=e.getRowCount(),n=e.getColumnCount();t<=1&&n<=1||this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let Fo=class extends Za{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Ja.get(H.OPERATOR)||100}create(e){let t=``,n=e;n===O.PLUS?t=po.PLUS:n===O.MINUS?t=po.MINUS:n===O.MULTIPLY?t=po.MULTIPLY:n===O.DIVIDED?t=po.DIVIDED:n===O.CONCATENATE?t=J.CONCATENATE:n===O.POWER?t=K.POWER:Ke.has(n)&&(t=po.COMPARE);let r=this._functionService.getExecutor(t);return r?new Po(n,r,this._runtimeService):(console.error(`No function ${e}`),Xa.create(D.NAME))}checkAndCreateNodeType(e){if(e instanceof F)return;let t=e.trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&Ge.has(t))return this.create(t)}};Fo=dr([P(0,uo),P(1,qa)],Fo);var Io=class extends ya{constructor(e,t,n,r){super(e),this._tableData=t,this._columnDataString=n,this._tableOptionMap=r,E(this,`_isCurrentRowForRange`,!1);let{sheetId:i,range:a,titleMap:o}=this._tableData;this.setForcedSheetIdDirect(i);let{startColumn:s,endColumn:c,type:l}=this._parseStructuredRef(this._columnDataString,o),u=a.startRow,d=a.endRow,f=-1,p=-1;switch(l){case Fe.ALL:f=u,p=d;break;case Fe.DATA:f=u+1,p=d;break;case Fe.HEADERS:f=u,p=u;break;case Fe.TOTALS:f=d,p=d;break;case Fe.THIS_ROW:{let e=this._resolveThisRow(u,d);f=e,p=e;break}default:f=u+1,p=d;break}this.setRangeData({startColumn:s,endColumn:c,startRow:f,endRow:p})}getRangeData(){let e=super.getRangeData();if(this._isCurrentRowForRange){let{startRow:t,startColumn:n,endRow:r,endColumn:i}=e,a=this.getCurrentRow();return{startRow:a==null?t:a,endRow:a==null?r:a,startColumn:n,endColumn:i}}return e}getRefOffset(){return{x:0,y:0}}isTable(){return!0}isCurrentRowForRange(){return this._isCurrentRowForRange}setForcedSheetId(e){}_parseStructuredRef(e,t){var n,r;let{range:i}=this._tableData,a=(n=i.startColumn)==null?0:n,o=(r=i.endColumn)==null?0:r;if(!e||e.trim().length===0)return{startColumn:a,endColumn:o,type:Fe.DATA};let s=e.trim();if(s[0]!==`[`){let e=this._mapSection(s);if(e!==void 0)return{startColumn:a,endColumn:o,type:e};let{startColumn:n,endColumn:r}=this._parseColumnOrRange(s,t,a);return{startColumn:n,endColumn:r,type:Fe.DATA}}let c=this._stripOuterBracketOnce(s),l=this._findCommaAtTopLevel(c);if(c.length===0)return{startColumn:a,endColumn:o,type:Fe.DATA};if(l===-1){if(c.startsWith(`#`)){let e=this._mapSection(c);return e===void 0?{startColumn:a,endColumn:o,type:Fe.DATA}:{startColumn:a,endColumn:o,type:e}}let{startColumn:e,endColumn:n}=this._parseColumnOrRange(c,t,a);return{startColumn:e,endColumn:n,type:Fe.DATA}}let u=c.slice(0,l).trim(),d=c.slice(l+1).trim(),f=this._parseSectionMaybeBracketed(u),{startColumn:p,endColumn:m}=this._parseColumnOrRange(d,t,a);return{startColumn:p,endColumn:m,type:f}}_stripOuterBracketOnce(e){return e.length>=2&&e[0]===`[`&&e[e.length-1]===`]`?e.slice(1,-1):e}_findCommaAtTopLevel(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t=Math.max(0,t-1);else if(r===A.COMMA&&t===0)return n}return-1}_parseSectionMaybeBracketed(e){let t=e.trim(),n=t.startsWith(`[`)&&t.endsWith(`]`)?this._stripOuterBracketOnce(t):t,r=this._mapSection(n);return r==null?Fe.DATA:r}_mapSection(e){let t=e.trim();if(!t.startsWith(`#`))return;let n=this._tableOptionMap.get(t);if(n!==void 0)return n;let r=t.replace(/\s+/g,` `).toLowerCase();for(let[e,t]of this._tableOptionMap.entries())if(e.replace(/\s+/g,` `).toLowerCase()===r)return t}_parseColumnOrRange(e,t,n){let r=e.trim(),i=this._findColonAtTopLevel(r);if(i===-1){let e=this._stripOuterBracketIfAny(r),i=this._titleToIndex(e,t);return{startColumn:n+i,endColumn:+n+i}}let a=r.slice(0,i).trim(),o=r.slice(i+1).trim(),s=this._stripOuterBracketIfAny(a),c=this._stripOuterBracketIfAny(o),l=this._titleToIndex(s,t),u=this._titleToIndex(c,t);return l!==-1&&u!==-1&&l>u?{startColumn:n+u,endColumn:n+l}:{startColumn:n+l,endColumn:n+u}}_stripOuterBracketIfAny(e){return e.length>=2&&e[0]===`[`&&e[e.length-1]===`]`?e.slice(1,-1):e}_findColonAtTopLevel(e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(r===`[`)t++;else if(r===`]`)t=Math.max(0,t-1);else if(r===A.COLON&&t===0)return n}return-1}_titleToIndex(e,t){var n;let r=e.trim(),i=t.get(r);if(i!==void 0)return i;let a=r.replace(/\u3000/g,` `).trim();return(n=t.get(a))==null?-1:n}_resolveThisRow(e,t){return this._isCurrentRowForRange=!0,Math.min(e+1,t)}},Lo=class extends Ya{constructor(e,t,n,r,i=!1,a){super(n),this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=r,this._isPrepareMerge=i,this._tableReferenceObject=a,E(this,`_refOffsetX`,0),E(this,`_refOffsetY`,0)}get nodeType(){return H.REFERENCE}execute(){let e=this._currentConfigService,t=this._runtimeService,n=this._tableReferenceObject||Ba(this.getToken(),this._referenceObjectType);n.setDefaultUnitId(t.currentUnitId),n.setDefaultSheetId(t.currentSubUnitId),n.setForcedSheetId(e.getSheetNameMap()),n.setUnitData(e.getUnitData()),n.setArrayFormulaCellData(e.getArrayFormulaCellData()),n.setArrayFormulaRange(e.getArrayFormulaRange()),n.setRuntimeData(t.getUnitData()),n.setUnitStylesData(e.getUnitStylesData()),n.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),n.setRuntimeArrayFormulaRange(t.getUnitArrayFormula()),n.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());let r=t.currentRow,i=t.currentColumn;n.setCurrentRowAndColumn(r,i);let{x:a,y:o}=this.getRefOffset();n.setRefOffset(a,o),!this._isPrepareMerge&&n.isExceedRange()?this.setValue(j.create(D.NAME)):this.setValue(n)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}};let Ro=class extends Za{constructor(e,t,n,r){super(),this._currentConfigService=e,this._formulaRuntimeService=t,this._functionService=n,this._superTableService=r}get zIndex(){return Ja.get(H.REFERENCE)||100}checkAndCreateNodeType(e){let t=!1,n,r=!1;if(e instanceof F){var i;t=!0,n=e.getToken().trim(),((i=e.getParent())==null||(i=i.getParent())==null?void 0:i.getToken().trim())===A.COLON&&(r=!0)}else n=e.trim();let{tokenTrim:a,minusPrefixNode:o,atPrefixNode:s}=go(n,this._functionService,this._formulaRuntimeService);if(!t&&a.charAt(0)===`"`&&a.charAt(a.length-1)===`"`)return;let c=this._getNode(a,t,r,e);if(c)return s?c.setParent(s):o&&c.setParent(o),c}_getTableMap(){let e=this._currentConfigService.getExecuteUnitId();if(e)return this._superTableService.getTableMap(e)}_getNode(e,t,n,r){var i;let a=this._currentConfigService,o=this._formulaRuntimeService,s=t=>new Lo(a,o,e,t,n),c=this._getTableMap();if((i=c==null?void 0:c.has(e))!=null&&i)return this._getTableReferenceNode(e,t,n,!0);if(gn(e))return s(za.CELL);let l=t&&this._checkParentIsUnionOperator(r);return l&&bn(e)?s(za.ROW):l&&xn(e)?s(za.COLUMN):this._getTableReferenceNode(e,t,n,!1)}_getTableReferenceNode(e,t,n,r=!1){if(!this._checkTokenIsTableReference(e)&&!r)return;let{tableName:i,columnStruct:a}=ur(e),o=this._getTableMap();if(!t&&o!=null&&o.has(i)){let t=a,r=o.get(i),s=this._superTableService.getTableOptionMap();return new Lo(this._currentConfigService,this._formulaRuntimeService,e,za.COLUMN,n,new Io(e,r,t,s))}}_checkTokenIsTableReference(e){return Sn(e)||Cn(e)||wn(e)||Tn(e)}_checkParentIsUnionOperator(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken().trim())===A.COLON}};Ro=dr([P(0,fi),P(1,qa),P(2,uo),P(3,zr)],Ro);var zo=class extends Ya{constructor(e,t,n,r){super(n),this._currentConfigService=e,this._lexer=t,this._operatorString=n,this._functionExecutor=r}get nodeType(){return H.SUFFIX}execute(){var e;let t=(e=this.getChildren()[0])==null?void 0:e.getValue(),n;if(t==null){this.setValue(j.create(D.ERROR));return}if(this._operatorString===qe.PERCENTAGE){if(t.isReferenceObject()&&(t=t.toArrayValueObject()),n=this._functionExecutor.calculate(t,R.create(100)),n.isNumber()){let e=Number(n.getValue());n=R.create(e,`0.00%`)}}else n=this._operatorString===qe.POUND?this._handlerPound(t):j.create(D.VALUE);this.setValue(n)}_handlerPound(e){var t;if(!e.isReferenceObject()||!e.isCell())return j.create(D.VALUE);let n=e,r=n.getRangePosition(),i=n.getUnitId(),a=n.getSheetId(),o=this._currentConfigService.getFormulaData(),s=o==null||(t=o[i])==null||(t=t[a])==null||(t=t[r.startRow])==null||(t=t[r.startColumn])==null?void 0:t.f;return s&&this._lexer.treeBuilder(s),j.create(D.VALUE)}};let Bo=class extends Za{constructor(e,t,n){super(),this._functionService=e,this._lexer=t,this._currentConfigService=n}get zIndex(){return Ja.get(H.SUFFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof F))return;let t=e.getToken().trim();if(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)return;let n=``;if(t===qe.PERCENTAGE)n=po.DIVIDED;else if(t===qe.POUND)return new zo(this._currentConfigService,this._lexer,t);else return;let r=this._functionService.getExecutor(n);return r?new zo(this._currentConfigService,this._lexer,t,r):(console.error(`No function ${e}`),Xa.create(D.NAME))}};Bo=dr([P(0,uo),P(1,f(pi)),P(2,fi)],Bo);var Vo=class extends Ya{constructor(e){super(e)}get nodeType(){return H.UNION}execute(){let e=this.getChildren(),t=e[0],n=e[1],r=t.getValue(),i=n.getValue();if(r==null||i==null){console.error(`UnionNode execute leftNode or rightNode is null`),this.setValue(j.create(D.VALUE));return}let a;a=this.getToken()===A.COLON?this._unionFunction(r,i):j.create(D.NAME),this.setValue(a)}_unionFunction(e,t){return e.isError()||t.isError()||!e.isReferenceObject()||!t.isReferenceObject()?j.create(D.REF):(e=e,t=t,Va(e,t))}};let Ho=class extends Za{constructor(e){super(),this._functionService=e}get zIndex(){return Ja.get(H.UNION)||100}create(e){return new Vo(e)}checkAndCreateNodeType(e){if(!(e instanceof F))return;let t=e.getToken().trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&t===A.COLON)return this.create(t)}};Ho=dr([P(0,uo)],Ho);var Uo=class extends Ya{constructor(e){super(e)}get nodeType(){return H.VALUE}execute(){let e=this.getParent(),t=!0;if((e==null?void 0:e.nodeType)===H.FUNCTION){var n,r;t=(n=(r=e.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(e))==null?!0:n}this.setValue(ga.create(this.getToken(),t))}},Wo=class extends Za{get zIndex(){return Ja.get(H.VALUE)||100}_checkValueNode(e){if(Number.isNaN(Number(e))){let t=e.trim(),n=t.charAt(0),r=t.charAt(t.length-1);if(Ve.has(t)||n===`"`&&r===`"`||n===`{`&&r===`}`)return this.create(t);let i=t.toUpperCase();if(i===Ne.TRUE||i===Ne.FALSE)return this.create(i)}else return this.create(e)}create(e){return new Uo(e)}checkAndCreateNodeType(e){if(!(e instanceof F))return this._checkValueNode(e)}};let Go=class extends s{constructor(e,t,n,r,i,a,o,s,c,l,u){super(),this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=n,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=i,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=s,this._suffixNodeFactory=c,this._unionNodeFactory=l,this._valueNodeFactory=u,E(this,`_astNodeFactoryList`,[]),this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){let t=new Qa(`R_1`),n=this._parse(e,t);return e.hasDefinedNames()&&(n==null||n.setDefinedNames(e.getDefinedNames())),n}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return Xa.create(D.VALUE);let n=t.getLambdaId(),r=new Qa(`R_1`),i=this._runtimeService.getFunctionDefinitionPrivacyVar(n);if(!i)return!1;let a=[...i.keys()],o=e.getChildren(),s=o.length;for(let e=0;e<s;e++){let t=o[e];if(t instanceof F){Co(t,n,i),this._parse(t,r);let o=r.getChildren()[e];o!=null&&i.set(a[e],o)}else return!1}return r.setParent(t),t}_changeLetToLambda(e){let t=e.getChildren(),n=t.length;if(n%2!=1||n===0)return;let r=new F;r.setToken(Fn);let i=new F;i.setToken(`L_1`);let a=[...t];for(let e=0;e<n;e++){let t=a[e];if(!(t instanceof F))return;e%2==0?t.changeToParent(r):t.changeToParent(i)}r.addChildrenFirst(i),i.setParent(r);let o=e.getParent();return o==null||o.replaceChild(e,r),r}_parse(e,t){let n=e.getChildren(),r=n.length,i=[],a=null,o=e.getToken().trim().toUpperCase();if(o===`LET`){let n=this._changeLetToLambda(e);return n==null?Xa.create(D.ERROR):this._parse(n,t)}if(o===`P_1`){if(a=t,r===0)return new No(`R_1`).setParent(t),a}else{if(o===`L_1`){let n=this._lambdaParameterHandler(e,t);return n===!1&&(n=Xa.create(D.ERROR)),n}if(a=this._checkAstNode(e),a==null)return Xa.create(D.NAME)}let s=n[0];for(let e=0;e<r;e++){let t=n[e];if(xo(s)){if(e!==0&&e!==r-1)continue}else if(So(t)&&e!==r-1)continue;let o=null;if(t instanceof F){if(t.getToken()===`P_1`&&t.getChildren().length===0){var c;let e=(c=t.getParent())==null?void 0:c.getChildren();if(e&&e.length===1)return Xa.create(D.NAME)}if(o=this._parse(t,a),o===a)continue}else o=this._checkAstNode(t);if(o==null)return Xa.create(D.NAME);if(o=wo(o),o==null||(o==null?void 0:o.nodeType)===H.ERROR)return o;switch(o.nodeType){case H.FUNCTION:{let e=o.getToken().trim().toUpperCase();In.has(e)&&o.setForcedCalculateFunction(),i.push(o);break}case H.LAMBDA:i.push(o);break;case H.LAMBDA_PARAMETER:i.push(o);break;case H.OPERATOR:{let e=i.pop(),t=i.pop();t&&t.setParent(o),e&&e.setParent(o),i.push(o);break}case H.REFERENCE:i.push(o);break;case H.ROOT:i.push(o);break;case H.UNION:i.push(o);break;case H.VALUE:i.push(o);break;case H.PREFIX:i.push(o);break;case H.SUFFIX:i.push(o);break}}let l=i.length;for(let e=0;e<l;e++)i[e].setParent(a);return a}_checkAstNode(e){let t=null,n=this._astNodeFactoryList.length;for(let r=0;r<n&&(t=this._astNodeFactoryList[r].checkAndCreateNodeType(e),t==null);r++);return t==null?new vo: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(ye)}};Go=dr([P(0,qa),P(1,f($a)),P(2,f(yo)),P(3,f(ko)),P(4,f(Mo)),P(5,f(Fo)),P(6,f(ho)),P(7,f(Ro)),P(8,f(Bo)),P(9,f(Ho)),P(10,f(Wo))],Go);var Ko=class extends s{constructor(...e){super(...e),E(this,`_otherFormulaData`,new Map),E(this,`_featureFormulaData`,new Map),E(this,`_formulaData`,new Map),E(this,`_definedNameMap`,new Map),E(this,`_otherFormulaDataMainData`,new Set),E(this,`_dependencyRTreeCache`,new ee),E(this,`_dependencyTreeIdLast`,0)}buildDependencyTree(e,t){throw Error(`Method not implemented.`)}getTreeById(e){throw Error(`Method not implemented.`)}getAllTree(){throw Error(`Method not implemented.`)}reset(){throw Error(`Method not implemented.`)}addOtherFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}removeOtherFormulaDependency(e,t,n){throw Error(`Method not implemented.`)}clearOtherFormulaDependency(e,t){throw Error(`Method not implemented.`)}addFeatureFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}removeFeatureFormulaDependency(e,t,n){throw Error(`Method not implemented.`)}clearFeatureFormulaDependency(e,t){throw Error(`Method not implemented.`)}addFormulaDependency(e,t,n,r,i){throw Error(`Method not implemented.`)}removeFormulaDependency(e,t,n,r){throw Error(`Method not implemented.`)}clearFormulaDependency(e,t){throw Error(`Method not implemented.`)}removeFormulaDependencyByDefinedName(e,t){throw Error(`Method not implemented.`)}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,n){var r;return(r=this._otherFormulaData.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,n){var r;return(r=this._featureFormulaData.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}getFormulaDependency(e,t,n,r){var i;return(i=this._formulaData.get(e))==null||(i=i.get(t))==null?void 0:i.getValue(n,r)}addDependencyRTreeCache(e){let t=[];for(let n=0;n<e.rangeList.length;n++){let{unitId:r,sheetId:i,range:a}=e.rangeList[n];t.push({unitId:r,sheetId:i,range:a,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){let e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw Error(`Method not implemented.`)}_addDefinedName(e,t,n){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);let r=this._definedNameMap.get(e);r.has(t)||r.set(t,new Set),r.get(t).add(n)}addFormulaDependencyByDefinedName(e,t){let n=e.treeId,r=(t==null?void 0:t.getDefinedNames())||[];for(let t of r)this._addDefinedName(e.unitId,t,n)}updateDependencyTreeDirtyState(e,t){throw Error(`Method not implemented.`)}},qo=class extends Ko{constructor(...e){super(...e),E(this,`_allTreeMap`,new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){let n=this.getAllTree();return e.length===0?(this._buildReverseDependency(n,t),n):(this._buildDependencyTree(n,e),this._buildReverseDependency(n,e),n)}_buildDependencyTree(e,t){let n=new Map;for(let e=0;e<t.length;e++){let r=t[e];n.set(r.treeId,r)}for(let t=0;t<e.length;t++){let r=e[t],i=r.toRTreeItem(),a=this._dependencyRTreeCache.bulkSearch(i);for(let e of a){let t=n.get(e);t&&r!==t&&!t.hasChildren(r.treeId)&&t.pushChildren(r)}}n.clear()}_buildReverseDependency(e,t){let n=new Map;for(let t=0;t<e.length;t++){let r=e[t];n.set(r.treeId,r)}for(let e=0;e<t.length;e++){let r=t[e],i=r.toRTreeItem(),a=this._dependencyRTreeCache.bulkSearch(i);for(let e of a){let t=n.get(e);t&&r!==t&&!t.hasChildren(r.treeId)&&t.pushChildren(r)}}n.clear()}getAllTree(){let 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,n,r){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);let i=this._otherFormulaData.get(e);i.has(t)||i.set(t,new Map);let a=i.get(t);a.has(n)||a.set(n,new b),a.get(n).setValue(r.refOffsetX,r.refOffsetY,r.treeId),this._addAllTreeMap(r)}removeOtherFormulaDependency(e,t,n){let r=this._otherFormulaData.get(e);if(r&&r.has(t)){let i=r.get(t);n.forEach(e=>{let t=i.get(e);t!=null&&(t.forValue((e,t,n)=>{this._removeDependencyRTreeCache(n),this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)}),i.delete(e),this._otherFormulaDataMainData.delete(e))}),i.size===0&&r.delete(t),r.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){let n=this._otherFormulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of r.keys()){let t=r.get(e);t!=null&&(t.forValue((e,t,n)=>{let r=this._allTreeMap.get(n);r&&(this.clearDependencyForTree(r),this._removeAllTreeMap(n))}),this._otherFormulaDataMainData.delete(e))}r.clear()}else if(n){for(let t of n.keys()){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t);for(let e of r.keys()){let t=r.get(e);t!=null&&(t.forValue((e,t,n)=>{let r=this._allTreeMap.get(n);r&&(this.clearDependencyForTree(r),this._removeAllTreeMap(n))}),this._otherFormulaDataMainData.delete(e))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,n,r){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);let i=this._featureFormulaData.get(e);i.has(t)||i.set(t,new Map),i.get(t).set(n,r.treeId),this._addAllTreeMap(r)}removeFeatureFormulaDependency(e,t,n){let r=this._featureFormulaData.get(e);if(r&&r.has(t)){let e=r.get(t);n.forEach(t=>{let n=e.get(t);n!=null&&(this._removeDependencyRTreeCache(n),e.delete(t),this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n))})}}clearFeatureFormulaDependency(e,t){let n=this._featureFormulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t),r.forEach(e=>{e!=null&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))}),r.clear()}else n&&(n.forEach((t,n)=>{this._removeDependencyRTreeCacheById(e,n),t.forEach(e=>{e!=null&&(this.clearDependencyForTree(this._allTreeMap.get(e)),this._removeAllTreeMap(e))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,n,r,i){this._formulaData.has(e)||this._formulaData.set(e,new Map);let a=this._formulaData.get(e);a.has(t)||a.set(t,new b),a.get(t).setValue(n,r,i.treeId),this._addAllTreeMap(i)}removeFormulaDependency(e,t,n,r){let i=this._formulaData.get(e);if(i&&i.has(t)){let e=i.get(t),a=e.getValue(n,r);if(a==null)return;this._removeDependencyRTreeCache(a),e.realDeleteValue(n,r),this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a)}}clearFormulaDependency(e,t){let n=this._formulaData.get(e);if(t&&n&&n.has(t)){let r=n.get(t);this._removeDependencyRTreeCacheById(e,t),r.forValue((e,t,n)=>{if(n==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)}),r.reset()}else n&&(n.forEach((t,n)=>{this._removeDependencyRTreeCacheById(e,n),t.forValue((e,t,n)=>{if(n==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(n)),this._removeAllTreeMap(n)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;let t=e.parents,n=e.children,r=this._allTreeMap;for(let n of t){let t=r.get(n);t==null||t.children.delete(e.treeId)}for(let t of n){let n=r.get(t);n==null||n.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;let t=this._allTreeMap.get(e);if(t){let n=[];for(let r=0;r<t.rangeList.length;r++){let{unitId:i,sheetId:a,range:o}=t.rangeList[r];n.push({unitId:i,sheetId:a,range:o,id:e})}this._dependencyRTreeCache.bulkRemove(n)}}removeFormulaDependencyByDefinedName(e,t){let n=this._definedNameMap.get(e);if(n){let e=n.get(t);if(e){for(let t of e)this._removeDependencyRTreeCache(t),this.clearDependencyForTree(this._allTreeMap.get(t)),this._removeAllTreeMap(t);e.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}updateDependencyTreeDirtyState(e,t){let n=this._allTreeMap.get(e);n&&(n.isDirty=t)}};const Jo=se(`univer.formula.dependency-manager.service`);var Yo=class extends s{constructor(...e){super(...e),E(this,`_referenceExecutorMap`,new Map),E(this,`_onChanged$`,new we),E(this,`onChanged$`,this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,n){n.forEach(n=>{var r;(r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null||r.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:n})}get(e,t,n){var r;return(r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null?void 0:r.get(n)}has(e,t,n){var r;return!!(!((r=this._referenceExecutorMap.get(e))==null||(r=r.get(t))==null)&&r.has(n))}register(e,t,n,r){let i=this._referenceExecutorMap.get(e);i||(i=new Map,this._referenceExecutorMap.set(e,i));let a=i.get(t);a||(a=new Map,i.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[n]}),a.set(n,r)}getReferenceExecutorMap(){return this._referenceExecutorMap}};const Xo=se(`univer.formula.feature-calculation-manager.service`);var Zo=class extends s{constructor(...e){super(...e),E(this,`_otherFormulaData`,{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;(t=this._otherFormulaData)==null||(t=t[n])==null||(t=t[r])==null||delete t[i]}get(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;return(t=this._otherFormulaData[n])==null||(t=t[r])==null?void 0:t[i]}has(e){var t;let{unitId:n,subUnitId:r,formulaId:i}=e;return((t=this._otherFormulaData[n])==null||(t=t[r])==null?void 0:t[i])!=null}register(e){let{unitId:t,subUnitId:n,formulaId:r,item:i}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][n]||(this._otherFormulaData[t][n]={}),this._otherFormulaData[t][n][r]=i}batchRegister(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{let r=n[e];if(r==null)return!0;Object.keys(r).forEach(n=>{let i=r[n];if(i==null)return!0;this.register({unitId:t,subUnitId:e,formulaId:n,item:i})})})})}batchRemove(e){Object.keys(e).forEach(t=>{let n=e[t];if(n==null)return!0;Object.keys(n).forEach(e=>{let r=n[e];if(r==null)return!0;Object.keys(r).forEach(n=>{this.remove({unitId:t,subUnitId:e,formulaId:n})})})})}getOtherFormulaData(){return this._otherFormulaData}};const Qo=se(`univer.formula.other-formula-manager.service`);let $o=function(e){return e[e.DEFAULT=0]=`DEFAULT`,e[e.ADDED=1]=`ADDED`,e[e.SKIP=2]=`SKIP`,e}({}),es=function(e){return e[e.NORMAL_FORMULA=0]=`NORMAL_FORMULA`,e[e.OTHER_FORMULA=1]=`OTHER_FORMULA`,e[e.FEATURE_FORMULA=2]=`FEATURE_FORMULA`,e}({});var ts=class{constructor(){E(this,`_state`,$o.DEFAULT),E(this,`type`,es.NORMAL_FORMULA),E(this,`treeId`,void 0),E(this,`children`,new Set),E(this,`parents`,new Set)}resetState(){this._state=$o.DEFAULT}setAdded(){this._state=$o.ADDED}isAdded(){return this._state===$o.ADDED}setSkip(){this._state=$o.SKIP}isSkip(){return this._state===$o.SKIP}pushChildren(e){this.children.add(e.treeId),e._pushParent(this)}hasChildren(e){return this.children.has(e)}_pushParent(e){this.parents.add(e.treeId)}},ns=class extends ts{constructor(...e){super(...e),E(this,`refTree`,void 0),E(this,`refOffsetX`,-1),E(this,`refOffsetY`,-1),E(this,`isCache`,!1),E(this,`isDirty`,!1),E(this,`addressFunctionNodes`,[]),E(this,`getDirtyData`,void 0),E(this,`featureId`,void 0)}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(e=(t=this.refTree)==null?void 0:t.formula)==null?``:e}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(){let e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){let n=this.refTree.rangeList[t];e.push({unitId:n.unitId,sheetId:n.sheetId,range:ge(n.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){let t=e.startRow,n=e.startColumn,r=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(a<t||a>r||o<n||o>i)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){let t=this.rangeList;if(t.length===0)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a,range:o}=t[r],s=e==null||(n=e[i])==null?void 0:n[a],{startRow:c,endRow:l,startColumn:u,endColumn:d}=o;Number.isNaN(c)&&(c=0),Number.isNaN(u)&&(u=0),Number.isNaN(l)&&(l=1/0),Number.isNaN(d)&&(d=1/0);let f=!1;if(s==null||s.forValue((e,t)=>{if(e>=c&&e<=l&&t>=u&&t<=d)return f=!0,!1}),f)return!0}return!1}get formulaId(){return this.refTree==null?``:this.refTree.formulaId}},rs=class extends ts{constructor(e){super(),E(this,`isCache`,!1),E(this,`featureId`,void 0),E(this,`featureDirtyRanges`,[]),E(this,`refOffsetX`,0),E(this,`refOffsetY`,0),E(this,`formulaId`,void 0),E(this,`subUnitId`,``),E(this,`unitId`,``),E(this,`rangeList`,[]),E(this,`formula`,``),E(this,`row`,-1),E(this,`column`,-1),E(this,`rowCount`,-1/0),E(this,`columnCount`,-1/0),E(this,`isDirty`,!1),E(this,`node`,void 0),E(this,`addressFunctionNodes`,[]),E(this,`getDirtyData`,void 0),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){let t=e.startRow,n=e.startColumn,r=e.endRow,i=e.endColumn,a=this.row,o=this.column;return!(a<t||a>r||o<n||o>i)}dependencySheetName(e){let t=this.rangeList;if(t.length===0||e==null)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a}=t[r];if(((n=e[i])==null?void 0:n[a])!=null)return!0}return!1}isExcludeRange(e){let t=this.rangeList;if(t.length===0)return!1;for(let r=0,i=t.length;r<i;r++){var n;let{unitId:i,sheetId:a,range:o}=t[r],s=e==null||(n=e[i])==null?void 0:n[a],{startRow:c,endRow:l,startColumn:u,endColumn:d}=o;Number.isNaN(c)&&(c=0),Number.isNaN(u)&&(u=0),Number.isNaN(l)&&(l=1/0),Number.isNaN(d)&&(d=1/0);let f=!1;if(s==null||s.forValue((e,t)=>{if(e>=c&&e<=l&&t>=u&&t<=d)return f=!0,!1}),f)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==es.FEATURE_FORMULA}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;let e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}},is=class{constructor(e){if(E(this,`children`,new Set),E(this,`parents`,new Set),E(this,`treeId`,-1),E(this,`formula`,``),E(this,`refOffsetX`,0),E(this,`refOffsetY`,0),E(this,`row`,-1),E(this,`column`,-1),E(this,`unitId`,``),E(this,`subUnitId`,``),E(this,`rangeList`,[]),E(this,`refTreeId`,void 0),E(this,`formulaId`,void 0),E(this,`featureId`,void 0),E(this,`type`,void 0),this.treeId=e.treeId,this.row=e.row,this.column=e.column,this.unitId=e.unitId,this.subUnitId=e.subUnitId,this.refOffsetX=e.refOffsetX,this.refOffsetY=e.refOffsetY,this.rangeList=e.rangeList,e.isVirtual){var t,n;this.refTreeId=(t=(n=e.refTree)==null?void 0:n.treeId)==null?-1:t}else{var r,i;this.formula=e.formula,this.formulaId=(r=e.formulaId)==null?void 0:r,this.featureId=(i=e.featureId)==null?void 0:i,this.type=e.type}}toJson(){return{children:Array.from(this.children).map(e=>e.treeId),parents:Array.from(this.parents).map(e=>e.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(e=>e.toJson()),parents:Array.from(this.parents).map(e=>e.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(e){this.parents.add(e)}addChild(e){this.children.add(e)}};function as(e){return e.getLastTreeId()||0}const os=se(`engine-formula.dependency-generator`);let ss=class extends s{constructor(e,t,n,r,i,a,o,s,c,l){super(),this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=n,this._featureCalculationManagerService=r,this._univerInstanceService=i,this._interpreter=a,this._astTreeBuilder=o,this._lexer=s,this._dependencyManagerService=c,this._lexerTreeBuilder=l,E(this,`_updateRangeFlattenCache`,new Map),E(this,`_dependencyRTreeCacheForAddressFunction`,new ee),E(this,`_executedAddressFunctionNodeIds`,new Set),E(this,`_formulaDependencyTreeModel`,new Map),this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),oo.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(ie.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){oo.forEach((t,n)=>{n.startsWith(e)&&oo.delete(n)})}async generate(e=!1){this._updateRangeFlatten();let t=this._currentConfigService.getFormulaData(),n=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getClearDependencyTreeCache();r!=null&&Object.keys(r).forEach(e=>{e!=null&&Object.keys(r[e]).forEach(t=>{t!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(e,t),this._dependencyManagerService.clearFeatureFormulaDependency(e,t),this._dependencyManagerService.clearFormulaDependency(e,t))})});let i=this._currentConfigService.getUnitData(),a=await this._generateTreeList(t,n,i);e&&this._runtimeService.setDependencyTreeModelData(this._getAllDependencyJson(a));let o=this._getUpdateTreeListAndMakeDependency(a),s=this._calculateRunList(o);return this._dependencyFeatureCalculation(s)&&(s.forEach(e=>{e.resetState()}),s=this._calculateRunList(s)),this._checkIsCycleDependency(s)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),this._runtimeService.clearArrayObjectCache(),Promise.resolve(s)}_dependencyFeatureCalculation(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let n=!1;return t.forEach((t,r)=>{t.forEach((t,r)=>{t.forEach((t,r)=>{let{unitId:i,subUnitId:a,getDirtyData:o}=t,s=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),c=this._convertDirtyRangesToUnitRange(s.dirtyRanges),l=this._intersectFeatureCalculation(c,e,{unitId:i,subUnitId:a,featureId:r});if(l.length>0){let o=this._getExistTreeList({unitId:i,subUnitId:a,featureId:r},e);o==null&&(o=this._getFeatureFormulaTree(r,as(this._dependencyManagerService),t),e.push(o)),o.parents=new Set,l.forEach(e=>{e.hasChildren(o.treeId)||e.pushChildren(o)}),n=!0}})})}),n}_clearFeatureCalculationNode(e){let t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(e=>{let n=new Set;for(let i of e.children){var r;let a=this._dependencyManagerService.getTreeById(i);a&&(a.featureId&&!((r=t.get(e.unitId))==null||(r=r.get(e.subUnitId))==null)&&r.has(a.featureId)||n.add(i))}e.children=n;let i=new Set;for(let n of e.parents){var a;let r=this._dependencyManagerService.getTreeById(n);r&&(r.featureId&&!((a=t.get(e.unitId))==null||(a=a.get(e.subUnitId))==null)&&a.has(r.featureId)||i.add(n))}e.parents=i})}_convertDirtyRangesToUnitRange(e){let t=[];for(let n in e){let r=e[n];for(let e in r){let i=r[e];for(let r of i)t.push({unitId:n,sheetId:e,range:r})}}return t}_intersectFeatureCalculation(e,t,n){let r=[],i=this._dependencyManagerService.searchDependency(e);for(let e=0,a=t.length;e<a;e++){let a=t[e];a.unitId===n.unitId&&a.subUnitId===n.subUnitId&&a.featureId===n.featureId||i.has(a.treeId)&&r.push(a)}return r}_getExistTreeList(e,t){let{unitId:n,subUnitId:r,featureId:i}=e;for(let e=0,a=t.length;e<a;e++){let a=t[e];if(a.unitId===n&&a.subUnitId===r&&a.featureId===i)return a}}_isCyclicUtil(e,t,n){let r=this._dependencyManagerService.getTreeById(e);if(r==null)return!1;if(!t.has(r.treeId)){t.add(r.treeId),n.add(r.treeId);for(let e of r.children)if(!t.has(e)&&this._isCyclicUtil(e,t,n)||n.has(e))return!0}return n.delete(r.treeId),!1}_checkIsCycleDependency(e){let t=new Set,n=new Set;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(this._isCyclicUtil(i.treeId,t,n)===!0)return!0}return!1}async _generateTreeList(e,t,n){let r=Object.keys(e),i=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(r,e,n,a),this._registerOtherFormulas(t,i,a),this._registerFeatureFormulas(a);for(let e=0,t=a.length;e<t;e++){let t=a[e];if(!t.formula)continue;let n=this._getTreeNode(t);t.isDirty=this._includeTree(t,n);let r=this._getAddressFunctionNodeList(n);if(r.length>0&&(t.addressFunctionNodes=r),t.isVirtual)continue;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let i=await this._getRangeListByNode({node:n,refOffsetX:t.refOffsetX,refOffsetY:t.refOffsetY});t.pushRangeList(i)}for(let e=0,t=a.length;e<t;e++){let t=a[e];t.isCache||this._dependencyManagerService.addDependencyRTreeCache(t)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((t,n)=>{t.forEach((t,n)=>{t.forEach((t,n)=>{let r=this._dependencyManagerService.getFeatureFormulaDependency(t.unitId,t.subUnitId,n);e.push(this._getFeatureFormulaTree(n,r,t))})})})}_getFeatureFormulaTree(e,t,n){let{unitId:r,subUnitId:i,dependencyRanges:a,getDirtyData:o}=n,s=new rs(t||as(this._dependencyManagerService));s.unitId=r,s.subUnitId=i,s.rangeList=a,s.getDirtyData=o;let c=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());return s.featureDirtyRanges=this._convertDirtyRangesToUnitRange(c.dirtyRanges),s.featureId=e,s.type=es.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(r,i,e,s),this._dependencyManagerService.getFeatureFormulaDependency(n.unitId,n.subUnitId,e)&&(s.isCache=!0),s}_registerOtherFormulas(e,t,n){for(let r of t){let t=e[r];if(t==null)continue;let i=Object.keys(t);for(let e of i){let i=t[e];if(i==null)continue;let{rowCount:a=1/0,columnCount:o=1/0}=this._currentConfigService.getSheetRowColumnCount(r,e)||{},s=Object.keys(i);for(let t of s){let s=this._dependencyManagerService.hasOtherFormulaDataMainData(t),{f:c,ranges:l}=i[t],u=!1;s&&(u=!0);let d=so(r,c,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:f,firstColumn:p}=this._getFirstCellOfRange(l),m=this._dependencyManagerService.getOtherFormulaDependency(r,e,t),h=new rs((m==null?void 0:m.getValue(0,0))||as(this._dependencyManagerService));for(let i=0;i<l.length;i++){let s=l[i],{startRow:g,startColumn:_}=s,{endRow:v,endColumn:y}=s;v=Math.min(v,a-1),y=Math.min(y,o-1);for(let i=g;i<=v;i++)for(let a=_;a<=y;a++){let o=a-p,s=i-f;if(o===0&&s===0){h.node=d,h.formula=c,h.unitId=r,h.subUnitId=e,h.formulaId=t,h.type=es.OTHER_FORMULA,h.isCache=u,n.push(h),this._dependencyManagerService.addOtherFormulaDependency(r,e,t,h),this._dependencyManagerService.addFormulaDependencyByDefinedName(h);continue}let l=new ns;l.treeId=(m==null?void 0:m.getValue(o,s))||as(this._dependencyManagerService),l.refTree=h,l.refOffsetX=o,l.refOffsetY=s,l.isCache=u,l.type=es.OTHER_FORMULA,this._dependencyManagerService.addOtherFormulaDependency(r,e,t,l),this._dependencyManagerService.addFormulaDependencyByDefinedName(l),n.push(l)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(t)}}}}_getFirstCellOfRange(e){let t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,n,r){for(let i of e){let e=t[i];if(e==null)continue;let a=Object.keys(e);for(let t of a){let a=new b(e[t]||{}),o=new Map;a.forValue((e,a,s)=>{if(s==null)return!0;let{x:c=0,y:l=0,si:u}=s;if(!(c===0&&l===0&&u!=null))return!0;let d=this._createFDtree(i,t,e,a,n,s),f=this._dependencyManagerService.getFormulaDependency(i,t,e,a);f==null?(this._dependencyManagerService.addFormulaDependency(i,t,e,a,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=f,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(f,!1)),o.set(u,d),r.push(d)}),a.forValue((e,a,s)=>{if(s==null)return!0;let{x:c=0,y:l=0,si:u}=s;if(c===0&&l===0&&u!=null)return!0;let d;if(u&&o.has(u)){let e=o.get(u);d=this._createVirtualFDtree(e,s)}else d=this._createFDtree(i,t,e,a,n,s);let f=this._dependencyManagerService.getFormulaDependency(i,t,e,a);f==null?(this._dependencyManagerService.addFormulaDependency(i,t,e,a,d),this._dependencyManagerService.addFormulaDependencyByDefinedName(d)):(d.treeId=f,d.isCache=!0,this._dependencyManagerService.updateDependencyTreeDirtyState(f,!1)),r.push(d)}),o.clear()}}}_createFDtree(e,t,n,r,i,a){let{f:o,x:s=0,y:c=0}=a,l=new rs(as(this._dependencyManagerService)),u=i[e][t];return l.node=so(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService),l.formula=o,l.unitId=e,l.subUnitId=t,l.row=n,l.column=r,l.rowCount=u.rowCount,l.columnCount=u.columnCount,l}_createVirtualFDtree(e,t){let{x:n=0,y:r=0}=t,i=new ns;return i.treeId=as(this._dependencyManagerService),i.refTree=e,i.refOffsetX=n,i.refOffsetY=r,i}_updateRangeFlatten(){let e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let e=0;e<t.length;e++){let n=t[e],r=n.range,i=n.sheetId,a=n.unitId;this._addFlattenCache(a,i,r)}}}_addFlattenCache(e,t,n){let r=this._updateRangeFlattenCache.get(e);r==null&&(r=new Map,this._updateRangeFlattenCache.set(e,r));let i=r.get(t);i==null&&(i=[],r.set(t,i)),i.push(n)}_isPreCalculateNode(e){return e.nodeType===H.UNION||e.nodeType===H.PREFIX&&e.getToken()===Ye.AT||e.nodeType===H.SUFFIX&&e.getToken()===qe.POUND}_nodeTraversalRef(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(this._isPreCalculateNode(r)){if(t.push(r),r.nodeType===H.UNION)for(let e of r.getChildren())e.nodeType===H.FUNCTION&&e.isAddress()&&this._nodeTraversalRef(e,t);continue}else r.nodeType===H.REFERENCE&&t.push(r);this._nodeTraversalRef(r,t)}}_nodeTraversalReferenceFunction(e,t){let n=e.getChildren(),r=n.length;for(let e=0;e<r;e++){let r=n[e];if(r.nodeType===H.FUNCTION&&r.isAddress()){t.push(r);continue}this._nodeTraversalReferenceFunction(r,t)}}async _executeNode(e,t=0,n=0){let r,i={node:e,refOffsetX:t,refOffsetY:n};return r=this._interpreter.checkAsyncNode(e)?await this._interpreter.executeAsync(i):this._interpreter.execute(i),r}async _getRangeListByNode(e){let t=[],n=e.refOffsetX,r=e.refOffsetY,i=e.node;if(i==null)return[];this._nodeTraversalRef(i,t);let a=[];for(let e=0,i=t.length;e<i;e++){let i=t[e],o=(await this._executeNode(i,n,r)).toUnitRange();a.push(o),i.setValue(null)}return a}_getAddressFunctionNodeList(e){let t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){let n=t.addressFunctionNodes;if(n.length===0)return;let r=t.refOffsetX,i=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(n,r,i);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);let o=e.bulkSearch(a),s=this._buildTreeNodeById(o);s.length!==0&&await this._calculateAddressFunctionRuntimeData(e,s)}async _calculateListByFunctionRefNode(e){let t=new ee;for(let n=0,r=e.length;n<r;n++){let r=e[n];t.insert({unitId:r.unitId,sheetId:r.subUnitId,range:{startRow:r.row,startColumn:r.column,endRow:r.row,endColumn:r.column},id:r.treeId})}this._executedAddressFunctionNodeIds.clear();for(let n=0,r=e.length;n<r;n++){let r=e[n];await this._calculateAddressFunction(t,r)}}async _calculateAddressFunction(e,t){let n=t.addressFunctionNodes;if(n.length===0)return;let r=t.refOffsetX,i=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);let a=[];for(let e=0,t=n.length;e<t;e++){let t=await this._getRangeListByNode({node:n[e],refOffsetX:r,refOffsetY:i});a.push(...t)}let o=new Set;this._searchDependencyByAddressFunction(e,a,o);let s=this._buildTreeNodeById(o);if(s.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,s),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){let n=t.pop(),r={node:this._getTreeNode(n),refOffsetX:n.refOffsetX,refOffsetY:n.refOffsetY};await this._calculateAddressFunction(e,n),this._runtimeService.setCurrent(n.row,n.column,n.rowCount,n.columnCount,n.subUnitId,n.unitId);let i;i=this._interpreter.checkAsyncNode(r.node)?await this._interpreter.executeAsync(r):this._interpreter.execute(r),n.formulaId==null?this._runtimeService.setRuntimeData(i):this._runtimeService.setRuntimeOtherData(n.formulaId,n.refOffsetX,n.refOffsetY,i)}}_buildTreeNodeById(e){let t=[];for(let n of e){let e=this._getTreeById(n);!e||this._executedAddressFunctionNodeIds.has(n)||(this._executedAddressFunctionNodeIds.add(n),t.push(e))}return t}_searchDependencyByAddressFunction(e,t,n){let r=e.bulkSearch(t),i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(let e of i)n.has(e)||n.add(e);let a=[];for(let e of r){let t=this._getTreeById(e);t&&!n.has(e)&&(a.push(...t.rangeList),n.add(e))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,n),n}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){let n=[];for(let r=0;r<t.length;r++){let{unitId:i,sheetId:a,range:o}=t[r];n.push({unitId:i,sheetId:a,range:o,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(n)}async _getRangeListByFunctionRefNode(e,t,n){let r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i],o=(await this._executeNode(a,t,n)).toUnitRange();r.push(o),a.setValue(null)}return r}_getUpdateTreeListAndMakeDependency(e){let t=[],n=new Set,r=this._currentConfigService.isForceCalculate(),i=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(i),o=this._dependencyRTreeCacheForAddressFunction.bulkSearch(i);for(let e of o)a.add(e);let s=this._dependencyManagerService.buildDependencyTree(e);for(let e of s){let i=e.treeId;(r||e.isDirty||e.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(i)&&!e.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!n.has(i)&&(t.push(e),n.add(i))}return t}_includeTreeFeature(e){let t=e.unitId,n=e.subUnitId,r=e.featureId;if(r!=null){var i;let e=this._currentConfigService.getDirtyUnitFeatureMap();if((e==null||(i=e[t])==null||(i=i[n])==null?void 0:i[r])!=null)return!0}return!1}_includeOtherFormula(e){let t=e.unitId,n=e.subUnitId,r=e.formulaId;if(r!=null){var i;let e=this._currentConfigService.getDirtyUnitOtherFormulaMap();if((e==null||(i=e[t])==null||(i=i[n])==null?void 0:i[r])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;let t=e.getChildren();for(let e=0,n=t.length;e<n;e++){let n=t[e];if(this._detectForcedRecalculationNodeRecursion(n))return!0}return!1}_includeTree(e,t){var n,r;let i=e.unitId,a=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||lo(e,t,this._currentConfigService)===!0)return!0;let o=(n=this._currentConfigService.getExcludedRange())==null||(n=n[i])==null?void 0:n[a];if((o==null?void 0:o.getValue(e.row,e.column))!=null)return!1;if(((r=this._currentConfigService.getDirtyNameMap()[i])==null?void 0:r[a])!=null)return!0;if(!this._updateRangeFlattenCache.has(i))return!1;let s=this._updateRangeFlattenCache.get(i);if(!s.has(a))return!1;let c=s.get(a);for(let t of c)if(e.inRangeData(t))return!0;return!1}_calculateRunList(e){e.length;let t=e,n=[],r=[];for(;t.length>0;){let e=t.pop();if(e===void 0||e.isSkip())continue;if(e.isAdded()){n.push(e),e.setSkip();continue}r.length=0;for(let t of e.parents){let n=this._dependencyManagerService.getTreeById(t);if(!n){console.error(`Dependency tree not found for treeId:`,t);continue}n.isAdded()||e.isSkip()||r.push(n)}let i=this._dependencyRTreeCacheForAddressFunction.bulkSearch(e.toRTreeItem());for(let t of i){let n=this._dependencyManagerService.getTreeById(t);if(!n){console.error(`Dependency tree not found for treeId:`,t);continue}n.isAdded()||e.isSkip()||r.push(n)}r.length===0?(n.push(e),e.setSkip()):(e.setAdded(),t.push(e,...r))}return n}async _initializeGenerateTreeList(){let e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),n=this._currentConfigService.getUnitData();return await this._generateTreeList(e,t,n)}async _getAllTreeList(){let e=await this._initializeGenerateTreeList();return this._dependencyManagerService.buildDependencyTree(e)}_getTreeModel(e){let t=this._formulaDependencyTreeModel.get(e);if(!t){let n=this._getTreeById(e);if(!n){console.error(`FormulaDependencyTree is null for treeId:`,e);return}t=new is(n),this._formulaDependencyTreeModel.set(e,t)}return t}_getDependencyTreeParenIds(e){return e.parents}_getDependencyTreeChildrenIds(e){return e.children}_getFormulaDependencyTreeModel(e){let t=this._getTreeModel(e.treeId),n=this._getDependencyTreeParenIds(e);if(!t)return new is(e);for(let e of n){let n=this._getTreeModel(e);n&&(t.addParent(n),n.addChild(t))}return t}_endFormulaDependencyTreeModel(){this._formulaDependencyTreeModel.clear()}_startFormulaDependencyTreeModel(){}_getAllDependencyJson(e){this._startFormulaDependencyTreeModel();let t=[];for(let n of e){let e=n.type;if(n.isVirtual&&(e===es.FEATURE_FORMULA||e===es.OTHER_FORMULA))continue;let r=this._getFormulaDependencyTreeModel(n);t.push(r)}let n=[];for(let e of t)n.push(e.toJson());return this._endFormulaDependencyTreeModel(),n}async getAllDependencyJson(){let e=await this._getAllTreeList();return this._getAllDependencyJson(e)}_setRealFormulaString(e){if(e.refTreeId==null)return;let t=this._getTreeById(e.refTreeId);t&&(e.formula=this._lexerTreeBuilder.moveFormulaRefOffset(t.formula,e.refOffsetX,e.refOffsetY))}async getCellDependencyJson(e,t,n,r){await this._initializeGenerateTreeList();let i=this._dependencyManagerService.getFormulaDependency(e,t,n,r);if(i==null)return;let a=this._getTreeById(i);if(!a)return;this._startFormulaDependencyTreeModel();let o=this._getFormulaDependencyTreeModel(a);this._setRealFormulaString(o);let s=this._getDependencyTreeChildrenIds(a);for(let e of s){let t=this._getTreeModel(e);t&&(this._setRealFormulaString(t),o.addChild(t))}for(let e of o.parents)this._setRealFormulaString(e);return this._endFormulaDependencyTreeModel(),o.toFullJson()}_getRangeDependents(e){let t=this._dependencyManagerService.searchDependency(e),n=[];for(let e of t){let t=this._getTreeById(e);if(!t)continue;let r=this._getFormulaDependencyTreeModel(t);this._setRealFormulaString(r),n.push(r)}let r=[];for(let e of n)e&&r.push(e.toJson());return r}async getRangeDependents(e){await this._initializeGenerateTreeList(),this._startFormulaDependencyTreeModel();let t=this._getRangeDependents(e);return this._endFormulaDependencyTreeModel(),t}_getInRangeFormulas(e,t){let n=[];for(let r of t)for(let t of e){let e=t.unitId,i=t.sheetId;if(!(r.unitId!==e||r.subUnitId!==i)&&(t.range,r.inRangeData(t.range))){n.push(r);break}}let r=[];for(let e of n){let t=this._getFormulaDependencyTreeModel(e);this._setRealFormulaString(t),r[e.treeId]=t}let i=[];for(let e of r)e&&i.push(e.toJson());return i}async getInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let n=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),n}async getRangeDependentsAndInRangeFormulas(e){let t=await this._getAllTreeList();this._startFormulaDependencyTreeModel();let n=this._getRangeDependents(e),r=this._getInRangeFormulas(e,t);return this._endFormulaDependencyTreeModel(),{dependents:n,inRanges:r}}};ss=dr([P(0,fi),P(1,qa),P(2,Qo),P(3,Xo),P(4,f(d)),P(5,f(bo)),P(6,f(Go)),P(7,f(pi)),P(8,Jo),P(9,f(ni))],ss);const cs=500,ls=se(`engine-formula.calculate-formula.service`);let us=class extends s{constructor(e,n,r,i,a,o,s){super(),this._configService=e,this._lexer=n,this._currentConfigService=r,this._runtimeService=i,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=s,E(this,`_executionInProgressListener$`,new we),E(this,`executionInProgressListener$`,this._executionInProgressListener$.asObservable()),E(this,`_executionCompleteListener$`,new we),E(this,`executionCompleteListener$`,this._executionCompleteListener$.asObservable()),E(this,`_executeLock`,new t),E(this,`_isCalculateTreeModel`,!1)}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),va.clear(),ci.clear(),Ze.clear(),sa.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(Wa.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();let t=e.maxIteration||1;this._isCalculateTreeModel=e.isCalculateTreeModel||!1,this._executeLock.acquire(`FORMULA_EXECUTION_LOCK`,async()=>{for(let e=0;e<t&&(this._runtimeService.setFormulaCycleIndex(e),await this._executeStep(),va.clear(),this._runtimeService.isCycleDependency());e++);this._runtimeService.setFormulaExecuteStage(Wa.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),ci.clear(),this._runtimeService.reset()})}async _executeStep(){let e=await this._apply();if(e==null)return;let{arrayFormulaRange:t,runtimeFeatureRange:n}=e,{dirtyRanges:r,excludedCell:i}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,n);return r==null||r.length===0?!0:(va.clear(),this._currentConfigService.loadDirtyRangesAndExcludedCell(r,i),await this._apply(!0),!0)}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){let n=[],r={};return Object.keys(e).forEach(t=>{let i=e[t];if(i==null)return!0;Object.keys(i).forEach(e=>{let a=new b(i[e]);if(a==null)return!0;let o=new b;a.forValue((r,i,a)=>{o.setValue(r,i,!0),n.push({unitId:t,sheetId:e,range:a})}),r[t]==null&&(r[t]={}),r[t][e]=o})}),Object.keys(t).forEach(e=>{let r=t[e];Object.keys(r).forEach(e=>{let t=r[e];if(t==null)return!0;Object.keys(t).forEach(r=>{let i=t[r];if(i==null)return!0;for(let t of i)n.push({unitId:e,sheetId:r,range:t})})})}),{dirtyRanges:n,excludedCell:r}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage(Wa.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Wa.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Wa.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Wa.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let r=[],i=this._configService.getConfig(Ur),a=(i==null?void 0:i.intervalCount)||500,o=t.length;for(let i=0;i<o;i++){var s;let o=t[i],c=o.nodeData,l=o.getDirtyData;if(i%a===0&&(await new Promise(e=>{let t=ve(e);r.push(t)}),e?(this._runtimeService.setFormulaExecuteStage(Wa.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(Wa.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||c==null&&l==null)){this._runtimeService.setFormulaExecuteStage(Wa.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(o.row,o.column,o.rowCount,o.columnCount,o.subUnitId,o.unitId);let u;if(l!=null&&o.featureId!=null){let{runtimeCellData:e,dirtyRanges:t}=l(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(o.featureId,e),this._runtimeService.setRuntimeFeatureRange(o.featureId,t)}else c!=null&&(u=n.checkAsyncNode(c.node)?await n.executeAsync(c):n.execute(c),o.formulaId==null?this._runtimeService.setRuntimeData(u):this._runtimeService.setRuntimeOtherData(o.formulaId,o.refOffsetX,o.refOffsetY,u));(s=c.node)==null||s.resetCalculationState()}return r.forEach(e=>e()),r=[],o>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}async executeFormulas(e,t){this._currentConfigService.loadDataLite(t);let n=this._currentConfigService.getUnitData();this._runtimeService.reset();let r={};for(let t of Object.keys(e)){let a=e[t];if(a!=null){r[t]={};for(let e of Object.keys(a)){var i;let o=a[e];if(o==null)continue;let s=(i=n[t])==null?void 0:i[e];if(s!=null){r[t][e]={};for(let n of Object.keys(o)){let i=Number.parseInt(n);r[t][e][i]={};let a=o[i];if(a)for(let n of Object.keys(a)){let o=Number.parseInt(n),c=a[o];if(!c)continue;let l=s.rowCount||0,u=s.columnCount||0;this._runtimeService.setCurrent(i,o,l,u,e,t);let d=[];for(let e of c){let t=await this.calculate(e);if(!t){d.push({value:null,formula:e});continue}t.isReferenceObject()&&(t=t.toArrayValueObject());let n=t;if(n.isArray()){let t=n;if(t.getRowCount()===1&&t.getColumnCount()===1){d.push({value:t.getFirstCell().getValue(),formula:e});continue}d.push({value:t.toValue(),formula:e});continue}d.push({value:n.getValue(),formula:e})}r[t][e][i][o]=d}}}}}}return r}async calculate(e){let t=this._lexer.treeBuilder(e);if(Object.values(D).includes(t))return;let n=this._astTreeBuilder.parse(t),r=this._interpreter;if(n==null)return;let i={node:n,refOffsetX:0,refOffsetY:0};return r.checkAsyncNode(n)?await r.executeAsync(i):r.execute(i)}async getAllDependencyJson(){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getAllDependencyJson()}async getCellDependencyJson(e,t,n,r){return this._currentConfigService.loadDataLite(),this._formulaDependencyGenerator.getCellDependencyJson(e,t,n,r)}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)}};us=dr([P(0,u),P(1,f(pi)),P(2,fi),P(3,qa),P(4,os),P(5,f(bo)),P(6,f(Go))],us);let ds=class extends s{constructor(e,t,n){super(),this._commandService=e,this._calculateFormulaService=t,this._formulaDataModel=n,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Cr.id)this._calculateFormulaService.stopFormulaExecution();else if(e.id===yr.id)this._calculate(e.params);else if(e.id===zn.id){let t=e.params;if(t==null)return;let{arrayFormulaRange:n,arrayFormulaCellData:r}=t;this._formulaDataModel.setArrayFormulaRange(n),this._formulaDataModel.setArrayFormulaCellData(r)}else if(e.id===xr.id)this._calculateFormulaString(e.params);else if(e.id===Er.id)this._generateAllDependencyTreeJson();else if(e.id===Or.id)this._generateCellDependencyTreeJson(e.params);else if(e.id===Ar.id){let t=e.params;this._queryFormulaDependencyJson(t)}else if(e.id===Mr.id){let t=e.params;this._queryFormulaDependencyAllJson(t)}}))}async _calculate(e){let{forceCalculation:t=!1,dirtyRanges:n=[],dirtyNameMap:r={},dirtyDefinedNameMap:i={},dirtyUnitFeatureMap:a={},dirtyUnitOtherFormulaMap:o={},clearDependencyTreeCache:s={},maxIteration:c=1,rowData:l,isCalculateTreeModel:u=!1}=e,d=this._formulaDataModel.getFormulaData(),f=this._formulaDataModel.getArrayFormulaCellData(),p=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:d,arrayFormulaCellData:f,arrayFormulaRange:p,forceCalculate:t,dirtyRanges:n,dirtyNameMap:r,dirtyDefinedNameMap:i,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o,clearDependencyTreeCache:s,maxIteration:c,isCalculateTreeModel:u,rowData:l})}async _queryFormulaDependencyJson(e){let{unitRanges:t,isInRange:n}=e,r=[];r=n?await this._calculateFormulaService.getInRangeFormulas(t):await this._calculateFormulaService.getRangeDependents(t),this._commandService.executeCommand(jr.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(e){let{unitRanges:t}=e,n=await this._calculateFormulaService.getDependentsAndInRangeFormulas(t);this._commandService.executeCommand(Nr.id,{result:n},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){let e=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(Dr.id,{result:e},{onlyLocal:!0})}async _generateCellDependencyTreeJson(e){let{unitId:t,sheetId:n,row:r,column:i}=e,a=await this._calculateFormulaService.getCellDependencyJson(t,n,r,i);this._commandService.executeCommand(kr.id,{result:a},{onlyLocal:!0})}async _calculateFormulaString(e){let{formulas:t}=e,n=await this._calculateFormulaService.executeFormulas(t);this._commandService.executeCommand(Sr.id,{result:n},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(e=>{let t=e.functionsExecutedState;switch(t){case Ga.NOT_EXECUTED:this._applyTreeResult(e);break;case Ga.STOP_EXECUTION:break;case Ga.SUCCESS:this._applyResult(e);break;case Ga.INITIAL:break}this._commandService.executeCommand(wr.id,{functionsExecutedState:t},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(e=>{this._commandService.executeCommand(wr.id,{stageInfo:e},{onlyLocal:!0})})}async _applyTreeResult(e){let{dependencyTreeModelData:t}=e;t.length>0&&this._commandService.executeCommand(Dr.id,{result:t},{onlyLocal:!0})}async _applyResult(e){let{unitData:t,unitOtherData:n,arrayFormulaRange:r,arrayFormulaCellData:i,clearArrayFormulaCellData:a,arrayFormulaEmbedded:o,imageFormulaData:s,dependencyTreeModelData:c}=e;if(!t){this._applyTreeResult(e),console.error(`No sheetData from Formula Engine!`);return}(r||o)&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(a),this._formulaDataModel.mergeArrayFormulaCellData(i),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(zn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:o},{onlyLocal:!0})),s&&s.length>0&&this._commandService.executeCommand(Fr.id,{imageFormulaData:s},{onlyLocal:!0}),this._applyTreeResult(e),this._commandService.executeCommand(Tr.id,{unitData:kn(t),unitOtherData:n},{onlyLocal:!0})}};ds=dr([P(0,l),P(1,ls),P(2,f(ai))],ds);const fs=/[\[\]]/g;function ps(e,t){return fs.test(e)?t+Number(e.replace(fs,``)):Number(e)-1}function ms(t,n=0,r=0){t=t.toLocaleUpperCase();let i=t.split(/[RC]/),a=i[1],o=i[2];return{row:ps(a,n),column:ps(o,r),absoluteRefType:e.NONE}}function hs(e,t=0,n=0){let{refBody:r,sheetName:i,unitId:a}=Xn(e),o=r.indexOf(`:`);if(o===-1){let e=ms(r,t,n),o=e.row,s=e.column,c=e.absoluteRefType;return{unitId:a,sheetName:i,range:{startRow:o,startColumn:s,endRow:o,endColumn:s,startAbsoluteRefType:c,endAbsoluteRefType:c}}}let s=r.substring(0,o),c=r.substring(o+1),l=ms(s,t,n),u=ms(c,t,n);return{unitId:a,sheetName:i,range:{startRow:l.row,startColumn:l.column,endRow:u.row,endColumn:u.column,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:u.absoluteRefType}}}function gs(e){let t=_s(e.startRow,e.startAbsoluteRefType,!0),n=_s(e.startColumn,e.startAbsoluteRefType,!1),r=_s(e.endRow,e.endAbsoluteRefType,!0),i=_s(e.endColumn,e.endAbsoluteRefType,!1);return t===r&&n===i?`R${t}C${n}`:`R${t}C${n}:R${r}C${i}`}function _s(t,n=e.ALL,r){switch(t+=1,n){case e.ALL:return`${t}`;case e.ROW:return r?`${t}`:`[${t}]`;case e.COLUMN:return r?`[${t}]`:`${t}`;case e.NONE:return`[${t}]`}}function vs(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return j.create(D.VALUE);t=e.get(0,0)}return t.isError(),t}function ys(...e){for(let t=0;t<e.length;t++){let n=vs(e[t]);if(n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}function Y(...e){for(let t=0;t<e.length;t++){let n=vs(e[t]);if(n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE)};e[t]=n}return{isError:!1,variants:e}}function bs(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return{isError:!0,errorObject:n};if(n.isNull())return{isError:!0,errorObject:j.create(D.NA)};if(n=vs(e[t]),n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE)};e[t]=n}return{isError:!1,variants:e}}function X(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}var Z=class{constructor(e){this._name=e,E(this,`_unitId`,void 0),E(this,`_subUnitId`,void 0),E(this,`_row`,-1),E(this,`_column`,-1),E(this,`_definedNames`,void 0),E(this,`_locale`,void 0),E(this,`_sheetOrder`,void 0),E(this,`_sheetNameMap`,void 0),E(this,`_formulaDataModel`,void 0),E(this,`_rowCount`,-1),E(this,`_columnCount`,-1),E(this,`needsExpandParams`,!1),E(this,`needsReferenceObject`,!1),E(this,`needsLocale`,!1),E(this,`needsSheetsInfo`,!1),E(this,`needsFormulaDataModel`,!1),E(this,`needsSheetRowColumnCount`,!1),E(this,`needsFilteredOutRows`,!1),E(this,`minParams`,-1),E(this,`maxParams`,-1)}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(e){var t;let n=this._definedNames;return n==null?null:(t=Array.from(Object.values(n)).filter(t=>t.name===e))==null?void 0:t[0]}setDefinedNames(e){this._definedNames=e}getLocale(){return this._locale}setLocale(e){this._locale=e}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:e,sheetNameMap:t}){this._sheetOrder=e,this._sheetNameMap=t}setFormulaDataModel(e){this._formulaDataModel=e}setSheetRowColumnCount(e,t){this._rowCount=e,this._columnCount=t}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(e,t,n,r){this._unitId=e,this._subUnitId=t,this._row=n,this._column=r}calculateCustom(...e){return null}calculate(...e){return j.create(D.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){let n=e;if(n.isArray()&&(n=n.getFirstCell()),n.isBoolean())return n.getValue()===!1?j.create(D.VALUE):t;if(n.isString()){let e=Number(n.getValue());return Number.isNaN(e)?j.create(D.REF):e}else if(n.isNumber())return n.getValue();return j.create(D.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else if(e.isString())return;else e.isNumber()&&e.getValue()===0&&(t=0);return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else if(e.isString())return;else if(e.isNumber()){let n=e.getValue();n<=0&&(t=n)}return t}binarySearch(e,t,n,r,i){let a=t.binarySearch(e,r,i);if(a==null)return j.create(D.NA);let o;return o=n.getRowCount()===1?n.get(0,a)||I.create():n.get(a,0)||I.create(),o.isNull()?R.create(0):o}_getOneFirstByRaw(e){return e.length===0?j.create(D.NA):e[0][0]||j.create(D.NA)}_getOneLastByRaw(e){return e.length===0?j.create(D.NA):e[e.length-1][e[0].length-1]||j.create(D.NA)}equalSearch(e,t,n,r=!0){let i=n.pickRaw(t.isEqual(e));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}fuzzySearch(e,t,n,r=!0){let i=n.pickRaw(t.compare(e,k.EQUALS));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,n,r=yi.MIN,i=!1){let a=t.orderSearch(e,r,i);if(a==null)return j.create(D.NA);let o=n.get(a.row,a.column)||I.create();return o.isNull()?j.create(D.NA):o}binarySearchExpand(e,t,n,r=0,i,a){let o=t.binarySearch(e,i,a);return o==null?j.create(D.NA):r===0?n.slice([o,o+1]):n.slice(void 0,[o,o+1])}equalSearchExpand(e,t,n,r=!0,i=0){let a=t.isEqual(e),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?j.create(D.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}fuzzySearchExpand(e,t,n,r=!0,i=0){let a=t.compare(e,k.EQUALS),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?j.create(D.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}orderSearchExpand(e,t,n,r=yi.MIN,i=!1,a=0){let o=t.orderSearch(e,r,i);return o==null?j.create(D.NA):a===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}flattenArray(e,t=!0){let n=[];n[0]=[];for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean()||i.isNull())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){let e;if(i.iterator(r=>{if(r==null||r.isNull()||t&&(r.isString()||r.isBoolean()))return!0;if(r=this._includingLogicalValuesAndText(r),r.isError())return e=r,!1;n[0].push(r)}),e!=null&&e.isError())return e}else n[0].push(i)}return Ea(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Aa(e)),e.isString()){let t=Number(e.getValue());e=R.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){let n=e.getForcedUnitId()||e.getDefaultUnitId()||``,r=e.getForcedSheetId()||e.getDefaultUnitId()||``,i=Jn({unitId:n,sheetName:e.getForcedSheetName(),range:t}),a;return a=gn(i)?new Ca(i):bn(i)?new Ta(i):xn(i)?new wa(i):new Sa(t,r,n),this._setReferenceDefault(e,a)}_setReferenceDefault(e,t){if(this.unitId==null||this.subUnitId==null)return j.create(D.REF);t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId);let n=e.getUnitId();n!=null&&t.setForcedUnitIdDirect(n);let r=e.getForcedSheetId();return r!=null&&t.setForcedSheetIdDirect(r),t.setForcedSheetName(e.getForcedSheetName()),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setUnitStylesData(e.getUnitStylesData()),t}},xs=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;let{isError:r,errorObject:i,variants:a}=ys(t,n);if(r)return i;let{isError:o,errorObject:s,variants:c}=X(...a);if(o)return s;let[l,u]=c,d=Math.floor(+l.getValue()),f=Math.floor(+u.getValue());if(d<0||f<0)return j.create(D.NUM);if(d===0||f===0)return j.create(D.REF);let p=e.isArray()?e.getRowCount():1,m=e.isArray()?e.getColumnCount():1;if(p===1&&m===1)return e.isArray()?e.get(0,0):e;let h=d>p?p:d,g=f>m?m:f;return e.slice([0,h],[0,g])}},Ss=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=r.isArray()?r.getRowCount():1,a=r.isArray()?r.getColumnCount():1;for(let e=0;e<i;e++)for(let n=0;n<a;n++){let i=r.isArray()?r.get(e,n):r;t.push([i])}}return B.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}};let Cs=function(e){return e.ARRAY_CONSTRAIN=`ARRAY_CONSTRAIN`,e.FLATTEN=`FLATTEN`,e}({});const ws=[[xs,Cs.ARRAY_CONSTRAIN],[Ss,Cs.FLATTEN]];let Ts;(function(e){let t=.636619772;function n(e,t){let n=0;for(let r=0;r<e.length;++r)n=t*n+e[r];return n}function r(e,t,n,r,i){if(t===0)return n;if(t===1)return r;let a=2/e,o=n,s=r,c=r;for(let e=1;e<t;++e)c=s*e*a+i*o,o=s,s=c;return c}function i(e,t,n,i){return function(a,o){if(n){if(a===0)return n===1?-1/0:1/0;if(a<0)return NaN}return o===0?e(a):o===1?t(a):o<0?NaN:r(a,o|0,e(a),t(a),i)}}let a=e.besselj=(()=>{let e=[-184.9052456,77392.33017,-11214424.18,651619640.7,-13362590354,57568490574],i=[1,267.8532712,59272.64853,9494680.718,1029532985,57568490411],a=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-9.34935152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function s(r){let s=0,c=0,l=0,u=r*r;if(r<8)c=n(e,u),l=n(i,u),s=c/l;else{let e=r-.785398164;u=64/u,c=n(a,u),l=n(o,u),s=Math.sqrt(t/r)*(Math.cos(e)*c-Math.sin(e)*l*8/r)}return s}let c=[-30.16036606,15704.4826,-2972611.439,242396853.1,-7895059235,72362614232],l=[1,376.9991397,99447.43394,18583304.74,2300535178,144725228442],u=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],d=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function f(e){let r=0,i=0,a=0,o=e*e,s=Math.abs(e)-2.356194491;return Math.abs(e)<8?(i=e*n(c,o),a=n(l,o),r=i/a):(o=64/o,i=n(u,o),a=n(d,o),r=Math.sqrt(t/Math.abs(e))*(Math.cos(s)*i-Math.sin(s)*a*8/Math.abs(e)),e<0&&(r=-r)),r}return function e(t,n){let i=Math.round(n);if(!Number.isFinite(t))return Number.isNaN(t)?t:0;if(i<0)return(i%2?-1:1)*e(t,-i);if(t<0)return(i%2?-1:1)*e(-t,i);if(i===0)return s(t);if(i===1)return f(t);if(t===0)return 0;let a=0;if(t>i)a=r(t,i,s(t),f(t),-1);else{let e=2*Math.floor((i+Math.floor(Math.sqrt(40*i)))/2),n=!1,r=0,o=0,s=1,c=0,l=2/t;for(let t=e;t>0;t--)if(c=t*l*s-r,r=s,s=c,Math.abs(s)>1e10&&(s*=1e-10,r*=1e-10,a*=1e-10,o*=1e-10),n&&(o+=s),n=!n,t===i&&(a=r),e-t>100&&a===0)return NaN;o=2*o-s,a/=o}return a}})();e.bessely=(()=>{let e=[228.4622733,-86327.92757,10879881.29,-512359803.6,7062834065,-2957821389],r=[1,226.1030244,47447.2647,7189466.438,745249964.8,40076544269],o=[2.093887211e-7,-2073370639e-15,2734510407e-14,-.001098628627,1],s=[-9.34945152e-8,7.621095161e-7,-6911147651e-15,.0001430488765,-.01562499995];function c(i){let c=0,l=0,u=0,d=i*i,f=i-.785398164;return i<8?(l=n(e,d),u=n(r,d),c=l/u+t*a(i,0)*Math.log(i)):(d=64/d,l=n(o,d),u=n(s,d),c=Math.sqrt(t/i)*(Math.sin(f)*l+Math.cos(f)*u*8/i)),c}let l=[8511.937935,-4237922.726,734926455.1,-51534381390,127527439e4,-4900604943e3],u=[1,354.9632885,102042.605,22459040.02,3733650367,424441966400,249958057e5],d=[-2.40337019e-7,2457520174e-15,-3516396496e-14,.00183105,1],f=[1.05787412e-7,-8.8228987e-7,8449199096e-15,-.0002002690873,.04687499995];function p(e){let r=0,i=0,o=0,s=e*e,c=e-2.356194491;return e<8?(i=e*n(l,s),o=n(u,s),r=i/o+t*(a(e,1)*Math.log(e)-1/e)):(s=64/s,i=n(d,s),o=n(f,s),r=Math.sqrt(t/e)*(Math.sin(c)*i+Math.cos(c)*o*8/e)),r}return i(c,p,1,-1)})();let o=e.besseli=(()=>{let e=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],t=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function r(r){return r<=3.75?n(e,r*r/(3.75*3.75)):Math.exp(Math.abs(r))/Math.sqrt(Math.abs(r))*n(t,3.75/Math.abs(r))}let i=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],a=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function o(e){return e<3.75?e*n(i,e*e/(3.75*3.75)):(e<0?-1:1)*Math.exp(Math.abs(e))/Math.sqrt(Math.abs(e))*n(a,3.75/Math.abs(e))}return function e(t,n){let i=Math.round(n);if(i===0)return r(t);if(i===1)return o(t);if(i<0)return NaN;if(Math.abs(t)===0)return 0;if(t===1/0)return 1/0;let a=0,s,c=2/Math.abs(t),l=0,u=1,d=0,f=2*Math.round((i+Math.round(Math.sqrt(40*i)))/2);for(s=f;s>0;s--)if(d=s*c*u+l,l=u,u=d,Math.abs(u)>1e10&&(u*=1e-10,l*=1e-10,a*=1e-10),s===i&&(a=l),f-s>100&&a===0)return NaN;return a*=e(t,0)/u,t<0&&i%2?-a:a}})();e.besselk=(()=>{let e=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],t=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function r(r){return r<=2?-Math.log(r/2)*o(r,0)+n(e,r*r/4):Math.exp(-r)/Math.sqrt(r)*n(t,2/r)}let a=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],s=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function c(e){return e<=2?Math.log(e/2)*o(e,1)+1/e*n(a,e*e/4):Math.exp(-e)/Math.sqrt(e)*n(s,2/e)}return i(r,c,2,1)})()})(Ts||(Ts={}));function Es(e){return/^[01]{1,10}$/.test(e)}function Ds(e){return/^[0-7]{1,10}$/.test(e)}function Os(e){return/^[0-9A-Fa-f]{1,10}$/.test(e)}function ks(e){if(e===0)return 0;let t=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-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],n=e,r=!1;n<0&&(n=-n,r=!0);let i=2/(2+n),a=4*i-2,o=0,s=0,c;for(let e=t.length-1;e>0;e--)c=o,o=a*o-s+t[e],s=c;let l=i*Math.exp(-n*n+.5*(t[0]+a*o)-s);return r?l-1:1-l}function As(e){return 1-ks(e)}function js(e){if(e>=2)return-100;if(e<=0)return 100;let t=e<1?e:2-e,n=Math.sqrt(-2*Math.log(t/2)),r=-.70711*((2.30753+n*.27061)/(1+n*(.99229+n*.04481))-n);for(let e=0;e<2;e++){let e=As(r)-t;r+=e/(1.1283791670955126*Math.exp(-r*r)-r*e)}return e<1?r:-r}function Ms(e,t=1){let n=Math.floor(e);if(e<0)return NaN;let r=1;for(;n>1&&Number.isFinite(r);)r*=n,n-=t;return r}function Ns(e,t){let n=Math.min(e-t,t),r=1;for(let t=1;t<=n&&Number.isFinite(r);t++)r*=e-t+1,r/=t;return r}function Ps(e,t){let n=Math.floor(e),r=Math.floor(t);for(;r!==0;){let e=r;r=n%r,n=e}return n}function Fs(e,t){let n=Ps(e,t);return n===0?0:Math.abs(e*t)/n}function Is(e){let t=e.length;if(t===1)return e[0][0];if(t===2)return e[0][0]*e[1][1]-e[0][1]*e[1][0];let{rowSwap:n,smallPivotDetected:r,luMatrix:i,permutation:a}=Us(e);if(r)return 0;let o=n?1:-1;for(let e=0;e<a.length;e++)o*=i[e][e];return o===0?0:o}function Ls(e){let t=Is(e);return t===0?null:e.length===1?[[1/t]]:zs(e).map(e=>e.map(e=>e/t))}function Rs(e,t,n){return e.filter((e,n)=>n!==t).map(e=>e.filter((e,t)=>t!==n))}function zs(e){let t=e.length,n=Array.from({length:t},()=>Array(t).fill(0));for(let r=0;r<t;r++)for(let i=0;i<t;i++){let t=((r+i)%2==0?1:-1)*Is(Rs(e,r,i));n[i][r]=t===0?0:t}return n}function Bs(e,t){return e.map(e=>t[0].map((n,r)=>e.reduce((e,n,i)=>e+n*t[i][r],0)))}function Vs(e){return e[0].map((t,n)=>e.map(e=>e[n]))}function Hs(e){let{smallPivotDetected:t,luMatrix:n,permutation:r}=Us(e);return t?null:Ws(n,r)}function Us(e){let t=Vs(e),n=t.length,r=t[0].length,i=!0,a=!1,o=Gs(n,r,0),s=Array(r).fill(0).map((e,t)=>t);for(let e=0;e<r;e++){for(let n=0;n<e;n++){let r=t[n][e];for(let t=0;t<n;t++)r-=o[n][t]*o[t][e];o[n][e]=r}let r=-1/0,c=e;for(let i=e;i<n;i++){let n=t[i][e];for(let t=0;t<e;t++)n-=o[i][t]*o[t][e];o[i][e]=n;let a=Math.abs(n);a>r&&(r=a,c=i)}if(Math.abs(o[c][e])<1e-11){a=!0;break}c!==e&&([o[e],o[c]]=[o[c],o[e]],[t[e],t[c]]=[t[c],t[e]],[s[e],s[c]]=[s[c],s[e]],i=!i);let l=o[e][e];for(let t=e+1;t<n;t++)o[t][e]/=l}return{rowSwap:i,smallPivotDetected:a,luMatrix:o,permutation:s}}function Ws(e,t){let n=t.length,r=Gs(n,n,0);for(let e=0;e<n;e++)r[e][e]=1;let i=Gs(n,n,0);for(let e=0;e<n;e++){let a=t[e];for(let t=0;t<n;t++)i[e][t]=r[a][t]}for(let t=0;t<n;t++){let r=i[t];for(let a=t+1;a<n;a++){let o=e[a][t];for(let e=0;e<n;e++)i[a][e]-=r[e]*o}}for(let t=n-1;t>=0;t--){let r=i[t],a=e[t][t];for(let e=0;e<n;e++)r[e]/=a;for(let a=0;a<t;a++){let o=e[a][t];for(let e=0;e<n;e++)i[a][e]-=r[e]*o}}return i}function Gs(e,t,n){let r=[];for(let i=0;i<e;i++){r[i]=[];for(let e=0;e<t;e++)r[i].push(n)}return r}function Ks(e){let t=qs(e);if(!t)return null;let{matrixU:n,matrixS:r,matrixV:i}=t,a=Vs(n),o=Array.from({length:r.length},()=>Array(e[0].length).fill(0)),s=Math.max(e.length,e[0].length)*2**-52*r[0];for(let e=0;e<r.length;e++)Math.abs(r[e])>s&&(o[e][e]=1/r[e]);return Bs(i,Bs(o,a))}function qs(e){let t=Vs(e),n=t.length,r=t[0].length;if(n<r)return null;let i=Array(r).fill(0),a=Array(r).fill(0),o=Array.from({length:r},()=>Array(r).fill(0)),s=2**-52,c=0,l=0,u=0;for(let e=0;e<r;e++){if(i[e]=c,l=Ys(t,e,n,e,e),l<=1e-64/s)c=0;else{c=Math.sqrt(l),t[e][e]>=0&&(c=-c);let i=t[e][e]*c-l;t[e][e]-=c;for(let a=e+1;a<r;a++){l=Ys(t,e,n,e,a);for(let r=e;r<n;r++)t[r][a]+=l/i*t[r][e]}}if(a[e]=c,l=Xs(t,e+1,r,e,e),l<=1e-64/s)c=0;else{c=Math.sqrt(l),t[e][e+1]>=0&&(c=-c);let a=t[e][e+1]*c-l;t[e][e+1]-=c;for(let n=e+1;n<r;n++)i[n]=t[e][n]/a;for(let a=e+1;a<n;a++){l=Xs(t,e+1,r,a,e);for(let n=e+1;n<r;n++)t[a][n]+=l*i[n]}}let o=Math.abs(a[e])+Math.abs(i[e]);o>u&&(u=o)}let d=0;for(let e=r-1;e>=0;e--){if(c!==0){for(let n=d;n<r;n++)o[n][e]=t[e][n]/(c*t[e][e+1]);for(let n=d;n<r;n++){l=0;for(let i=d;i<r;i++)l+=t[e][i]*o[i][n];for(let t=d;t<r;t++)o[t][n]+=l*o[t][e]}}for(let t=d;t<r;t++)o[e][t]=0,o[t][e]=0;o[e][e]=1,c=i[e],d=e}for(let e=r-1;e>=0;e--){c=a[e];for(let n=e+1;n<r;n++)t[e][n]=0;if(c!==0){for(let i=e+1;i<r;i++){l=Ys(t,e+1,n,e,i);for(let r=e;r<n;r++)t[r][i]+=l/(t[e][e]*c)*t[r][e]}for(let r=e;r<n;r++)t[r][e]/=c}else for(let r=e;r<n;r++)t[r][e]=0;t[e][e]+=1}s*=u;let f=0,p=0,m=0;for(let e=r-1;e>=0;e--)for(let c=0;c<50;c++){let l=!1,u=e;for(;u>=0;u--){if(Math.abs(i[u])<=s){l=!0;break}if(Math.abs(a[u-1])<=s)break}if(!l){let r=0,o=1;for(let c=u;c<e+1&&(f=o*i[c],p=a[c],i[c]*=r,!(Math.abs(f)<=s));c++){m=Js(f,p),a[c]=m,r=p/m,o=-f/m;for(let e=0;e<n;e++){let n=t[e][u-1],i=t[e][c];t[e][u-1]=n*r+i*o,t[e][c]=-n*o+i*r}}}if(u===e){if(a[e]<0){a[e]=-a[e];for(let t=0;t<r;t++)o[t][e]=-o[t][e]}break}if(c>=49)return null;let d=a[u];f=((a[e-1]-a[e])*(a[e-1]+a[e])+(i[e-1]-i[e])*(i[e-1]+i[e]))/(2*i[e]*a[e-1]),m=Js(f,1),f=f<0?((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(f-m)-i[e]))/d:((d-a[e])*(d+a[e])+i[e]*(a[e-1]/(f+m)-i[e]))/d;let h=1,g=1;for(let s=u+1;s<e+1;s++){let e=i[s],c=a[s];p=g*e,e*=h,m=Js(f,p),i[s-1]=m,h=f/m,g=p/m,f=d*h+e*g,p=c*g,e=-d*g+e*h,c*=h;for(let e=0;e<r;e++){let t=o[e][s-1],n=o[e][s];o[e][s-1]=t*h+n*g,o[e][s]=-t*g+n*h}m=Js(f,p),a[s-1]=m,h=f/m,g=p/m,f=h*e+g*c,d=-g*e+h*c;for(let e=0;e<n;e++){let n=t[e][s-1],r=t[e][s];t[e][s-1]=n*h+r*g,t[e][s]=-n*g+r*h}}i[u]=0,i[e]=f,a[e]=d}for(let e=0;e<a.length;e++)a[e]<s&&(a[e]=0);for(let e=0;e<r;e++)for(let n=e-1;n>=0;n--)if(a[n]<a[e]){let r=a[n];a[n]=a[e],a[e]=r;for(let r=0;r<t.length;r++){let i=t[r][e];t[r][e]=t[r][n],t[r][n]=i}for(let t=0;t<o.length;t++){let r=o[t][e];o[t][e]=o[t][n],o[t][n]=r}e=n}return{matrixU:t,matrixS:a,matrixV:o}}function Js(e,t){let n=0;return Math.abs(e)>Math.abs(t)?(n=t/e,Math.abs(e)*Math.sqrt(1+n*n)):t===0?0:(n=e/t,Math.abs(t)*Math.sqrt(1+n*n))}function Ys(e,t,n,r,i){let a=0;for(let o=t;o<n;o++)a+=e[o][r]*e[o][i];return a}function Xs(e,t,n,r,i){let a=0;for(let o=t;o<n;o++)a+=e[r][o]*e[i][o];return a}const Zs=new Map([[`I`,1],[`V`,5],[`X`,10],[`L`,50],[`C`,100],[`D`,500],[`M`,1e3]]),Qs=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`]]),$s=[[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 ec(e,t,n){return e<=0?0:e>=1?1:rc(e,t,n)}function tc(e,t,n){return e<=0||e>=1?0:t===1&&n===1?1:t<512&&n<512?e**(t-1)*(1-e)**(n-1)/ac(t,n):Math.exp((t-1)*Math.log(e)+(n-1)*Math.log(1-e)-oc(t,n))}function nc(e,t,n){if(e<=0)return 0;if(e>=1)return 1;let r;if(t>=1&&n>=1){let i=e<.5?e:1-e,a=Math.sqrt(-2*Math.log(i));r=(2.30753+a*.27061)/(1+a*(.99229+a*.04481))-a,e<.5&&(r=-r);let o=(r*r-3)/6,s=2/(1/(2*t-1)+1/(2*n-1)),c=r*Math.sqrt(o+s)/s-(1/(2*n-1)-1/(2*t-1))*(o+5/6-2/(3*s));r=t/(t+n*Math.exp(2*c))}else{let i=Math.exp(t*Math.log(t/(t+n)))/t,a=i+Math.exp(n*Math.log(n/(t+n)))/n;r=e<i/a?(t*a*e)**(1/t):1-(n*a*(1-e))**(1/n)}let i=-oc(t,n),a,o,s;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(a=rc(r,t,n)-e,o=Math.exp((t-1)*Math.log(r)+(n-1)*Math.log(1-r)+i),s=a/o,r-=o=s/(1-.5*Math.min(1,s*((t-1)/r-(n-1)/(1-r)))),r<=0&&(r=.5*(r+o)),r>=1&&(r=.5*(r+o+1)),Math.abs(o)<1e-8*r&&c>0)break}return r}function rc(e,t,n){let r=e===0||e===1?0:Math.exp(Sc(t+n)-Sc(t)-Sc(n)+t*Math.log(e)+n*Math.log(1-e));return e<(t+1)/(t+n+2)?r*ic(e,t,n)/t:1-r*ic(1-e,n,t)/n}function ic(e,t,n){let r=1e-8,i=1-(t+n)*e/(t+1);Math.abs(i)<r&&(i=r),i=1/i;let a=1,o=i;for(let s=1;s<=100;s++){let c=s*(n-s)*e/((t-1+s*2)*(t+s*2));if(i=1+c*i,Math.abs(i)<r&&(i=r),a=1+c/a,Math.abs(a)<r&&(a=r),i=1/i,o*=i*a,c=-(t+s)*(t+n+s)*e/((t+s*2)*(t+1+s*2)),i=1+c*i,Math.abs(i)<r&&(i=r),a=1+c/a,Math.abs(a)<r&&(a=r),i=1/i,o*=i*a,Math.abs(i*a-1)<r)break}return o}function ac(e,t){return e+t>170?Math.exp(oc(e,t)):vc(e)*vc(t)/vc(e+t)}function oc(e,t){return Sc(e)+Sc(t)-Sc(e+t)}function sc(e,t,n){if(e<0)return 0;if(e>=t)return 1;if(n<0||n>1||t<=0)return NaN;let r=0;for(let i=0;i<=e;i++)r+=cc(i,t,n);return r}function cc(e,t,n){return n===0||n===1?t*n===e?1:0:Ns(t,e)*n**e*(1-n)**(t-e)}function lc(e,t){return e<=0?0:Cc(t/2,e/2)}function uc(e,t){return e<0?0:e===0&&t===2?.5:Math.exp((t/2-1)*Math.log(e)-e/2-t/2*Math.log(2)-Sc(t/2))}function dc(e,t){return e<=0?0:e>=1?1/0:2*wc(e,t/2)}function fc(e,t,n){return e<0?0:rc(t*e/(t*e+n),t/2,n/2)}function pc(e,t,n){if(e<0)return 0;if(e===0&&t<2)return 1/0;if(e===0&&t===2)return 1;let r=1/ac(t/2,n/2);return r*=(t/n)**(t/2),r*=e**(t/2-1),r*=(1+t/n*e)**(-(t+n)/2),r}function mc(e,t,n){return e<=0?0:e>=1?1/0:n/(t*(1/nc(e,t/2,n/2)-1))}function hc(e,t){return e<0?0:1-Math.exp(-t*e)}function gc(e,t){return e<0?0:t*Math.exp(-t*e)}function _c(e,t,n){let r=t.length,i=0,a=0;for(let e=0;e<r;e++)i+=t[e],a+=n[e];let o=i/r,s=a/r,c=0,l=0;for(let e=0;e<r;e++)c+=(t[e]-o)*(n[e]-s),l+=(n[e]-s)**2;if(l===0)return 1/0;let u=c/l;return o-u*s+u*e}function vc(e){let t=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],n=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535],r=0,i=e;if(e>171.6243769536076)return 1/0;if(i<=0){let e=i%1+36e-17;if(e)r=(i&1?-1:1)*Math.PI/Math.sin(Math.PI*e),i=1-i;else return 1/0}let a=i,o=0,s;s=i<1?i++:(i-=o=(i|0)-1)-1;let c=0,l=0;for(let e=0;e<8;++e)c=(c+t[e])*s,l=l*s+n[e];let u=c/l+1;if(a<i)u/=a;else if(a>i)for(let e=0;e<o;++e)u*=i,i++;return r&&(u=r/u),u}function yc(e,t,n){return e<=0?0:Cc(t,e/n)}function bc(e,t,n){return e<0?0:e===0&&t===1?1/n:Math.exp((t-1)*Math.log(e)-e/n-Sc(t)-t*Math.log(n))}function xc(e,t,n){return e<=0?0:e>=1?1/0:n*wc(e,t)}function Sc(e){let t=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],n=e,r=e+5.5;r-=(e+.5)*Math.log(r);let i=1.000000000190015;for(let e=0;e<6;e++)i+=t[e]/++n;return-r+Math.log(2.5066282746310007*i/e)}function Cc(e,t){if(t<0||e<=0)return NaN;let n=1e-30,r=-~(Math.log(e>=1?e:1/e)*8.5+e*.4+17),i=Sc(e),a=Math.exp(-t+e*Math.log(t)-i),o=e,s=1/e,c=s;if(t<e+1){if(a===0)return 0;for(let e=1;e<=r&&(s+=c*=t/++o,!(Math.abs(c)<Math.abs(s)*n));e++);return s*a}if(a===0)return 1;let l=t+1-e,u=1/n,d=1/l,f=d;for(let t=1;t<=r;t++){let r=-t*(t-e);if(l+=2,d=r*d+l,Math.abs(d)<n&&(d=n),u=l+r/u,Math.abs(u)<n&&(u=n),d=1/d,f*=d*u,Math.abs(d*u-1)<n)break}return 1-f*a}function wc(e,t){if(e<=0)return 0;if(e>=1)return Math.max(100,t+100*Math.sqrt(t));let n;if(t>1){let r=e<.5?e:1-e,i=Math.sqrt(-2*Math.log(r));n=(2.30753+i*.27061)/(1+i*(.99229+i*.04481))-i,e<.5&&(n=-n),n=Math.max(.001,t*(1-1/(9*t)-n/(3*Math.sqrt(t)))**3)}else{let r=1-t*(.253+t*.12);n=e<r?(e/r)**(1/t):1-Math.log(1-(e-r)/(1-r))}let r=Sc(t),i,a;for(let o=0;o<12;o++){if(n<=0)return 0;if(i=Cc(t,n)-e,a=t>1?Math.exp((t-1)*(Math.log(t-1)-1)-r)*Math.exp(-(n-(t-1))+(t-1)*(Math.log(n)-Math.log(t-1))):Math.exp(-n+(t-1)*Math.log(n)-r),a!==0&&(a=i/a/(1-.5*Math.min(1,i/a*((t-1)/n-1)))),n-=a,n<=0&&(n=.5*(n+a)),Math.abs(a)<1e-8*n)break}return n}function Tc(e,t,n,r){let i=0;for(let a=0;a<=e;a++)i+=Ec(a,t,n,r);return i}function Ec(e,t,n,r){return t-e>r-n?0:Ns(n,e)*Ns(r-n,t-e)/Ns(r,t)}function Dc(e,t,n){return e<0?0:.5+.5*ks((Math.log(e)-t)/Math.sqrt(2*n*n))}function Oc(e,t,n){return e<=0?0:Math.exp(-Math.log(e)-.5*Math.log(2*Math.PI)-Math.log(n)-(Math.log(e)-t)**2/(2*n*n))}function kc(e,t,n){return Math.exp(Pc(e,t,n))}function Ac(e,t,n){if(e<0)return 0;let r=0;for(let i=0;i<=e;i++)r+=jc(i,t,n);return r}function jc(e,t,n){return e<0?0:Ns(e+t-1,t-1)*n**t*(1-n)**e}function Mc(e,t,n){return .5*(1+ks((e-t)/Math.sqrt(2*n*n)))}function Nc(e,t,n){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(n)-(e-t)**2/(2*n*n))}function Pc(e,t,n){return-1.4142135623730951*n*js(2*e)+t}function Fc(e,t){let n=0;for(let r=0;r<=e;r++)n+=Ic(r,t);return n}function Ic(e,t){return Math.exp(-t)*t**e/Ms(e)}function Lc(e,t){let n=.5*rc(t/(e**2+t),t/2,.5);return e<0?n:1-n}function Rc(e,t){let n=(1+e**2/t)**(-(t+1)/2);return 1/(Math.sqrt(t)*ac(.5,t/2))*n}function zc(e,t){let n=nc(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}function Bc(e,t,n,r,i){let a=[],o=[],s=!0;for(let c=0;c<n;c++){let n=Math.floor(c/r),l=c%r,u=Math.floor(c/i),d=c%i,f=e.isArray()?e.get(n,l):e,p=t.isArray()?t.get(u,d):t;if(f.isError())return{isError:!0,errorObject:f,array1Values:a,array2Values:o,noCalculate:s};if(p.isError())return{isError:!0,errorObject:p,array1Values:a,array2Values:o,noCalculate:s};if(f.isNull()||p.isNull()||f.isBoolean()||p.isBoolean())continue;let m=f.getValue(),h=p.getValue();!w(m)||!w(h)||(a.push(+m),o.push(+h),s=!1)}return{isError:!1,errorObject:null,array1Values:a,array2Values:o,noCalculate:s}}function Vc(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=r,o=i;if(t&&!t.isNull()&&(a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,r===1&&o!==i||i===1&&a!==r||r!==1&&i!==1&&(a!==r||o!==i)))return{isError:!0,errorObject:j.create(D.REF)};if(n&&!n.isNull()){let e=n.isArray()?n.getRowCount():1,t=n.isArray()?n.getColumnCount():1;if(r===1&&a>1&&e!==a||i===1&&o>1&&t!==o)return{isError:!0,errorObject:j.create(D.REF)}}return{isError:!1,errorObject:null}}function Hc(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){r[i]=[];for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError()||n.isNull()||n.isBoolean()||n.isString())return j.create(D.VALUE);r[i].push(+n.getValue())}}return r}function Uc(e,t){let n=[],r=1;for(let i=0;i<e;i++){n[i]=[];for(let e=0;e<t;e++)n[i].push(r++)}return n}function Wc(e,t,n,r){let i=t;r&&(i=t.map(e=>Math.log(e)));let a,o;return n?{slope:a,intercept:o}=Gc(e,i):{slope:a,intercept:o}=Kc(e,i),r&&(a=Math.exp(a),o=Math.exp(o)),Number.isNaN(a)&&!n&&(a=0),{slope:a,intercept:o,Y:i}}function Gc(e,t){let n=t.length,r=0,i=0,a=0,o=0;for(let s=0;s<n;s++)r+=e[s],i+=t[s],a+=e[s]*e[s],o+=e[s]*t[s];let s=(n*o-r*i)/(n*a-r*r);return{slope:s,intercept:1/n*i-1/n*s*r}}function Kc(e,t){let n=[[...e]],r=[...t],i=n.length,a=n[0].length,o=Math.min(i,a),s=Array(o).fill(0);for(let e=0;e<o;e++){let t=n[e],r=0;for(let e=0;e<a;e++)r+=t[e]**2;let o=t[e]<0?Math.sqrt(r):-Math.sqrt(r);if(s[e]=o,o!==0){t[e]-=o;for(let r=e+1;r<i;r++){let i=0;for(let o=e;o<a;o++)i-=n[r][o]*t[o];i/=o*t[e];for(let o=e;o<a;o++)n[r][o]-=i*t[o]}}}i=n.length,a=n[0].length,o=Math.min(i,a);let c=Array(i).fill(0);for(let e=0;e<o;e++){let t=n[e],i=0;for(let e=0;e<a;e++)i+=r[e]*t[e];i/=s[e]*t[e];for(let e=0;e<a;e++)r[e]+=i*t[e]}for(let e=s.length-1;e>=0;e--){r[e]/=s[e];let t=r[e],i=n[e];c[e]=t;for(let n=0;n<e;n++)r[n]-=t*i[n]}return{slope:c[0],intercept:0}}function qc(e,t,n,r,i){let a=e.length===1&&e[0].length>1,o=e;i&&(o=e.map(e=>e.map(e=>Math.log(e))));let s=t,c=n;a&&(o=Vs(o),s=Vs(s),c=Vs(c)),r&&(s=s.map(e=>[...e,1]));let l=Vs(s),u=Bs(l,s),d=Bs(l,o),f=Hs(u);if(!f&&(f=Ks(u),!f))return j.create(D.NA);let p=Bs(f,d);r||p.push([0]),p=Vs(p);let m=p[0].pop();if(p[0].reverse(),p[0].push(m),i)for(let e=0;e<p[0].length;e++)p[0][e]=Math.exp(p[0][e]);return{coefficients:p,Y:o,X:s,newX:c,XTXInverse:f}}function Jc(e){let t=[],n=[],r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isReferenceObject())a.isMultiArea()?t.push(a):n.push(a);else{r=!0;break}}return{isError:r,multiAreaRefs:t,normalRefs:n}}let Q=function(e){return e.AVERAGE=`AVERAGE`,e.COUNT=`COUNT`,e.COUNTA=`COUNTA`,e.MAX=`MAX`,e.MIN=`MIN`,e.PRODUCT=`PRODUCT`,e.STDEV=`STDEV`,e.STDEV_S=`STDEV.S`,e.STDEVP=`STDEVP`,e.STDEV_P=`STDEV.P`,e.SUM=`SUM`,e.VAR=`VAR`,e.VAR_S=`VAR.S`,e.VARP=`VARP`,e.VAR_P=`VAR.P`,e.MEDIAN=`MEDIAN`,e.MODE_SNGL=`MODE.SNGL`,e}({});function Yc(e,t){let r=e[t];return r?r.hd===n.TRUE:!1}function Xc(e,t,n,r,i,a){let o=e.getValue(t,n);if(o!=null&&o.f||o!=null&&o.si){let e=a.getFormulaStringByCell(t,n,r,i);if(e&&(e.indexOf(`${K.SUBTOTAL}(`)>-1||e.indexOf(`${K.AGGREGATE}(`)>-1))return!0}return!1}function Zc(e,t){let n=Object.entries(e).filter(([e,{count:n}])=>n===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return R.create(n[0])}function Qc(e,t){let{type:n,ignoreRowHidden:r,ignoreErrorValues:i,ignoreNested:a,formulaDataModel:o}=e,s=[],c=0,l=0,u=0,d=0,f=0,p=0,m=1,h={},g=1,_=0;for(let e=0;e<t.length;e++){var v;let y=t[e],b=y.getFilteredOutRows(),x=y.getRowData(),S=y.getUnitId(),C=y.getSheetId(),ee=(v=y.getUnitData()[S])==null||(v=v[C])==null?void 0:v.cellData,te;if(y.iterator((e,t,v)=>{if(b.includes(t)||r&&Yc(x,t)||a&&Xc(ee,t,v,C,S,o))return!0;if(n===Q.COUNT)return e!=null&&e.isNumber()&&c++,!0;if(n===Q.COUNTA)return e!=null&&!e.isNull()&&l++,!0;if(e!=null&&e.isError())return i?!0:(te=e,!1);if(!e||e.isNull()||e.isBoolean()||e.isString())return!0;let y=e.getValue();if(!w(y))return!0;if(y=+y,d++,n===Q.MAX)return f=d===1?y:Math.max(f,y),!0;if(n===Q.MIN)return p=d===1?y:Math.min(p,y),!0;if(n===Q.MODE_SNGL)return h[y]?(h[y].count++,h[y].count>g&&(g=h[y].count)):h[y]={count:1,order:_++},!0;u+=y,m*=y,s.push(e)}),te!=null&&te.isError())return te}switch(n){case Q.AVERAGE:return d===0?j.create(D.DIV_BY_ZERO):R.create(u/d);case Q.COUNT:return R.create(c);case Q.COUNTA:return R.create(l);case Q.MAX:return R.create(f);case Q.MIN:return R.create(p);case Q.PRODUCT:return R.create(d===0?0:m);case Q.STDEV:case Q.STDEV_S:return d<2?j.create(D.DIV_BY_ZERO):Ea([s],1,d).std(1);case Q.STDEVP:case Q.STDEV_P:return d===0?j.create(D.DIV_BY_ZERO):Ea([s],1,d).std();case Q.SUM:return R.create(u);case Q.VAR:case Q.VAR_S:return d<2?j.create(D.DIV_BY_ZERO):Ea([s],1,d).var(1);case Q.VARP:case Q.VAR_P:return d===0?j.create(D.DIV_BY_ZERO):Ea([s],1,d).var();case Q.MEDIAN:return d===0?j.create(D.NUM):el(s.map(e=>+e.getValue()));case Q.MODE_SNGL:return _===0||g===1?j.create(D.NA):Zc(h,g);default:return j.create(D.VALUE)}}function $c(e,t,n){let{ignoreRowHidden:r=!1,ignoreErrorValues:i=!1,ignoreNested:a=!1}=t==null?{}:t,o=[];if(e.isReferenceObject()){var s;let t=e.getFilteredOutRows(),c=e.getRowData(),l=e.getUnitId(),u=e.getSheetId(),d=(s=e.getUnitData()[l])==null||(s=s[u])==null?void 0:s.cellData,f;if(e.iterator((e,s,p)=>{if(t.includes(s)||r&&Yc(c,s))return!0;if(e!=null&&e.isError())return i?!0:(f=e,!1);if(a&&n&&Xc(d,s,p,u,l,n)||!e||e.isNull()||e.isBoolean()||e.isString())return!0;let m=e.getValue();if(!w(m))return!0;o.push(+m)}),f)return f}else{let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let r=0;r<t;r++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(r,t):e;if(n.isError()){if(i)continue;return n}if(!n||n.isNull()||n.isBoolean()||n.isString())continue;let a=n.getValue();w(a)&&o.push(+a)}}return o.length===0?j.create(D.NUM):o}function el(e){let t=e.length;e.sort((e,t)=>e-t);let n;if(t%2==0){let r=t/2;n=(e[r-1]+e[r])/2}else n=e[Math.floor(t/2)];return R.create(n)}function tl(e,t){if(t<1||t>e.length)return j.create(D.NUM);e.sort((e,t)=>t-e);let n=Math.ceil(t);return R.create(e[n-1])}function nl(e,t){if(t<1||t>e.length)return j.create(D.NUM);e.sort((e,t)=>e-t);let n=Math.floor(t);return R.create(e[n-1])}function rl(e,t){let n=e.length;if(t<0||t>1)return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t*(n-1),i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function il(e,t){let n=e.length;if(t<1/(n+1)||t>1-1/(n+1))return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t*(n+1)-1,i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function al(e,t){let n=e.length;if(t<0||t>4)return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t/4*(n-1),i=Math.floor(r),a=r-i;if(a===0)return R.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return R.create(o)}function ol(e,t){let n=e.length;if(t<=0||t>=4)return j.create(D.NUM);e.sort((e,t)=>e-t);let r=t/4;if(r<1/(n+1)||r>1-1/(n+1))return j.create(D.NUM);let i=r*(n+1)-1,a=Math.floor(i),o=i-a;if(o===0)return R.create(e[a]);let s=e[a]+o*(e[a+1]-e[a]);return R.create(s)}var sl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(1):i;a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.mapValue((e,t,n)=>{let r=u.get(t,n),i=d.get(t,n),a=f.get(t,n),o=p.get(t,n);return this._handleSingleObject(e,r,i,a,o)});return s===1&&c===1?m.get(0,0):m}_handleSingleObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,p=+c.getValue(),m=+l.getValue(),h=+u.getValue(),g=+d.getValue(),_=+f.getValue();if(m<=0||h<=0||p<=0||p>=1||g>=_)return j.create(D.NUM);let v=nc(p,m,h)*(_-g)+g;return R.create(v)}},cl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),p=+l.getValue(),m=+u.getValue();if(d<0||d>f||p<0||p>1)return j.create(D.NUM);let h;return h=m?sc(d,f,p):cc(d,f,p),R.create(h)}},ll=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=+s.getValue(),d=+c.getValue();if(l<0||u<=0||u>=1||d<=0||d>=1)return j.create(D.NUM);let f=0;for(;f<=l&&!(sc(f,l,u)>=d);)f++;return R.create(f)}},ul=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||c<1||c>10**10)return j.create(D.NUM);let l=1-lc(s,c);return R.create(l)}},dl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=dc(1-s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},fl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.NA);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d,n,r)}_getResult(e,t,n,r){let i=0;for(let n=0;n<e.length;n++){if(t[n]===0)return j.create(D.DIV_BY_ZERO);i+=(e[n]-t[n])**2/t[n]}let a=(n-1)*(r-1);n===1?a=r-1:r===1&&(a=n-1);let o=1-lc(i,a);return R.create(o)}},pl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,p=+u.getValue(),m=+d.getValue(),h=Math.floor(+f.getValue());if(p<=0||p>=1||m<=0||h<1)return j.create(D.NUM);let g=Math.abs(Pc(p/2,0,1)*m/Math.sqrt(h));return R.create(g)});return r===1&&i===1?c.get(0,0):c}},ml=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return j.create(D.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i}return R.create(s/n)}},hl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<0||u<=0)return j.create(D.NUM);let f;return f=d?hc(l,u):gc(l,u),R.create(f)}},gl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||u<1||u>10**10||d<1||d>10**10)return j.create(D.NUM);let f=1-fc(l,u,d);return R.create(f)}},_l=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||l>1||u<1||u>10**10||d<1||d>10**10)return j.create(D.NUM);let f=mc(1-l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},vl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variance:i,ns1:a}=this._getValues(e);if(n)return r;let{isError:o,errorObject:s,variance:c,ns1:l}=this._getValues(t);if(o)return s;let u=2*(1-fc(i/c,a,l));return u>1&&(u=2-u),R.create(u)}_getValues(e){let t=0,n=0,r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(r===1&&i===1){let r=e.isArray()?e.get(0,0):e;return r.isError()?{isError:!0,errorObject:r,variance:t,ns1:n}:r.isNull()?{isError:!0,errorObject:j.create(D.VALUE),variance:t,ns1:n}:{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),variance:t,ns1:n}}let a=[],o=0;for(let s=0;s<r;s++)for(let r=0;r<i;r++){let i=e.isArray()?e.get(s,r):e;if(i.isError())return{isError:!0,errorObject:i,variance:t,ns1:n};if(i.isNull()||i.isBoolean())continue;let c=i.getValue();w(c)&&(a.push(+c),o+=+c)}if(a.length<=1)return{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),variance:t,ns1:n};let s=o/a.length,c=0;for(let e=0;e<a.length;e++)c+=(a[e]-s)**2;return n=a.length-1,t=c/n,t===0?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),variance:t,ns1:n}:{isError:!1,errorObject:null,variance:t,ns1:n}}},yl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(d<0||f<=0||p<=0)return j.create(D.NUM);let h;return h=m?yc(d,f,p):bc(d,f,p),R.create(h)}},bl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<0||l>1||u<=0||d<=0)return j.create(D.NUM);let f=xc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},xl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||l>=1||d<=0)return j.create(D.NUM);let f=kc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},Sl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t={},n=0,r=1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;let s=o.getValue();w(s)&&(t[+s]?(t[+s].count++,t[+s].count>r&&(r=t[+s].count)):t[+s]={count:1,order:n++})}}return n===0||r===1?new j(D.NA):Zc(t,r)}},Cl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(p<=0)return j.create(D.NUM);let h;return h=m?Mc(d,f,p):Nc(d,f,p),R.create(h)}},wl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||l>=1||d<=0)return j.create(D.NUM);let f=Pc(l,u,d);return R.create(f)}},Tl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0||a>=1)return j.create(D.NUM);let o=Pc(a,0,1);return R.create(o)}},El=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return rl(e,+a.getValue())}},Dl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?R.create(3):n;i.isNull()&&(i=R.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,t,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((e,t,n)=>{let i=c.get(t,n);return e.isError()?e:i.isError()?i:this._handleSingleObject(r,e,i)});return a===1&&o===1?l.get(0,0):l}_handleSingleObject(e,t,n){if(e instanceof j)return e;let{isError:r,errorObject:i,variants:a}=X(t,n);if(r)return i;let[o,s]=a,c=+o.getValue(),l=Math.floor(+s.getValue()),u=e.length;if(u===0||c<e[0]||c>e[u-1])return j.create(D.NA);if(u===1)return c===e[0]?R.create(1):j.create(D.NA);let d=0,f=!1,p=0;for(;!f&&p<u;)c===e[p]?(d=p/(u-1),f=!0):c>e[p]&&p+1<u&&c<e[p+1]&&(d=(p+(c-e[p])/(e[p+1]-e[p]))/(u-1),f=!0),p++;return f?l<1?j.create(D.NUM):(d=Ki(d,l),R.create(d)):j.create(D.NA)}_getValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;let a=n.getValue();w(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},Ol=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=+s.getValue(),d=+c.getValue();if(l<0||u<0)return j.create(D.NUM);let f;return f=d?Fc(l,u):Ic(l,u),R.create(f)}},kl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return al(e,Math.floor(+a.getValue()))}},Al=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std()}},jl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std(1)}},Ml=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<=0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=Math.abs(zc(s/2,c));return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Nl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,array1Values:o,array2Values:s}=this._handleArray1AndArray2(e,t),c=this._getArrayValues(e),l=this._getArrayValues(t),u=Math.max(n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),d=Math.max(n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=V(u,d,n,j.create(D.NA)),p=V(u,d,r,j.create(D.NA)),m=f.mapValue((n,r,u)=>{let d=p.get(r,u);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(d.isError())return d;let{isError:f,errorObject:m,variants:h}=X(n,d);if(f)return m;let[g,_]=h,v=Math.floor(+g.getValue()),y=Math.floor(+_.getValue());return![1,2].includes(v)||![1,2,3].includes(y)?j.create(D.NUM):y===1&&i?a:y!==1&&c instanceof j?c:y!==1&&l instanceof j?l:this._handleSingleObject(y===1?o:c,y===1?s:l,v,y)});return u===1&&d===1?m.get(0,0):m}_handleSingleObject(e,t,n,r){if(e.length<2||t.length<2)return j.create(D.DIV_BY_ZERO);let{isError:i,errorObject:a,x:o,degFreedom:s}=this._getTDistParamByArrayValues(e,t,r);if(i)return a;let c=Lc(-o,s);return n===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?j.create(D.NUM):R.create(c)}_getArrayValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let a=0;a<n;a++){let o=e.isArray()?e.get(i,a):e;if(o.isError())return o;if(o.isNull()){if(t*n===1)return j.create(D.VALUE);continue}o.isBoolean()||o.isString()||r.push(+o.getValue())}return r}_handleArray1AndArray2(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,array1Values:[],array2Values:[]};let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,array1Values:[],array2Values:[]};if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:j.create(D.VALUE),array1Values:[],array2Values:[]};if(n*r!==i*a)return{isError:!0,errorObject:j.create(D.NA),array1Values:[],array2Values:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,array1Values:[],array2Values:[]}:f||u.length<2?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:u,array2Values:d}}_getTDistParamByArrayValues(e,t,n){return n===1?this._getTDistParamByType1(e,t):n===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){let n=e.length,r=0,i=0,a=0;for(let o=0;o<n;o++)r+=e[o],i+=t[o],a+=(e[o]-t[o])**2;let o=r-i,s=n*a-o**2,c=n-1;return s===0?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),x:0,degFreedom:c}:{isError:!1,errorObject:null,x:Math.abs(o)*Math.sqrt(c/s),degFreedom:c}}_getTDistParamByType2(e,t){let n=e.length,r=t.length,i=0,a=0;for(let t=0;t<n;t++)i+=e[t],a+=e[t]**2;let o=0,s=0;for(let e=0;e<r;e++)o+=t[e],s+=t[e]**2;let c=a-i**2/n,l=s-o**2/r,u=Math.sqrt(c+l);if(u===0)return{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),x:0,degFreedom:0};let d=n-1+r-1,f=Math.sqrt(n*r*d/(n+r));return{isError:!1,errorObject:null,x:Math.abs(i/n-o/r)/u*f,degFreedom:d}}_getTDistParamByType3(e,t){let n=e.length,r=t.length,i=0,a=0;for(let t=0;t<n;t++)i+=e[t],a+=e[t]**2;let o=0,s=0;for(let e=0;e<r;e++)o+=t[e],s+=t[e]**2;let c=(a-i**2/n)/(n*(n-1)),l=(s-o**2/r)/(r*(r-1));if(c+l===0)return{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),x:0,degFreedom:0};let u=c/(c+l);return{isError:!1,errorObject:null,x:Math.abs(i/n-o/r)/Math.sqrt(c+l),degFreedom:1/(u**2/(n-1)+(1-u)**2/(r-1))}}},Pl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var()}},Fl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var(1)}},Il=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(d<0||f<=0||p<=0)return j.create(D.NUM);let h=Math.exp(-((d/p)**f)),g;return g=m?1-h:f/p**f*d**(f-1)*h,Number.isNaN(g)||!Number.isFinite(g)?j.create(D.NUM):R.create(g)}},Ll=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=this._getArrayValues(e),i=Math.max(t.isArray()?t.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=V(i,a,t,j.create(D.NA)),s=n?V(i,a,n,j.create(D.NA)):void 0,c=o.mapValue((e,t,i)=>{if(r instanceof j)return r;if(e.isError())return e;let a=n?s.get(t,i):void 0;return a!=null&&a.isError()?a:r.length===0?j.create(D.NA):r.length===1?j.create(D.DIV_BY_ZERO):this._handleSingleObject(r,e,a)});return i===1&&a===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=+o.getValue(),c=e.length,l=0,u=0;for(let t=0;t<c;t++)l+=e[t],u+=e[t]**2;let d=0;if(n!==void 0){let{isError:e,errorObject:t,variants:r}=X(n);if(e)return t;let[i]=r;d=+i.getValue()}else{let e=l/c;d=Math.sqrt((u-2*e*l+c*e**2)/(c-1))}if(d<=0)return j.create(D.NUM);let f=1-Mc((l/c-s)/(d/Math.sqrt(c)),0,1);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}_getArrayValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;if(r.isNull()||r.isBoolean()||r.isString())continue;let a=r.getValue();w(a)&&t.push(+a)}return t}},Rl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(1):i;a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));let s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.mapValue((e,t,n)=>{let r=u.get(t,n),i=d.get(t,n),a=f.get(t,n),o=p.get(t,n);return this._handleSingleObject(e,r,i,a,o)});return s===1&&c===1?m.get(0,0):m}_handleSingleObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,p=+c.getValue(),m=+l.getValue(),h=+u.getValue(),g=+d.getValue(),_=+f.getValue();if(m<=0||h<=0||p<g||p>_||g===_)return j.create(D.NUM);let v=ec((p-g)/(_-g),m,h);return R.create(v)}};let zl=function(e){return e.BETADIST=`BETADIST`,e.BETAINV=`BETAINV`,e.BINOMDIST=`BINOMDIST`,e.CHIDIST=`CHIDIST`,e.CHIINV=`CHIINV`,e.CHITEST=`CHITEST`,e.CONFIDENCE=`CONFIDENCE`,e.COVAR=`COVAR`,e.CRITBINOM=`CRITBINOM`,e.EXPONDIST=`EXPONDIST`,e.FDIST=`FDIST`,e.FINV=`FINV`,e.FTEST=`FTEST`,e.GAMMADIST=`GAMMADIST`,e.GAMMAINV=`GAMMAINV`,e.HYPGEOMDIST=`HYPGEOMDIST`,e.LOGINV=`LOGINV`,e.LOGNORMDIST=`LOGNORMDIST`,e.MODE=`MODE`,e.NEGBINOMDIST=`NEGBINOMDIST`,e.NORMDIST=`NORMDIST`,e.NORMINV=`NORMINV`,e.NORMSDIST=`NORMSDIST`,e.NORMSINV=`NORMSINV`,e.PERCENTILE=`PERCENTILE`,e.PERCENTRANK=`PERCENTRANK`,e.POISSON=`POISSON`,e.QUARTILE=`QUARTILE`,e.RANK=`RANK`,e.STDEV=`STDEV`,e.STDEVP=`STDEVP`,e.TDIST=`TDIST`,e.TINV=`TINV`,e.TTEST=`TTEST`,e.VAR=`VAR`,e.VARP=`VARP`,e.WEIBULL=`WEIBULL`,e.ZTEST=`ZTEST`,e}({});var Bl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(d<0||d>f||d>p||d<f-m+p||f<=0||f>m||p<=0||p>m||m<=0)return j.create(D.NUM);let h=Ec(d,f,p,m);return Number.isNaN(h)&&(h=0),R.create(h)}},Vl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(l<=0||d<=0)return j.create(D.NUM);let f=Dc(l,u,d);return R.create(f)}},Hl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=Math.floor(+o.getValue()),u=Math.floor(+s.getValue()),d=+c.getValue();if(l<0||u<1||d<=0||d>=1)return j.create(D.NUM);let f=jc(l,u,d);return R.create(f)}},Ul=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Mc(+i.getValue(),0,1);return R.create(a)}},Wl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return j.create(D.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?j.create(D.NA):R.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=j.create(D.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},Gl=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||u<1||u>10**10||d<1||d>2)return j.create(D.NUM);let f=Lc(-l,u);return d===2&&(f*=2),Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}};const Kl=[[Rl,zl.BETADIST],[sl,zl.BETAINV],[cl,zl.BINOMDIST],[ul,zl.CHIDIST],[dl,zl.CHIINV],[fl,zl.CHITEST],[pl,zl.CONFIDENCE],[ml,zl.COVAR],[ll,zl.CRITBINOM],[hl,zl.EXPONDIST],[gl,zl.FDIST],[_l,zl.FINV],[vl,zl.FTEST],[yl,zl.GAMMADIST],[bl,zl.GAMMAINV],[Bl,zl.HYPGEOMDIST],[Vl,zl.LOGNORMDIST],[xl,zl.LOGINV],[Sl,zl.MODE],[Hl,zl.NEGBINOMDIST],[Cl,zl.NORMDIST],[wl,zl.NORMINV],[Ul,zl.NORMSDIST],[Tl,zl.NORMSINV],[El,zl.PERCENTILE],[Dl,zl.PERCENTRANK],[Ol,zl.POISSON],[kl,zl.QUARTILE],[Wl,zl.RANK],[jl,zl.STDEV],[Al,zl.STDEVP],[Gl,zl.TDIST],[Ml,zl.TINV],[Nl,zl.TTEST],[Fl,zl.VAR],[Pl,zl.VARP],[Il,zl.WEIBULL],[Ll,zl.ZTEST]],ql=[];let Jl=function(e){return e.CUBEKPIMEMBER=`CUBEKPIMEMBER`,e.CUBEMEMBER=`CUBEMEMBER`,e.CUBEMEMBERPROPERTY=`CUBEMEMBERPROPERTY`,e.CUBERANKEDMEMBER=`CUBERANKEDMEMBER`,e.CUBESET=`CUBESET`,e.CUBESETCOUNT=`CUBESETCOUNT`,e.CUBEVALUE=`CUBEVALUE`,e}({});var Yl=class extends Z{isCustom(){return!0}},Xl=class extends Yl{isAsync(){return!0}};function Zl(e){let t=[];if(e.isError())return{isError:!0,errorObject:e,databaseValues:t};let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;if(n<2)return{isError:!0,errorObject:j.create(D.VALUE),databaseValues:t};for(let i=0;i<n;i++){let n=[];for(let t=0;t<r;t++){let r=e.get(i,t);if(r.isNull()){n.push(null);continue}let a=`${r.getValue()}`;if(r.isBoolean()&&(a=a.toLocaleUpperCase()),r.isNumber()||w(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,databaseValues:t}}function Ql(e,t){let n=-1;if(e.isError())return{isError:!0,errorObject:e,fieldIndex:n};let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;if(r>1||i>1)return{isError:!0,errorObject:j.create(D.VALUE),fieldIndex:n};let a=e.isArray()?e.get(0,0):e,o=`${a.getValue()}`;if(a.isNull()?o=0:a.isBoolean()?o=a.getValue()?1:0:(a.isNumber()||w(o))&&(o=Math.floor(+o)),typeof o==`number`){if(o<1||o>t[0].length)return{isError:!0,errorObject:j.create(D.VALUE),fieldIndex:n};n=o-1}else if(n=t[0].findIndex(e=>e===null?!1:`${e}`.toLocaleLowerCase()===o.toLocaleLowerCase()),n===-1)return{isError:!0,errorObject:j.create(D.VALUE),fieldIndex:n};return{isError:!1,errorObject:null,fieldIndex:n}}function $l(e){let t=[];if(e.isError())return{isError:!0,errorObject:e,criteriaValues:t};let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;if(n<2)return{isError:!0,errorObject:j.create(D.VALUE),criteriaValues:t};for(let i=0;i<n;i++){let n=[];for(let t=0;t<r;t++){let r=e.get(i,t);if(r.isNull()){n.push(null);continue}let a=`${r.getValue()}`;if(r.isBoolean()){n.push(r.getValue()?1:0);continue}if(r.isNumber()||w(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,criteriaValues:t}}function eu(e,t,n){let r=e.length,i=e[0].length,a={},o=!1;for(let s=1;s<r;s++){let r=!0;for(let o=0;o<i;o++){let i=e[s][o];if(i===null)continue;let c=a[o];if(c===void 0){let n=e[0][o];c=t[0].findIndex(e=>e===null||n===null?!1:`${e}`.toLocaleLowerCase()===`${n}`.toLocaleLowerCase()),a[o]=c}if(c===-1&&(typeof i==`string`||i===0)){r=!1;break}else if(c>-1){let e=t[n][c];if(e===null){r=!1;break}let[a,o]=Da(`${i}`);if(!ga.create(`${e}`).compare(o,a).getValue()){r=!1;break}}}if(r){o=!0;break}}return o}var tu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f+=t,p++)}return p===0?j.create(D.DIV_BY_ZERO):R.create(f/p)}},nu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)typeof a[e][c]==`number`&&eu(d,a,e)&&f++;return R.create(f)}},ru=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&eu(d,a,e)&&f++;return R.create(f)}},iu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0,p=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&eu(d,a,e)&&(f++,p=e);return f===0?j.create(D.VALUE):f>1?j.create(D.NUM):e.get(p,c)}},au=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=-1/0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f=Math.max(f,t),p++)}return p===0?R.create(0):R.create(f)}},ou=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=1/0,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f=Math.min(f,t),p++)}return p===0?R.create(0):R.create(f)}},su=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=1,p=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f*=t,p++)}return p===0?R.create(0):R.create(f)}},cu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=Math.sqrt(g/(m-1));return R.create(_)}},lu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=Math.sqrt(g/m);return R.create(_)}},uu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f+=t)}return R.create(f)}},du=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=g/(m-1);return R.create(_)}},fu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=Zl(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=Ql(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=$l(n);if(l)return u;let f=[],p=0,m=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&eu(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return j.create(D.DIV_BY_ZERO);let h=p/m,g=0;for(let e=0;e<m;e++)g+=(f[e]-h)**2;let _=g/m;return R.create(_)}};let pu=function(e){return e.DAVERAGE=`DAVERAGE`,e.DCOUNT=`DCOUNT`,e.DCOUNTA=`DCOUNTA`,e.DGET=`DGET`,e.DMAX=`DMAX`,e.DMIN=`DMIN`,e.DPRODUCT=`DPRODUCT`,e.DSTDEV=`DSTDEV`,e.DSTDEVP=`DSTDEVP`,e.DSUM=`DSUM`,e.DVAR=`DVAR`,e.DVARP=`DVARP`,e}({});const mu=[[tu,pu.DAVERAGE],[nu,pu.DCOUNT],[ru,pu.DCOUNTA],[iu,pu.DGET],[au,pu.DMAX],[ou,pu.DMIN],[su,pu.DPRODUCT],[cu,pu.DSTDEV],[lu,pu.DSTDEVP],[uu,pu.DSUM],[du,pu.DVAR],[fu,pu.DVARP]];var hu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,p=Math.floor(+u.getValue()),m=Math.floor(+d.getValue()),h=Math.floor(+f.getValue());if(p<0||p>9999)return j.create(D.NUM);p>=0&&p<1899&&(p+=1900);let g=et(new Date(Date.UTC(p,m-1,h)));return g<0?j.create(D.NUM):R.create(g,Qe)});return r===1&&i===1?c.get(0,0):c}},gu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t,a=n;if(r.isArray()&&(r=r.get(0,0)),i.isArray()&&(i=i.get(0,0)),a.isArray()&&(a=a.get(0,0)),r.isError())return r;if(i.isError())return i;if(a.isError())return a;let o=N(r);if(typeof o!=`number`)return o;let s=N(i);return typeof s==`number`?s<o||!a.isString()?j.create(D.NUM):this._getResultByUnit(o,s,a):s}_getResultByUnit(e,t,n){let r=M(e),i=r.getUTCFullYear(),a=r.getUTCMonth()+1,o=r.getUTCDate(),s=M(t),c=s.getUTCFullYear(),l=s.getUTCMonth()+1,u=s.getUTCDate(),d=`${n.getValue()}`.toLocaleUpperCase(),f=0,p;switch(d){case`Y`:f=c-i,(l<a||l===a&&u<o)&&--f;break;case`M`:f=(c-i)*12+l-a,u<o&&--f;break;case`D`:f=Math.floor(t)-Math.floor(e);break;case`MD`:f=u-o,u<o&&(p=new Date(Date.UTC(c,l-1,0)),f+=xt(p.getUTCFullYear(),p.getUTCMonth()));break;case`YM`:f=l-a,(l<a||l===a&&u<o)&&(f+=12),u<o&&--f;break;case`YD`:p=new Date(Date.UTC(i,l-1,u)),(l<a||l===a&&u<o)&&(p=new Date(Date.UTC(i+1,l-1,u))),f=Math.floor(et(p))-Math.floor(e);break;default:return j.create(D.NUM)}return R.create(f)}},_u=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=`${e.getValue()}`,n=it(t);if(n===null&&(n=at(t)),n){let{v:e,z:t}=n;if(t&&ot(t))return e instanceof Date&&(e=tt(e)),R.create(Math.trunc(+e))}}return j.create(D.VALUE)}},vu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t,n=e.getValue();if(e.isString()){if(!rt(`${n}`))return j.create(D.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return j.create(D.NUM);if(n===0)return R.create(0);t=M(n)}let r=t.getUTCDate();return R.create(r)}},yu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t),o=i.map((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let i=N(e);if(typeof i!=`number`)return i;let o=N(r);if(typeof o!=`number`)return o;let s=Math.floor(i)-Math.floor(o);return R.create(s)});return n===1&&r===1?o.get(0,0):o}},bu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?L.create(!1):n;if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);if(e.isError())return e;let a=N(e);if(typeof a!=`number`)return a;if(r.isError())return r;let o=N(r);if(typeof o!=`number`)return o;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let{days:l}=pt(a,o,+i.getValue()?4:0),u=o>=a?l:-l;return R.create(u)});return i===1&&a===1?l.get(0,0):l}},xu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.map((e,t,n)=>{let r=a.get(t,n)||I.create();if(e.isError())return e;if(r.isError())return r;if(e.isString()||e.isBoolean()||r.isString()||r.isBoolean())return j.create(D.VALUE);let i=+e.getValue();if(i<0)return j.create(D.NUM);let o=Math.floor(+r.getValue()),s=M(i),c=s.getUTCFullYear(),l=s.getUTCMonth()+o,u=s.getUTCDate(),d=et(new Date(Date.UTC(c,l,u)));return R.create(d,Qe)})}},Su=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e,r=t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(n.isError())return n;if(r.isError())return r;let i=N(n);if(typeof i!=`number`)return i;if(r.isBoolean())return j.create(D.VALUE);let a=M(i),o=i>0?a.getUTCFullYear():1900,s=i>0?a.getUTCMonth():0,c=Math.floor(+r.getValue());if(Number.isNaN(c))return j.create(D.VALUE);let l=et(new Date(Date.UTC(o,s+c+1,0)));return R.create(l)}},Cu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){let n=t==null?R.create(1):t,{isError:r,errorObject:i,timestampIsReferenceObject:a,timestampObject:o,unitObject:s}=this._checkVariants(e,n);if(r)return i;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&o.getPattern()!==``)return j.create(D.VALUE);let c=+o.getValue(),{isError:l,errorObject:u,variants:d}=X(s);if(l)return u;let[f]=d,p=Math.floor(+f.getValue());if(c<0||p<1||p>3)return j.create(D.NUM);p===1&&(c*=1e3),p===3&&(c/=1e3);let m=new Date(Date.UTC(1970,0,1,0,0,0,0)+c);if(Number.isNaN(m.getTime())){let e=25569+c/864e5;return R.create(e)}else{let e=tt(m);return R.create(e,`yyyy-MM-dd AM/PM hh:mm:ss`)}}_checkVariants(e,t){let n=e.isReferenceObject(),r=t.isReferenceObject(),i=e;if(n&&(i=e.toArrayValueObject()),i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:j.create(D.VALUE)};i=i.get(0,0)}if(i.isError())return{isError:!0,errorObject:i};let a=t;if(r&&(a=t.toArrayValueObject()),a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:j.create(D.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:n,timestampObject:i,unitIsReferenceObject:r,unitObject:a}}},wu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=nt(t).getUTCHours();return R.create(n)}},Tu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;let n=M(t),r=t>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=et(i),o=ft(a),s;s=o<1?a+1:o<=4?a-(o-1):a+(11-o),t<s&&(i=new Date(Date.UTC(r-1,0,1)),a=et(i),o=ft(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));let c=Math.ceil((t-s+1)/7);return R.create(c)}},Eu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=nt(t).getUTCMinutes();return R.create(n)}},Du=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,n=e.getValue();if(e.isString()){if(!rt(`${n}`))return j.create(D.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return j.create(D.NUM);if(n===0)return R.create(1);t=M(n)}let r=t.getUTCMonth()+1;return R.create(r)}},Ou=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return j.create(D.VALUE);let a=N(r);if(typeof a!=`number`)return a;let o=N(i);if(typeof o!=`number`)return o;if(n)return this._getResultByHolidays(a,o,n);let s=ut(a,o);return R.create(s)}_getResultByHolidays(e,t,n){let r=[];if(n!=null&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let i=0;i<e;i++)for(let e=0;e<t;e++){let t=n.get(i,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return j.create(D.VALUE);let e=N(n);if(typeof e!=`number`)return e;r.push(e)}let i=ut(e,t,1,r);return R.create(i)}},ku=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){return e.isError()?e:t.isError()?t:n!=null&&n.isError()?n:r!=null&&r.isError()?r:n!=null&&n.isArray()?n.map(n=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,t,n,r)}_handleSingleObject(e,t,n,r){let i=e,a=t;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}if(i.isError())return i;if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(n){if(o=n.getValue(),n.isBoolean()&&(o=+o),n.isString()&&!ct(o))return j.create(D.VALUE);if(!ct(o))return j.create(D.NUM)}if(i.isBoolean()||a.isBoolean())return j.create(D.VALUE);let s=N(i);if(typeof s!=`number`)return s;let c=N(a);if(typeof c!=`number`)return c;if(r)return this._getResultByHolidays(s,c,o,r);let l=ut(s,c,o);return R.create(l)}_getResultByHolidays(e,t,n,r){let i=[];if(r!=null&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r.get(n,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return j.create(D.VALUE);let e=N(r);if(typeof e!=`number`)return e;i.push(e)}let a=ut(e,t,n,i);return R.create(a)}},Au=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){let e=new Date,t=tt(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())));return R.create(t,`yyyy/mm/dd hh:mm`)}},ju=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.isArray()?e.map(e=>e.isError()?e:this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=N(e);if(typeof t!=`number`)return t;if(t===0)return R.create(0);let n=nt(t).getUTCSeconds();return R.create(n)}},Mu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e),o=V(r,i,t),s=V(r,i,n);return a.map((e,t,n)=>this._calculateTime(e,o,s,t,n))}_calculateTime(e,t,n,r,i){let a=e,o=t.get(r,i)||I.create(),s=n.get(r,i)||I.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(s.isError())return s;let c=Math.floor(+a.getValue()),l=Math.floor(+o.getValue()),u=Math.floor(+s.getValue());if(c<0||l<0||u<0||c>32767||l>32767||u>32767)return j.create(D.NUM);l+=Math.floor(u/60),u%=60,c+=Math.floor(l/60),l%=60,c%=24;let d=(c*3600+l*60+u)/86400;return R.create(d,`h:mm A/P`)}},Nu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){let t=le(`${e.getValue()}`);if(t){let{v:e,z:n}=t;if(n&&ot(n))return e instanceof Date&&(e=tt(e)),R.create(oa(+e))}}return j.create(D.VALUE)}},Pu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){let t=e.isReferenceObject(),n=e;if(t&&(n=e.toArrayValueObject()),n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError()||n.isNull()||n.isBoolean()||n.isString()||!t&&n.isNumber()&&n.getPattern()!==``)return n;let r=+n.getValue();return R.create(r,`yyyy-MM-dd hh:mm:ss AM/PM`)}},Fu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){let e=new Date,t=et(new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())));return R.create(t,Qe)}},Iu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(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){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n);return this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(n.isError())return n;let r=N(e);if(typeof r!=`number`)return r;if(n.isString()&&(n=n.convertToNumberObjectValue(),n.isError()))return n;let i=Math.floor(+n.getValue());if(!this._returnTypeMap[i])return j.create(D.NUM);let a=ft(r),o=this._returnTypeMap[i][a];return R.create(o)}},Lu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(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 n=e,r=t==null?R.create(1):t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean())return j.create(D.VALUE);let i=N(n);if(typeof i!=`number`)return i;if(r.isBoolean())return j.create(D.VALUE);let a=Math.floor(+r.getValue());return Number.isNaN(a)?j.create(D.VALUE):a in this._returnTypeMap?this._getResult(i,a):j.create(D.NUM)}_getResult(e,t){let n=M(e),r=e>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=et(i),o=ft(a),s;if(t===21)s=o<1?a+1:o<=4?a-(o-1):a+(11-o),e<s&&(i=new Date(Date.UTC(r-1,0,1)),a=et(i),o=ft(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));else{let e=this._returnTypeMap[t];s=o<e?a-(o+7-e):a-(o-e)}let c=Math.ceil((e-s+1)/7);return R.create(c)}},Ru=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=e,i=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return j.create(D.VALUE);let a=N(r);if(typeof a!=`number`)return a;let o=+i.getValue();if(Number.isNaN(o))return j.create(D.VALUE);if(n)return this._getResultByHolidays(a,o,n);let s=dt(a,o);return typeof s==`number`?R.create(s):s}_getResultByHolidays(e,t,n){let r=[];if(n!=null&&n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();for(let i=0;i<e;i++)for(let e=0;e<t;e++){let t=n.get(i,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return j.create(D.VALUE);let e=N(n);if(typeof e!=`number`)return e;r.push(e)}let i=dt(e,t,1,r);return typeof i==`number`?R.create(i):i}},zu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){return e.isError()?e:t.isError()?t:n!=null&&n.isError()?n:r!=null&&r.isError()?r:n!=null&&n.isArray()?n.map(n=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,t,n,r)}_handleSingleObject(e,t,n,r){let i=n==null?R.create(1):n,a=this._checkArrayError(e);if(a.isError())return a;let o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return j.create(D.VALUE);let s=N(e);if(typeof s!=`number`)return s;let c=+t.getValue();if(Number.isNaN(c))return j.create(D.VALUE);let l=i.getValue();if(i.isBoolean()&&(l=+l),i.isString()&&(!ct(l)||l===`1111111`))return j.create(D.VALUE);if(!ct(l))return j.create(D.NUM);if(r)return this._getResultByHolidays(s,c,l,r);let u=dt(s,c,l);return typeof u==`number`?R.create(u):u}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,n,r){let i=[];if(r!=null&&r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();for(let n=0;n<e;n++)for(let e=0;e<t;e++){let t=r.get(n,e);if(t.isBoolean())return j.create(D.VALUE);let a=N(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return j.create(D.VALUE);let e=N(r);if(typeof e!=`number`)return e;i.push(e)}let a=dt(e,t,n,i);return typeof a==`number`?R.create(a):a}},Bu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t,n=e.getValue();if(e.isString()){if(!rt(`${n}`))return j.create(D.VALUE);t=new Date(`${n}`)}else{let e=+n;if(e<0)return j.create(D.NUM);if(e===0)return R.create(1900);t=M(e)}let r=t.getUTCFullYear();return R.create(r)}},Vu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n,i=vs(e);if(i.isError())return i;let a=vs(t);if(a.isError())return a;if(r=vs(r),r.isError())return r;if(i.isBoolean()||a.isBoolean()||r.isBoolean())return j.create(D.VALUE);let o=N(i);if(typeof o!=`number`)return o;let s=N(a);if(typeof s!=`number`)return s;let c=Math.floor(+r.getValue());if(Number.isNaN(c))return j.create(D.VALUE);if(c<0||c>4)return j.create(D.NUM);let{days:l,yearDays:u}=pt(o,s,c),d=l/u;return R.create(d)}};const Hu=[[hu,eo.DATE],[gu,eo.DATEDIF],[_u,eo.DATEVALUE],[vu,eo.DAY],[yu,eo.DAYS],[bu,eo.DAYS360],[xu,eo.EDATE],[Su,eo.EOMONTH],[Cu,eo.EPOCHTODATE],[wu,eo.HOUR],[Tu,eo.ISOWEEKNUM],[Eu,eo.MINUTE],[Du,eo.MONTH],[Ou,eo.NETWORKDAYS],[ku,eo.NETWORKDAYS_INTL],[Au,eo.NOW],[ju,eo.SECOND],[Mu,eo.TIME],[Nu,eo.TIMEVALUE],[Pu,eo.TO_DATE],[Fu,eo.TODAY],[Iu,eo.WEEKDAY],[Lu,eo.WEEKNUM],[Ru,eo.WORKDAY],[zu,eo.WORKDAY_INTL],[Bu,eo.YEAR],[Vu,eo.YEARFRAC]];var Uu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.besseli(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Wu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.besselj(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Gu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.besselk(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Ku=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);let l=Ts.bessely(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},qu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Es(a))return j.create(D.NUM);let o;return o=a.length===10&&a.substring(0,1)===`1`?Number.parseInt(a.substring(1),2)-512:Number.parseInt(a,2),R.create(o)}},Ju=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Es(s))return j.create(D.NUM);let c;if(s.length===10&&s.substring(0,1)===`1`)c=(0xfffffffe00+Number.parseInt(s.substring(1),2)).toString(16);else if(c=Number.parseInt(s,2).toString(16),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c.toLocaleUpperCase())}},Yu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Es(s))return j.create(D.NUM);let c;if(s.length===10&&s.substring(0,1)===`1`)c=(1073741312+Number.parseInt(s.substring(1),2)).toString(8);else if(c=Number.parseInt(s,2).toString(8),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},Xu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return j.create(D.NUM);let c=o&s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}},Zu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return j.create(D.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)<<BigInt(s):BigInt(o)>>BigInt(-s));return c>0xffffffffffff?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},Qu=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return j.create(D.NUM);let c=Number(BigInt(o)|BigInt(s));return R.create(c)});return n===1&&r===1?o.get(0,0):o}},$u=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||Math.floor(o)!==o||o>0xffffffffffff||Math.abs(s)>53)return j.create(D.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)>>BigInt(s):BigInt(o)<<BigInt(-s));return c>0xffffffffffff?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},ed=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=a.get(t,n);if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o<0||s<0||Math.floor(o)!==o||Math.floor(s)!==s||o>0xffffffffffff||s>0xffffffffffff)return j.create(D.NUM);let c=o^s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}};T.prototype.cos=function(){let e=this.toNumber();return new T(Math.cos(e))};var td=class e{static getComplex(e,t,n){let r=new T(e).toSignificantDigits(15).toNumber(),i=new T(t).toSignificantDigits(15).toNumber(),a=n===``?`i`:n,o;return o=r===0&&i===0?0:r===0?i===1?a:`${i}${a}`:i===0?r:`${r}${i>0?`+`:``}${i===1?a:`${i}${a}`}`,o}static createByComplexStr(t,n,r){return new e(e.getComplex(t,n,r))}constructor(e){if(E(this,`_inumber`,``),E(this,`_realNum`,0),E(this,`_iNum`,0),E(this,`_suffix`,``),E(this,`_isError`,!1),`${e}`.trim()===``){this._isError=!0;return}this._inumber=e,this._getImReal(),this._getImAginary(),this._getImSuffix()}_getImReal(){if(this._inumber===0||this._inumber===`0`){this._realNum=0;return}let e=`${this._inumber}`;if([`i`,`+i`,`1i`,`+1i`,`-i`,`-1i`,`j`,`+j`,`1j`,`+1j`,`-j`,`-1j`].indexOf(e)>=0){this._realNum=0;return}let t=e.indexOf(`+`),n=e.indexOf(`-`);t===0&&(t=e.indexOf(`+`,1)),n===0&&(n=e.indexOf(`-`,1));let r=e.substring(e.length-1,e.length),i=r===`i`||r===`j`;if(t>=0||n>=0){if(!i){this._isError=!0;return}t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,t):Number.isNaN(+e.substring(0,n))||Number.isNaN(+e.substring(n+1,e.length-1))?this._isError=!0:this._realNum=+e.substring(0,n)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+e)?this._isError=!0:this._realNum=+e}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber===`0`){this._iNum=0;return}let e=`${this._inumber}`;if([`i`,`j`].indexOf(e)>=0){this._iNum=1;return}e=e.replace(`+i`,`+1i`).replace(`-i`,`-1i`).replace(`+j`,`+1j`).replace(`-j`,`-1j`);let t=e.indexOf(`+`),n=e.indexOf(`-`);t===0&&(t=e.indexOf(`+`,1)),n===0&&(n=e.indexOf(`-`,1));let r=e.substring(e.length-1,e.length),i=r===`i`||r===`j`;if(t>=0||n>=0){if(!i){this._isError=!0;return}t>=0?Number.isNaN(+e.substring(0,t))||Number.isNaN(+e.substring(t+1,e.length-1))?this._isError=!0:this._iNum=+e.substring(t+1,e.length-1):Number.isNaN(+e.substring(0,n))||Number.isNaN(+e.substring(n+1,e.length-1))?this._isError=!0:this._iNum=-+e.substring(n+1,e.length-1)}else i?Number.isNaN(+e.substring(0,e.length-1))?this._isError=!0:this._iNum=+e.substring(0,e.length-1):Number.isNaN(+e)?this._isError=!0:this._iNum=0}_getImSuffix(){let e=`${this._inumber}`,t=e.substring(e.length-1);this._suffix=t===`i`||t===`j`?t:``}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return e.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(e){let t=e.getSuffix();return this._suffix===``||t===``?!1:this._suffix!==t}Abs(){return T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){let e=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),t=T.acos(new T(this._realNum).div(e)).toSignificantDigits(16).toNumber();return this._iNum<0&&(t=-t),t}Conjugate(){return e.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){let t=T.cos(this._realNum).mul(T.cosh(this._iNum)).toNumber(),n=T.sin(this._realNum).mul(T.sinh(this._iNum)).negated().toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.cos(this._realNum).toNumber();return e.getComplex(t,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){let t=T.cosh(this._realNum).mul(T.cos(this._iNum)).toNumber(),n=T.sinh(this._realNum).mul(T.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.cosh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cot(){if(this._iNum){let t=T.cosh(this._iNum*2).sub(T.cos(this._realNum*2)),n=T.sin(this._realNum*2).div(t).toNumber(),r=T.sinh(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.tan(this._realNum)).toNumber();return e.getComplex(t,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){let t=T.cosh(this._realNum*2).sub(T.cos(this._iNum*2)),n=T.sinh(this._realNum*2).div(t).toNumber(),r=T.sin(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.tanh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csc(){if(this._iNum){let t=T.cosh(this._iNum*2).sub(T.cos(this._realNum*2)),n=T.sin(this._realNum).mul(T.cosh(this._iNum)).mul(2).div(t).toNumber(),r=T.cos(this._realNum).mul(T.sinh(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.sin(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=T.cosh(this._realNum*2).sub(T.cos(this._iNum*2)),n=T.sinh(this._realNum).mul(T.cos(this._iNum)).mul(2).div(t).toNumber(),r=T.cosh(this._realNum).mul(T.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.sinh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Div(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=i.mul(i).add(a.mul(a)),s=n.mul(i).add(r.mul(a)).div(o).toNumber(),c=r.mul(i).sub(n.mul(a)).div(o).toNumber(),l=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(s,c,l)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,``;let t=T.exp(this._realNum).mul(T.cos(this._iNum)).toNumber(),n=T.exp(this._realNum).mul(T.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}Ln(){let t=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),n=T.ln(t).toNumber(),r=T.acos(new T(this._realNum).div(t)).toNumber();return e.getComplex(n,r,this._suffix)}Log(t){let n=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),r=T.ln(n),i=T.acos(new T(this._realNum).div(n));this._iNum<0&&(i=i.negated());let a=T.ln(t),o=new T(0),s=a.mul(a).add(o.mul(o));if(s.eq(0))return this._isError=!0,``;let c=r.mul(a).add(i.mul(o)).div(s).toNumber(),l=i.mul(a).sub(r.mul(o)).div(s).toNumber();return e.getComplex(c,l,this._suffix)}Power(t){if(this._realNum===0&&this._iNum===0)return t>0?e.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,``);let n=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),r=T.acos(new T(this._realNum).div(n));this._iNum<0&&(r=r.negated()),n=T.pow(n,t),r=r.mul(t);let i=T.cos(r).mul(n).toNumber(),a=T.sin(r).mul(n).toNumber();return!Number.isFinite(i)||!Number.isFinite(a)?(this._isError=!0,``):e.getComplex(i,a,this._suffix)}Product(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=n.mul(i).sub(r.mul(a)).toNumber(),s=n.mul(a).add(r.mul(i)).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Sec(){if(this._iNum){let t=T.cosh(this._iNum*2).add(T.cos(this._realNum*2)),n=T.cos(this._realNum).mul(T.cosh(this._iNum)).mul(2).div(t).toNumber(),r=T.sin(this._realNum).mul(T.sinh(this._iNum)).mul(2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.cos(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return e.getComplex(0,0,this._suffix);if(this._iNum){let t=T.cosh(this._realNum*2).add(T.cos(this._iNum*2)),n=T.cosh(this._realNum).mul(T.cos(this._iNum)).mul(2).div(t).toNumber(),r=T.sinh(this._realNum).mul(T.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new T(1).div(T.cosh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sin(){if(this._iNum){let t=T.sin(this._realNum).mul(T.cosh(this._iNum)).toNumber(),n=T.cos(this._realNum).mul(T.sinh(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.sin(this._realNum).toNumber();return e.getComplex(t,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){let t=T.sinh(this._realNum).mul(T.cos(this._iNum)).toNumber(),n=T.cosh(this._realNum).mul(T.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=T.sinh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sqrt(){let t=T.sqrt(T.pow(this._realNum,2).add(T.pow(this._iNum,2))),n=T.sqrt(t),r=T.acos(new T(this._realNum).div(t));this._iNum<0&&(r=r.negated());let i=n.mul(T.cos(r.div(2).toNumber())).toNumber(),a=n.mul(T.sin(r.div(2))).toNumber();return e.getComplex(i,a,this._suffix)}Sub(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=n.sub(i).toNumber(),s=r.sub(a).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Sum(t){let n=new T(this._realNum),r=new T(this._iNum),i=new T(t.getRealNum()),a=new T(t.getINum()),o=n.add(i).toNumber(),s=r.add(a).toNumber(),c=this._suffix===``?t.getSuffix():this._suffix;return e.getComplex(o,s,c)}Tan(){if(this._iNum){let t=T.cos(this._realNum*2).add(T.cosh(this._iNum*2)),n=T.sin(this._realNum*2).div(t).toNumber(),r=T.sinh(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=T.tan(this._realNum).toNumber();return e.getComplex(t,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){let t=T.cosh(this._realNum*2).add(T.cos(this._iNum*2)),n=T.sinh(this._realNum*2).div(t).toNumber(),r=T.sin(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=T.tanh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}},nd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Y(e,t,n==null?z.create(`i`):n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=`${c.getValue()}`;if(Number.isNaN(l)||Number.isNaN(u)||d!==`i`&&d!==`j`)return j.create(D.VALUE);let f=td.getComplex(l,u,d);return typeof f==`number`?R.create(f):z.create(f)}},rd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(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,4168181825.44058],[`cubic nautical mile`,`Nmi3`,[`Nmi^3`],`volume`,!1,!0,6352182208],[`cubic Pica`,`Pica3`,[`Picapt3`,`Pica^3`,`Picapt^3`],`volume`,!1,!0,7.58660370370369e-8],[`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,2684519.538],[`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,2589988.110336],[`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]]),E(this,`_binaryPrefixes`,{Yi:[`yobi`,80,12089258196146292e8,`Yi`,`yotta`],Zi:[`zebi`,70,0x400000000000000000,`Zi`,`zetta`],Ei:[`exbi`,60,0x1000000000000000,`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`]}),E(this,`_unitPrefixes`,{Y:[`yotta`,1e24,`Y`],Z:[`zetta`,1e21,`Z`],E:[`exa`,0xde0b6b3a7640000,`E`],P:[`peta`,0x38d7ea4c68000,`P`],T:[`tera`,0xe8d4a51000,`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,n){let{isError:r,errorObject:i,variants:a}=Y(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=`${s.getValue()}`,d=`${c.getValue()}`;if(Number.isNaN(l))return j.create(D.VALUE);let f,p=1,m,h=1,{_from:g,_to:_}=this._lookupFromAndToUnits(u,d);if(f=g,m=_,f===null){let{_from:e,_fromMultiplier:t}=this._lookupFromPrefix(u);f=e,p=t}if(m===null){let{_to:e,_toMultiplier:t}=this._lookupToPrefix(d);m=e,h=t}if(f===null||m===null||f[3]!==m[3])return j.create(D.NA);let v;return f[3]===`temperature`?(v=this._getTemperatureConversion(l,f[1],m[1]),v=+v.toFixed(2)):v=l*f[6]*p/(m[6]*h),R.create(v)}_lookupFromAndToUnits(e,t){let n=null,r=null,i;for(let a=0;a<this._units.length;a++)i=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||i.indexOf(e)>=0)&&(n=this._units[a]),(this._units[a][1]===t||i.indexOf(t)>=0)&&(r=this._units[a]);return{_from:n,_to:r}}_lookupFromPrefix(e){let t=null,n=1,r=e,i,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)===`da`&&(o=[`dekao`,10,`da`]),a?(n=a[2],r=e.substring(2)):o&&(n=o[1],r=e.substring(o[2].length));for(let e=0;e<this._units.length;e++)i=this._units[e][2]===null?[]:this._units[e][2],(this._units[e][1]===r||i.indexOf(r)>=0)&&(t=this._units[e]);return{_from:t,_fromMultiplier:n}}_lookupToPrefix(e){let t=null,n=1,r=e,i,a=this._binaryPrefixes[e.substring(0,2)],o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)===`da`&&(o=[`dekao`,10,`da`]),a?(n=a[2],r=e.substring(2)):o&&(n=o[1],r=e.substring(o[2].length));for(let e=0;e<this._units.length;e++)i=this._units[e][2]===null?[]:this._units[e][2],(this._units[e][1]===r||i.indexOf(r)>=0)&&(t=this._units[e]);return{_to:t,_toMultiplier:n}}_getTemperatureConversion(e,t,n){switch(t){case`C`:return this._centigradeConversion(e,n);case`F`:return this._fahrenheitConversion(e,n);case`K`:return this._kelvinConversion(e,n);case`Rank`:return this._rankineConversion(e,n);case`Reau`:return this._reaumurConversion(e,n);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}}},id=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return j.create(D.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${s}`)||s<-512||s>511)return j.create(D.NUM);let c;if(s<0){let e=(512+s).toString(2);c=`1${`0`.repeat(9-e.length)}${e}`}else if(c=Number.parseInt(`${s}`,10).toString(2),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},ad=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return j.create(D.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${s}`)||s<-549755813888||s>549755813887)return j.create(D.NUM);let c;if(s<0)c=(1099511627776+s).toString(16);else if(c=Number.parseInt(`${s}`,10).toString(16),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c.toLocaleUpperCase())}},od=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return j.create(D.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${s}`)||s<-536870912||s>536870911)return j.create(D.NUM);let c;if(s<0)c=(1073741824+s).toString(8);else if(c=Number.parseInt(`${s}`,10).toString(8),t){if(n<c.length)return j.create(D.NUM);c=`0`.repeat(n-c.length)+c}return z.create(c)}},sd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t==null?R.create(0):t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);let l=s===c?1:0;return R.create(l)}},cd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n;if(t){let{isError:r,errorObject:i,variants:a}=Y(e,t);if(r)return i;let[o,s]=a,c=+o.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);n=ks(l)-ks(c)}else{let{isError:t,errorObject:r,variants:i}=Y(e);if(t)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return j.create(D.VALUE);n=ks(o)}return R.create(n)}},ld=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return j.create(D.VALUE);let o=ks(a);return R.create(o)}},ud=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return j.create(D.VALUE);let o=As(a);return R.create(o)}},dd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return j.create(D.VALUE);let o=As(a);return R.create(o)}},fd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t==null?R.create(0):t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);let l=s>=c?1:0;return R.create(l)}},pd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Os(s))return j.create(D.NUM);let c=s.length===10&&s.substring(0,1).toLocaleUpperCase()===`F`,l=c?Number.parseInt(s,16)-1099511627776:Number.parseInt(s,16);if(l<-512||l>511)return j.create(D.NUM);let u;if(c){let e=(512+l).toString(2);u=`1${`0`.repeat(9-e.length)}${e}`}else if(u=l.toString(2),t){if(n<u.length)return j.create(D.NUM);u=`0`.repeat(n-u.length)+u}return z.create(u)}},md=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Os(a))return j.create(D.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),R.create(o)}},hd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Os(s))return j.create(D.NUM);let c=Number.parseInt(s,16);if(c>536870911&&c<0xffe0000000)return j.create(D.NUM);let l;if(c>=0xffe0000000)l=(c-0xffc0000000).toString(8);else if(l=c.toString(8),t){if(n<l.length)return j.create(D.NUM);l=`0`.repeat(n-l.length)+l}return z.create(l)}},gd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Abs();return R.create(o)}},_d=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.getINum();return R.create(o)}},vd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);if(a.getRealNum()===0&&a.getINum()===0)return j.create(D.DIV_BY_ZERO);let o=a.Argument();return R.create(o)}},yd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Conjugate();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},bd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Cos();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},xd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Cosh();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Sd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Cot();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Cd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Coth();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},wd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Csc();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Td=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Csch();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Ed=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,c=`${o.getValue()}`,l=new td(s),u=new td(c);if(l.isError()||u.isError()||l.isDifferentSuffixes(u)||u.getRealNum()===0&&u.getINum()===0)return j.create(D.NUM);let d=l.Div(u);return typeof d==`number`||w(d)?R.create(+d):z.create(d)}},Dd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Exp();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Od=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Ln();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},kd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=t==null?R.create(10):t;if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);o=o.get(0,0)}let{isError:s,errorObject:c,variants:l}=X(o);if(s)return c;let[u]=l,d=`${a.getValue()}`,f=+u.getValue(),p=new td(d);if(p.isError()||p.getRealNum()===0&&p.getINum()===0||f<=0)return j.create(D.NUM);let m=p.Log(f);return p.isError()?j.create(D.NUM):typeof m==`number`||w(m)?R.create(+m):z.create(m)}},Ad=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Log(2);return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},jd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return j.create(D.NUM);let o=a.Log(10);return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Md=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=new td(`${a.getValue()}`);if(s.isError())return j.create(D.NUM);let c=+o.getValue();if(Number.isNaN(c))return j.create(D.VALUE);let l=s.Power(c);return s.isError()?j.create(D.NUM):typeof l==`number`||w(l)?R.create(+l):z.create(l)}},Nd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof j)return t;let r=e[n];if(r.isArray()){let e=!1,n;if(r.iterator(r=>{if(t=this._handleSingleObject(r,t),t instanceof j)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof j?t:typeof t==`number`||w(t)?R.create(+t):z.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return j.create(D.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new td(r);if(e.isError())return j.create(D.NUM);n=e.toString()}else{let e=new td(t),i=new td(r);if(e.isError()||i.isError())return j.create(D.NUM);if(e.isDifferentSuffixes(i))return j.create(D.VALUE);n=e.Product(i)}return n}},Pd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.getRealNum();return R.create(o)}},Fd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sec();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Id=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sech();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Ld=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sin();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Rd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Sinh();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},zd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);if(a.getRealNum()===0&&a.getINum()===0)return R.create(0);let o=a.Sqrt();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Bd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,c=`${o.getValue()}`,l=new td(s),u=new td(c);if(l.isError()||u.isError()||l.isDifferentSuffixes(u))return j.create(D.NUM);let d=l.Sub(u);return typeof d==`number`||w(d)?R.create(+d):z.create(d)}},Vd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof j)return t;let r=e[n];if(r.isArray()){let e=!1,n;if(r.iterator(r=>{if(t=this._handleSingleObject(r,t),t instanceof j)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof j?t:typeof t==`number`||w(t)?R.create(+t):z.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return j.create(D.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new td(r);if(e.isError())return j.create(D.NUM);n=e.toString()}else{let e=new td(t),i=new td(r);if(e.isError()||i.isError())return j.create(D.NUM);if(e.isDifferentSuffixes(i))return j.create(D.VALUE);n=e.Sum(i)}return n}},Hd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Tan();return typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Ud=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=new td(`${i.getValue()}`);if(a.isError())return j.create(D.NUM);let o=a.Tanh();return a.isError()?j.create(D.NUM):typeof o==`number`||w(o)?R.create(+o):z.create(o)}},Wd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ds(s))return j.create(D.NUM);let c=s.length===10&&s.substring(0,1)===`7`,l=c?Number.parseInt(s,8)-1073741824:Number.parseInt(s,8);if(l<-512||l>511)return j.create(D.NUM);let u;if(c){let e=(512+l).toString(2);u=`1${`0`.repeat(9-e.length)}${e}`}else if(u=l.toString(2),t){if(n<u.length)return j.create(D.NUM);u=`0`.repeat(n-u.length)+u}return z.create(u)}},Gd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=Y(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Ds(a))return j.create(D.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),R.create(o)}},Kd=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return j.create(D.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=Y(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return j.create(D.VALUE);if(n<0||n>10)return j.create(D.NUM)}let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ds(s))return j.create(D.NUM);let c=Number.parseInt(s,8),l;if(c>=536870912)l=`ff${(c+3221225472).toString(16)}`;else if(l=c.toString(16),t){if(n<l.length)return j.create(D.NUM);l=`0`.repeat(n-l.length)+l}return z.create(l.toLocaleUpperCase())}};const qd=[[Uu,U.BESSELI],[Wu,U.BESSELJ],[Gu,U.BESSELK],[Ku,U.BESSELY],[qu,U.BIN2DEC],[Ju,U.BIN2HEX],[Yu,U.BIN2OCT],[Xu,U.BITAND],[Zu,U.BITLSHIFT],[Qu,U.BITOR],[$u,U.BITRSHIFT],[ed,U.BITXOR],[nd,U.COMPLEX],[rd,U.CONVERT],[id,U.DEC2BIN],[ad,U.DEC2HEX],[od,U.DEC2OCT],[sd,U.DELTA],[cd,U.ERF],[ld,U.ERF_PRECISE],[ud,U.ERFC],[dd,U.ERFC_PRECISE],[fd,U.GESTEP],[pd,U.HEX2BIN],[md,U.HEX2DEC],[hd,U.HEX2OCT],[gd,U.IMABS],[_d,U.IMAGINARY],[vd,U.IMARGUMENT],[yd,U.IMCONJUGATE],[bd,U.IMCOS],[xd,U.IMCOSH],[Sd,U.IMCOT],[Cd,U.IMCOTH],[wd,U.IMCSC],[Td,U.IMCSCH],[Ed,U.IMDIV],[Dd,U.IMEXP],[Od,U.IMLN],[kd,U.IMLOG],[jd,U.IMLOG10],[Ad,U.IMLOG2],[Md,U.IMPOWER],[Nd,U.IMPRODUCT],[Pd,U.IMREAL],[Fd,U.IMSEC],[Id,U.IMSECH],[Ld,U.IMSIN],[Rd,U.IMSINH],[zd,U.IMSQRT],[Bd,U.IMSUB],[Vd,U.IMSUM],[Hd,U.IMTAN],[Ud,U.IMTANH],[Wd,U.OCT2BIN],[Gd,U.OCT2DEC],[Kd,U.OCT2HEX]];function Jd(e,t,n,r){let{days:i}=pt(Qd(e,t,n),e,r);return i}function Yd(e,t,n,r){let i;if(r===1){let r=Qd(e,t,n),a=M(r);a=Tt(a,12/n);let o=et(a);i=r<0&&n===1?365:o-r}else i=r===3?365/n:360/n;return i}function Xd(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Tt(i,-12/n);return i=Tt(i,12/n),et(i)}function Zd(e,t,n){let r=0,i=M(e),a=M(t);for(;a>i;)a=Tt(a,-12/n),r++;return r}function Qd(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Tt(i,-12/n);return et(i)}function $d(e,t,n,r,i,a){let o=Jd(e,t,i,a),s=Yd(e,t,i,a),c=Zd(e,t,i),l=(s-o)/s-1,u=r/i+1,d=n*100/i,f=0,p=0;for(let e=1;e<=c;e++){let t=e+l,n=d/u**t;f+=t*n,p+=n}let m=c+l,h=100/u**m;return f+=m*h,p+=h,f/p/i}function ef(e,t,n,r,i){let a;if(e===0)a=(n+r)/t;else{let o=(1+e)**t;a=i===1?(r*e/(o-1)+n*e/(1-1/o))/(1+e):r*e/(o-1)+n*e/(1-1/o)}return-a}function tf(e,t,n,r,i){let a;if(e===0)a=r+n*t;else{if(e===-1&&t===0)return NaN;let o=(1+e)**t;a=i===1?r*o+n*(1+e)*(o-1)/e:r*o+n*(o-1)/e}return-a}function nf(e,t,n,r,i,a){let o=ef(e,n,r,i,a);return(t===1?a===1?0:-r:a===1?tf(e,t-2,o,r,1)-o:tf(e,t-1,o,r,0))*e}function rf(e,t){let n=0;for(let r=1;r<=t.length;r++)n+=t[r-1]/(1+e)**r;return n}function af(e,t,n,r,i,a,o,s,c){let l=cf(n,r,c),u=Yd(e,r,s,c);return l<u?of(e,t,n,r,i,a,o,s,c,l,u):sf(e,t,n,r,i,a,o,s,c,u)}function of(e,t,n,r,i,a,o,s,c,l,u){let d=0,f=Zd(e,t,s),p=cf(e,r,c);d+=o/(1+a/s)**(f-1+p/u),d+=100*i/s*l/u/(1+a/s)**(p/u);for(let e=2;e<=f;e++)d+=100*i/s/(1+a/s)**(e-1+p/u);let m=cf(n,e,c);return d-=100*i/s*m/u,d}function sf(e,t,n,r,i,a,o,s,c,l){let u=0,d=Zd(r,t,s),f=ff(r,e,12/s,!0),p;if(c===2||c===3)p=cf(e,Xd(e,r,s),c);else{let{days:t}=pt(Qd(e,r,s),e,c);p=l-t}u+=o/(1+a/s)**(d+f+p/l);let m=Zd(n,r,s),h=r,g=0,_=0;for(let t=m;t>=1;t--){let r=df(h,-12/s,!1),i=c===1?cf(r,h,c):l,a=t>1?i:cf(n,h,c);g+=a/i;let o=cf(n>r?n:r,e<h?e:h,c);_+=o/i,h=r}u+=100*i/s*g/(1+a/s)**(f+p/l);for(let e=1;e<=d;e++)u+=100*i/s/(1+a/s)**(e+f+p/l);return u-=100*i/s*_,u}function cf(e,t,n){let{days:r}=pt(e,t,n);return e<t?r:0}function lf(e,t,n){let r=M(e),i=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),s=wt(i,a,o),c=M(t),l=c.getUTCFullYear(),u=c.getUTCMonth(),d=c.getUTCDate(),f=wt(l,u,d);return!(o!==d&&!(s&&f)||Math.abs((l-i)*12+(u-a))%(12/n)!=0)}function uf(e,t,n){return Qd(e,t,n)>=0}function df(e,t,n){let r=M(e);if(r=Tt(r,t),n){let e=xt(r.getUTCFullYear(),r.getUTCMonth());r.setUTCDate(e)}return et(r)}function ff(e,t,n,r){let i=M(e),a=M(t),o=i.getUTCFullYear(),s=i.getUTCMonth(),c=i.getUTCDate(),l=a.getUTCFullYear(),u=a.getUTCMonth(),d=a.getUTCDate(),f=wt(o,s,c),p=!f&&s!==1&&c>28&&c<xt(o,s)?wt(l,u,d):f,m=df(t,0,p),h=r-0+ +(t<m),g=df(m,n,p);for(;!(n>0?g>=t:g<=t);)g=df(g,n,p),h++;return h}function pf(e,t){let n=1e-7;n*2;let r=1,i=0,a=e,o;for(;r>n&&i<500;){let e=(t(a+n)-t(a-n))/2e-7;o=a-t(a)/e,i++,r=Math.abs(o-a),a=o}return Number.isNaN(a)||Math.abs(a)===1/0||i===500?mf(e,t):a}function mf(e,t){let n=1e-7,r=Number.MAX_VALUE,i=1.6,a=e-.01<=-1?-1+n:e-.01,o=e+.01>=r?r-n:e+.01,s,c,l=0;if(e<=-1||e>=r)return j.create(D.NUM);for(let e=0;e<60;e++){s=a<=-1?-1+n:a,c=o>=r?r-n:o;let l=t(s),u=t(c);if(l*u<=0)break;if(l*u>0)a=s+i*(s-c),o=c+i*(c-s);else return j.create(D.NUM);if(e===59)return j.create(D.NUM)}s=s,c=c;let u=t(s),d=t(c),f,p;if(Math.abs(u)<n||Math.abs(d)<n)return j.create(D.NUM);do p=s+(c-s)/2,f=t(p),u*f<0?c=p:s=p,u=t(s),l++;while(Math.abs(f)>n&&l<60);return p}function hf(e,t,n,r,i,a,o){let s=Zd(e,t,a),c=Yd(e,t,a,o),l=Jd(e,t,a,o);if(s===1){let e=c-l,t=100*n/a+i,o=r/a*e/c+1,s=100*n/a*l/c;return t/o-s}let u=c-l,d=i/(1+r/a)**(s-1+u/c);for(let e=1;e<=s;e++)d+=100*n/a/(1+r/a)**(e-1+u/c);return d-=100*n/a*l/c,d}function gf(e,t,n,r,i){let a=0,o=i/n;o>=1?(o=1,a=r===1?e:0):a=e*(1-o)**(r-1);let s=e*(1-o)**r,c=0;return c=s<t?a-t:a-s,c<0&&(c=0),c}var _f=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=o==null?R.create(0):o,l=s==null?L.create(!0):s,{isError:u,errorObject:d,variants:f}=Y(e,t,n,r,i,a,c);if(u)return d;let[p,m,h,g,_,v,y]=f,b=N(p);if(typeof b!=`number`)return b;let x=N(m);if(typeof x!=`number`)return x;let S=N(h);if(typeof S!=`number`)return S;let C=+g.getValue(),ee=+_.getValue(),te=Math.floor(+v.getValue()),ne=Math.floor(+y.getValue()),re=+l.getValue();return Number.isNaN(C)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)?j.create(D.VALUE):C<=0||ee<=0||![1,2,4].includes(te)||ne<0||ne>4||Math.floor(b)>=Math.floor(S)?j.create(D.NUM):this._getResult(b,x,S,C,ee,te,ne,re)}_getResult(e,t,n,r,i,a,o,s){let c=Qd(e,t,a);if(c<=0)return R.create(0);c=Qd(n,t,a);let l=12/a,u=M(t),d=wt(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),f=df(t,-l,d);if(n>t&&s)for(f=t;f<n;)f=df(f,l,d);let p=e>f?e:f,{days:m}=pt(p,n,o);if(c>=e){let{days:e}=pt(p,n,o?4:0);m=e}n<p&&(m=-m);let h=Yd(f,t,a,o),g=m/h,_=f,v=e;for(;_>e;){v=_,_=df(_,-l,d),p=e>_?e:_;let{days:t}=pt(p,v,o);if(o===0)m=v>=p||e<=_?t:-t,h=Yd(_,v,a,o);else if(m=v<p?-t:t,o===3)h=365/a;else{let{days:e}=pt(_,v,o);h=v<_?-e:e}g+=e<=_?s?1:0:m/h}let y=i*r/a*g;return R.create(y)}},vf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=N(c);if(typeof p!=`number`)return p;let m=N(l);if(typeof m!=`number`)return m;let h=+u.getValue(),g=+d.getValue(),_=Math.floor(+f.getValue());if(Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_))return j.create(D.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>Math.floor(m))return j.create(D.NUM);if(Math.floor(p)===Math.floor(m))return R.create(0);let{days:v,yearDays:y}=pt(p,m,_),b=g*h*v/y;return R.create(b)}},yf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let{isError:s,errorObject:c,variants:l}=Y(e,t,n,r,i,a,o==null?R.create(0):o);if(s)return c;let[u,d,f,p,m,h,g]=l,_=N(d);if(typeof _!=`number`)return _;let v=N(f);if(typeof v!=`number`)return v;let y=+u.getValue(),b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=Math.floor(+g.getValue());return Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)?j.create(D.VALUE):y<=0||b<0||y<b||Math.floor(_)>Math.floor(v)||x<0||S<=0||![0,1,3,4].includes(C)?j.create(D.NUM):(x=x>1?Math.floor(x):Math.ceil(x),this._getResult(y,_,v,b,x,S,C))}_getResult(e,t,n,r,i,a,o){let s=e-r,c=e*a,{days:l,yearDays:u}=pt(t,n,o),d=l/u,f=Math.ceil(s/c-d);if(f<0)return R.create(0);let p=c;return i===0?p=c*d:i===f?p=s-c*(d+i-1):i>f&&(p=0),R.create(p)}},bf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Jd(d,f,p,m);return R.create(h)}},xf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Yd(d,f,p,m);return R.create(h)}},Sf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=M(d),g=M(f);for(g.setUTCFullYear(h.getUTCFullYear()),g<h&&g.setUTCFullYear(g.getUTCFullYear()+1);g>h;)g.setUTCMonth(g.getUTCMonth()-12/p);g.setUTCMonth(g.getUTCMonth()+12/p);let{days:_}=pt(d,et(g),m);return R.create(_)}},Cf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Xd(d,f,p);return R.create(h)}},wf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f)||Qd(d,f,p)<0)return j.create(D.NUM);let h=Zd(d,f,p);return R.create(h)}},Tf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=Y(e,t,n,r==null?R.create(0):r);if(i)return a;let[s,c,l,u]=o,d=N(s);if(typeof d!=`number`)return d;let f=N(c);if(typeof f!=`number`)return f;let p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(Number.isNaN(p)||Number.isNaN(m))return j.create(D.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return j.create(D.NUM);let h=Qd(d,f,p);return h<0&&(h=0),R.create(h)}},Ef=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=Y(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,p,m]=c,h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue(),y=+p.getValue(),b=+m.getValue();return Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)?j.create(D.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||v>g||y>g||![0,1].includes(b)?j.create(D.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?R.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=ef(e,t,n,0,a),s=0,c=Math.ceil(r);c===1&&(a===0&&(s=-n),c++);let l=!1;for(let t=c;t<=i;t++){let r=a===1?tf(e,t-2,o,n,1):tf(e,t-1,o,n,0);if(r===0){l=!0;break}s+=a===1?r-o:r}return s*=e,(s<o*(i-r+1)||l)&&(s=o*(i-r+1)),R.create(s)}},Df=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=Y(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,p,m]=c,h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue(),y=+p.getValue(),b=+m.getValue();return Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)?j.create(D.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||![0,1].includes(b)?j.create(D.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?R.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=ef(e,t,n,0,a),s=0,c=Math.ceil(r);c===1&&(s=a===0?o+n*e:o,c++);for(let t=c;t<=i;t++)s+=a===1?o-(tf(e,t-2,o,n,1)-o)*e:o-tf(e,t-1,o,n,0)*e;return R.create(s)}},Of=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?R.create(12):i;a.isNull()&&(a=R.create(12));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,j.create(D.NA)),l=V(o,s,t,j.create(D.NA)),u=V(o,s,n,j.create(D.NA)),d=V(o,s,r,j.create(D.NA)),f=V(o,s,a,j.create(D.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,l.get(t,n),u.get(t,n),d.get(t,n),f.get(t,n));if(r)return i;let[o,s,c,p,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+p.getValue(),y=Math.floor(+m.getValue());return h<0||g<0||_<=0||v<=0||Math.floor(v)>Math.floor(_)||y<1||y>12?j.create(D.NUM):(v<1&&(v=1),v=Math.floor(v),this._getResult(h,g,_,v,y,t,n))});return o===1&&s===1?p.get(0,0):p}_getResult(e,t,n,r,i,a,o){let s=+(1-(t/e)**(1/n)).toFixed(3),c=e*s*i/12,l=c,u=0,d=r===n?n-1:r;for(let t=2;t<=d;t++)u=(e-l)*s,l+=u;let f;return f=r===1?c:r===n?(e-l)*s:u,Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):a===0&&o===0?R.create(f,Pi(this.getLocale())):R.create(f)}},kf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?R.create(2):i;a.isNull()&&(a=R.create(2));let o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,j.create(D.NA)),l=V(o,s,t,j.create(D.NA)),u=V(o,s,n,j.create(D.NA)),d=V(o,s,r,j.create(D.NA)),f=V(o,s,a,j.create(D.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,l.get(t,n),u.get(t,n),d.get(t,n),f.get(t,n));if(r)return i;let[o,s,c,p,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+p.getValue(),y=+m.getValue();if(h<0||g<0||_<=0||v<=0||v>_||y<=0)return j.create(D.NUM);let b=gf(h,g,_,v,y);return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):t===0&&n===0?R.create(b,Pi(this.getLocale())):R.create(b)});return o===1&&s===1?p.get(0,0):p}},Af=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=N(c);if(typeof p!=`number`)return p;let m=N(l);if(typeof m!=`number`)return m;let h=+u.getValue(),g=+d.getValue(),_=Math.floor(+f.getValue());if(Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_))return j.create(D.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return j.create(D.NUM);let{days:v,yearDays:y}=pt(p,m,_),b=(g-h)/g*(y/v);return R.create(b)}},jf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);if(c>=0&&c<1)return j.create(D.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let l=Number.parseInt(`${s}`,10);l+=s%1*10**Math.ceil(Math.log(c)/Math.LN10)/c;let u=10**(Math.ceil(Math.log(c)/Math.LN2)+1);return l=Math.round(l*u)/u,R.create(l)}},Mf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c<0)return j.create(D.NUM);if(c>=0&&c<1)return j.create(D.DIV_BY_ZERO);c=Number.parseInt(`${c}`,10);let l=Number.parseInt(`${s}`,10);return l+=s%1*10**-Math.ceil(Math.log(c)/Math.LN10)*c,R.create(l)}},Nf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=+f.getValue(),y=+p.getValue(),b=Math.floor(+m.getValue()),x=Math.floor(+h.getValue());if(Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_)||g<=0||_<=366)return j.create(D.NUM);let S=$d(g,_,v,y,b,x);return R.create(S)}},Pf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(s<=0||c<1)return j.create(D.NUM);c=Number.parseInt(`${c}`,10);let l=(1+s/c)**c-1;return R.create(l)}},Ff=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=tf(+o.getValue(),+s.getValue(),+c.getValue(),+l.getValue(),+m.getValue()?1:0);return Number.isNaN(h)||!Number.isFinite(h)?j.create(D.NUM):t===0&&n===0?R.create(h,Pi(this.getLocale())):R.create(h)});return s===1&&c===1?m.get(0,0):m}},If=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e);if(n)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return j.create(D.VALUE);let s=o;if(t.isArray()){let e=t.getArrayValue().flat();for(let t=0;t<e.length;t++){let n=e[t];if(n.isBoolean())return j.create(D.VALUE);let r=+n.getValue();if(Number.isNaN(r))return j.create(D.VALUE);s*=1+r}}else{if(t.isBoolean())return j.create(D.VALUE);let e=+t.getValue();if(Number.isNaN(e))return j.create(D.VALUE);s*=1+e}return R.create(s)}},Lf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=Y(e,t,n,r,i==null?R.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=N(c);if(typeof p!=`number`)return p;let m=N(l);if(typeof m!=`number`)return m;let h=+u.getValue(),g=+d.getValue(),_=Math.floor(+f.getValue());if(Number.isNaN(h)||Number.isNaN(g)||Number.isNaN(_))return j.create(D.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return j.create(D.NUM);let{days:v,yearDays:y}=pt(p,m,_),b=(g-h)/h*(y/v);return R.create(b)}},Rf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,6),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(0):a,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,n,j.create(D.NA)),p=V(c,l,r,j.create(D.NA)),m=V(c,l,o,j.create(D.NA)),h=V(c,l,s,j.create(D.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,d.get(t,n),f.get(t,n),p.get(t,n),m.get(t,n),h.get(t,n));if(r)return i;let[o,s,c,l,u,g]=a,_=+o.getValue(),v=+s.getValue(),y=+c.getValue(),b=+l.getValue(),x=+u.getValue(),S=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y))return j.create(D.NUM);let C=nf(_,v,y,b,x,S?1:0);return Number.isNaN(C)||!Number.isFinite(C)?j.create(D.NUM):t===0&&n===0?R.create(C,Pi(this.getLocale())):R.create(C)});return c===1&&l===1?g.get(0,0):g}},zf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(.1):t;return n.isNull()&&(n=R.create(.1)),n.isArray()?n.map((t,n,r)=>this._handleSingleObject(e,t,n,r)):this._handleSingleObject(e,n)}_handleSingleObject(e,t,n=0,r=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return j.create(D.VALUE);if(!e.isArray())return j.create(D.NUM);let{_values:i,valuesHasError:a}=this._getValues(e);if(a)return j.create(D.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;let s=+o.getValue(),{positive:c,negative:l}=this._checkValues(i);if(!c||!l)return j.create(D.NUM);let u=pf(s,e=>rf(e,i));return typeof u==`number`?n===0&&r===0?R.create(u,`0%`):R.create(u):u}_getValues(e){let t=[],n=!1;return e.iterator(e=>{let r=e;if(r.isError())return n=!0,!1;if(r.isNull()||r.isBoolean()||r.isString()&&r.getValue()===``)return!0;let i=+r.getValue();if(Number.isNaN(i))return!0;t.push(i)}),{_values:t,valuesHasError:n}}_checkValues(e){let t=!1,n=!1;for(let r=0;r<e.length;r++)e[r]>0&&(t=!0),e[r]<0&&(n=!0);return{positive:t,negative:n}}},Bf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,s.get(t,n),c.get(t,n),l.get(t,n));if(r)return i;let[o,u,d,f]=a,p=+o.getValue(),m=+u.getValue(),h=+d.getValue(),g=+f.getValue();if(h===0)return j.create(D.DIV_BY_ZERO);let _=g*p*(m/h-1);return R.create(_)});return i===1&&a===1?u.get(0,0):u}},Vf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=+f.getValue(),y=+p.getValue(),b=Math.floor(+m.getValue()),x=Math.floor(+h.getValue());if(Number.isNaN(v)||Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_))return j.create(D.NUM);let S=$d(g,_,v,y,b,x);return S/=1+y/b,R.create(S)}},Hf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{_values:r,numberValues:i,positive:a,negative:o}=this._getValues(e),s=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=V(s,c,t,j.create(D.NA)),u=V(s,c,n,j.create(D.NA)),d=l.map((t,n,s)=>{let c=u.get(n,s);if(e.isError())return e;if(c.isError())return c;if(r.isError())return r;if(!a||!o)return j.create(D.DIV_BY_ZERO);let l=+t.getValue(),d=+c.getValue();if(Number.isNaN(l)||Number.isNaN(d))return j.create(D.VALUE);if(d===-1)return j.create(D.DIV_BY_ZERO);let f=this._getResult(i,l,d);return n===0&&s===0?R.create(f,`0%`):R.create(f)});return s===1&&c===1?d.get(0,0):d}_getValues(e){let t=e,n=[],r=!1,i=!1;if(!e.isError())if(e.isNull())t=j.create(D.VALUE);else if(!e.isArray())t=j.create(D.DIV_BY_ZERO);else{let{numberValues:a,valuesHasError:o,errorObject:s,positive:c,negative:l}=this._checkValues(e);o&&(t=s),n=a,r=c,i=l}return{_values:t,numberValues:n,positive:r,negative:i}}_checkValues(e){let t=[],n=!1,r=j.create(D.VALUE),i=!1,a=!1;return e.iterator(e=>{let o=e;if(o.isError())return n=!0,r=o,!1;if(o.isNull()||o.isBoolean()||o.isString()&&o.getValue()===``)return!0;let s=+o.getValue();if(Number.isNaN(s))return!0;s>0&&(i=!0),s<0&&(a=!0),t.push(s)}),{numberValues:t,valuesHasError:n,errorObject:r,positive:i,negative:a}}_getResult(e,t,n){let r=e.length,i=[],a=[];for(let t=0;t<r;t++)e[t]>0?a.push(e[t]):e[t]<0&&i.push(e[t]);let o=this._npv(n,e,`positive`),s=this._npv(t,e,`negative`);return(-o*(1+n)**r/(s*(1+t)))**(1/(r-1))-1}_npv(e,t,n){let r=0;for(let i=1;i<=t.length;i++){let a=t[i-1];(n===`positive`&&a>0||n===`negative`&&a<0)&&(r+=a/(1+e)**i)}return r}},Uf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(s<=0||c<1)return j.create(D.NUM);c=Number.parseInt(`${c}`,10);let l=((s+1)**(1/c)-1)*c;return R.create(l)}},Wf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+l.getValue(),y=+m.getValue();if(y=y?1:0,h===0&&g===0)return j.create(D.DIV_BY_ZERO);let b;if(h===0)b=-(_+v)/g;else{let e=g*(1+h*y)-v*h,t=_*h+g*(1+h*y);b=Math.log(e/t)/Math.log(1+h)}return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):R.create(b)});return s===1&&c===1?m.get(0,0):m}},Gf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsLocale`,!0)}calculate(e,...t){if(e.isError())return e;let{isError:n,errorObject:r,values:i}=this._getValues(t);return e.isArray()?e.map((e,t,a)=>this._handleSingleObject(e,n,r,i,t,a)):this._handleSingleObject(e,n,r,i)}_handleSingleObject(e,t,n,r,i=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return n;let s=rf(+e.getValue(),r);return Number.isNaN(s)||Math.abs(s)===1/0?j.create(D.DIV_BY_ZERO):i===0&&a===0?R.create(s,Pi(this.getLocale())):R.create(s)}_getValues(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isError())return{isError:!0,errorObject:r};if(r.isArray()){let e=!1,n=j.create(D.VALUE);if(r.iterator(r=>{let i=r;if(i.isError())return e=!0,n=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&i.getValue()===``)return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;t.push(a)}),e)return{isError:e,errorObject:n}}else{let e=+r.getValue();if(Number.isNaN(e))return{isError:!0,errorObject:j.create(D.VALUE)};t.push(e)}}return{isError:!1,values:t}}},Kf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,8),E(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?R.create(0):c;l.isNull()&&(l=R.create(0));let{isError:u,errorObject:d,variants:f}=bs(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,S=N(p);if(typeof S!=`number`)return S;let C=N(m);if(typeof C!=`number`)return C;let ee=N(h);if(typeof ee!=`number`)return ee;let te=N(g);if(typeof te!=`number`)return te;let ne=+_.getValue(),re=+v.getValue(),ie=+y.getValue(),ae=Math.floor(+b.getValue()),oe=Math.floor(+x.getValue());if(Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(ie)||Number.isNaN(ae)||Number.isNaN(oe))return j.create(D.VALUE);if(ne<0||re<0||ie<=0||![1,2,4].includes(ae)||oe<0||oe>4||!this._validDate(C,te,S,ee,ae))return j.create(D.NUM);let se=af(S,C,ee,te,ne,re,ie,ae,oe);return R.create(se)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&lf(e,t,i)&&uf(r,e,i)}_getDateCorrectOrder(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Math.floor(n)>Math.floor(r)}},qf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,8),E(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?R.create(0):c;l.isNull()&&(l=R.create(0));let{isError:u,errorObject:d,variants:f}=bs(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,S=N(p);if(typeof S!=`number`)return S;let C=N(m);if(typeof C!=`number`)return C;let ee=N(h);if(typeof ee!=`number`)return ee;let te=N(g);if(typeof te!=`number`)return te;let ne=+_.getValue(),re=+v.getValue(),ie=+y.getValue(),ae=Math.floor(+b.getValue()),oe=Math.floor(+x.getValue());return Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(ie)||Number.isNaN(ae)||Number.isNaN(oe)?j.create(D.VALUE):ne<0||re<=0||ie<=0||![1,2,4].includes(ae)||oe<0||oe>4||!this._validDate(C,te,S,ee,ae)?j.create(D.NUM):this._getResult(S,C,ee,te,ne,re,ie,ae,oe)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&lf(e,t,i)&&uf(r,e,i)}_getDateCorrectOrder(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&Math.floor(n)>Math.floor(r)}_getResult(e,t,n,r,i,a,o,s,c){let{days:l}=pt(e,t,c),u=(i*l*100-(a-100))/((a-100)*.25*(1+2*l)+l*100);function d(l){return a-af(e,t,n,r,i,l,o,s,c)}let f=pf(u,e=>d(e));return typeof f==`number`?R.create(f):f}},Jf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,7),E(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=s==null?R.create(0):s;c.isNull()&&(c=R.create(0));let{isError:l,errorObject:u,variants:d}=bs(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=N(f);if(typeof b!=`number`)return b;let x=N(p);if(typeof x!=`number`)return x;let S=N(m);if(typeof S!=`number`)return S;let C=+h.getValue(),ee=+g.getValue(),te=+_.getValue(),ne=Math.floor(+v.getValue()),re=Math.floor(+y.getValue());if(Number.isNaN(C)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re))return j.create(D.VALUE);if(C<0||ee<0||te<=0||![1,2,4].includes(ne)||re<0||re>4||!this._validDate(x,b,S,ne))return j.create(D.NUM);let ie=this._getResult(b,x,S,C,ee,te,ne,re);return R.create(ie)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&uf(n,e,r)}_getResult(e,t,n,r,i,a,o,s){let c=this._getCoupDate(t,n,o),l=this._getFrac(n,e,c,o,s),u=this._getFrac(n,t,c,o,s),d=this._getFrac(e,t,c,o,s);return(a*o+100*r*(u-l*(1+i*d/o)))/(i*d+o)}_getCoupDate(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return et(i)}_getFrac(e,t,n,r,i){let a=M(e),o=M(t),s=M(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=et(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=et(s);if(l>=t){let{days:n}=pt(e,t,i);return n/Yd(c,l,r,i)}let{days:u}=pt(e,l,i),d=u/Yd(c,l,r,i),f=M(l),p=M(l);for(p.setUTCMonth(p.getUTCMonth()+12/r);p<o;)f.setUTCMonth(f.getUTCMonth()+12/r),p.setUTCMonth(p.getUTCMonth()+12/r),d+=1;c=et(f),l=et(p);let{days:m}=pt(c,t,i),h=Yd(c,l,r,i);return d+=m/h,d}},Yf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,8),E(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s){let c=s==null?R.create(0):s;c.isNull()&&(c=R.create(0));let{isError:l,errorObject:u,variants:d}=bs(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=N(f);if(typeof b!=`number`)return b;let x=N(p);if(typeof x!=`number`)return x;let S=N(m);if(typeof S!=`number`)return S;let C=+h.getValue(),ee=+g.getValue(),te=+_.getValue(),ne=Math.floor(+v.getValue()),re=Math.floor(+y.getValue());if(Number.isNaN(C)||Number.isNaN(ee)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re))return j.create(D.VALUE);if(C<0||ee<=0||te<=0||![1,2,4].includes(ne)||re<0||re>4||!this._validDate(x,b,S,ne))return j.create(D.NUM);let ie=this._getResult(b,x,S,C,ee,te,ne,re);return R.create(ie)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&uf(n,e,r)}_getResult(e,t,n,r,i,a,o,s){let c=this._getCoupDate(t,n,o),l=this._getFrac(n,e,c,o,s),u=this._getFrac(n,t,c,o,s),d=this._getFrac(e,t,c,o,s);return(o*(a-i)+100*r*(u-l))/(d*i+100*r*l*d/o)}_getCoupDate(e,t,n){let r=M(e),i=M(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return et(i)}_getFrac(e,t,n,r,i){let a=M(e),o=M(t),s=M(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=et(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=et(s);if(l>=t){let{days:n}=pt(e,t,i);return n/Yd(c,l,r,i)}let{days:u}=pt(e,l,i),d=u/Yd(c,l,r,i),f=M(l),p=M(l);for(p.setUTCMonth(p.getUTCMonth()+12/r);p<o;)f.setUTCMonth(f.getUTCMonth()+12/r),p.setUTCMonth(p.getUTCMonth()+12/r),d+=1;c=et(f),l=et(p);let{days:m}=pt(c,t,i),h=Yd(c,l,r,i);return d+=m/h,d}},Xf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,o.get(t,n),s.get(t,n));if(r)return i;let[c,l,u]=a,d=+c.getValue(),f=+l.getValue(),p=+u.getValue();if(d<=-1)return j.create(D.NUM);let m=(Math.log(p)-Math.log(f))/Math.log(1+d);return Number.isNaN(m)||!Number.isFinite(m)?j.create(D.NUM):R.create(m)});return r===1&&i===1?c.get(0,0):c}},Zf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+l.getValue(),y=+m.getValue();if(h<=-1)return j.create(D.NUM);let b=ef(h,g,_,v,y?1:0);return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):t===0&&n===0?R.create(b,Pi(this.getLocale())):R.create(b)});return s===1&&c===1?m.get(0,0):m}},Qf=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,6),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(0):a,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,n,j.create(D.NA)),p=V(c,l,r,j.create(D.NA)),m=V(c,l,o,j.create(D.NA)),h=V(c,l,s,j.create(D.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,d.get(t,n),f.get(t,n),p.get(t,n),m.get(t,n),h.get(t,n));if(r)return i;let[o,s,c,l,u,g]=a,_=+o.getValue(),v=+s.getValue(),y=+c.getValue(),b=+l.getValue(),x=+u.getValue(),S=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y)||v-y>=1)return j.create(D.NUM);let C=ef(_,y,b,x,S?1:0)-nf(_,v,y,b,x,S?1:0);return Number.isNaN(C)||!Number.isFinite(C)?j.create(D.NUM):t===0&&n===0?R.create(C,Pi(this.getLocale())):R.create(C)});return c===1&&l===1?g.get(0,0):g}},$f=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?R.create(0):o;s.isNull()&&(s=R.create(0));let{isError:c,errorObject:l,variants:u}=bs(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=N(d);if(typeof v!=`number`)return v;let y=N(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(ee))return j.create(D.VALUE);if(b<0||x<0||S<=0||![1,2,4].includes(C)||ee<0||ee>4||v>=y||!uf(v,y,C))return j.create(D.NUM);let te=hf(v,y,b,x,S,C,ee);return R.create(te)}},ep=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=bs(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=N(l);if(typeof m!=`number`)return m;let h=N(u);if(typeof h!=`number`)return h;let g=+d.getValue(),_=+f.getValue(),v=Math.floor(+p.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return j.create(D.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return j.create(D.NUM);let{days:y,yearDays:b}=pt(m,h,v),x=_-g*_*y/b;return R.create(x)}},tp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=N(f);if(typeof v!=`number`)return v;let y=+p.getValue(),b=+m.getValue(),x=Math.floor(+h.getValue());if(Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);let S=this._getDateCorrectOrder(_,g,v);if(y<0||b<0||x<0||x>4||!S)return j.create(D.NUM);let C=Ct(g,x),{days:ee}=pt(g,_,x),{days:te}=pt(v,_,x),{days:ne}=pt(v,g,x),re=(100+te/C*y*100)/(1+ee/C*b)-ne/C*y*100;return R.create(re)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}},np=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?R.create(0):r,o=i==null?R.create(0):i,s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,e,j.create(D.NA)),u=V(s,c,t,j.create(D.NA)),d=V(s,c,n,j.create(D.NA)),f=V(s,c,a,j.create(D.NA)),p=V(s,c,o,j.create(D.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,u.get(t,n),d.get(t,n),f.get(t,n),p.get(t,n));if(r)return i;let[o,s,c,l,m]=a,h=+o.getValue(),g=+s.getValue(),_=+c.getValue(),v=+l.getValue(),y=+m.getValue();y=y?1:0;let b=h===0?-_*g-v:((1-(1+h)**g)/h*_*(1+h*y)-v)/(1+h)**g;return Number.isNaN(b)||!Number.isFinite(b)?j.create(D.NUM):t===0&&n===0?R.create(b,Pi(this.getLocale())):R.create(b)});return s===1&&c===1?m.get(0,0):m}},rp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?R.create(0):r,s=i==null?R.create(0):i,c=a==null?R.create(.1):a,l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,e,j.create(D.NA)),f=V(l,u,t,j.create(D.NA)),p=V(l,u,n,j.create(D.NA)),m=V(l,u,o,j.create(D.NA)),h=V(l,u,s,j.create(D.NA)),g=V(l,u,c,j.create(D.NA)),_=d.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,f.get(t,n),p.get(t,n),m.get(t,n),h.get(t,n),g.get(t,n));if(r)return i;let[o,s,c,l,u,d]=a,_=+o.getValue(),v=+s.getValue(),y=+c.getValue(),b=+l.getValue(),x=+u.getValue(),S=+d.getValue();return x=x?1:0,_<=0||v>=0&&y>=0&&b>=0||v<=0&&y<=0&&b<=0?j.create(D.NUM):this._getResult(_,v,y,b,x,S,t,n)});return l===1&&u===1?_.get(0,0):_}_getResult(e,t,n,r,i,a,o,s){let c=1e-10;if(Math.abs(t)<1e-14)return this._computeSimpleGrowthRate(e,n,r,o,s);let l=a,u=1/0;for(let a=0;a<100;a++){if(l<=-1)return j.create(D.NUM);let{value:a,derivative:o}=this._evaluateRateFunction(l,e,t,n,r,i,c),s=Math.abs(a);if(s<c||Math.abs(o)<1e-14)break;let d=this._getAdaptiveDampedStep(a,o,s,u);l-=d,u=s}return!Number.isFinite(l)||l<=-1?j.create(D.NUM):R.create(l,o===0&&s===0?`0%`:void 0)}_computeSimpleGrowthRate(e,t,n,r,i){if(Math.sign(t)===Math.sign(n))return j.create(D.NUM);let a=(n/-t)**(1/e)-1;return R.create(a,r===0&&i===0?`0%`:void 0)}_evaluateRateFunction(e,t,n,r,i,a,o){let s,c,l;if(Math.abs(e)<o)s=r*(1+t*e)+n*(1+e*a)*t+i,c=r*t+n*a*t;else{l=(1+e)**t,s=r*l+n*(1/e+a)*(l-1)+i;let o=t*(1+e)**(t-1);c=r*o+n*(1/e+a)*o+n*(-1/(e*e))*(l-1)}return{value:s,derivative:c}}_getAdaptiveDampedStep(e,t,n,r){let i=e/t;return n>.001||n>=r*.9?Math.max(Math.min(i,5),-5):Math.max(Math.min(i,.5),-.5)}},ip=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=bs(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=N(l);if(typeof m!=`number`)return m;let h=N(u);if(typeof h!=`number`)return h;let g=+d.getValue(),_=+f.getValue(),v=Math.floor(+p.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return j.create(D.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return j.create(D.NUM);let{days:y,yearDays:b}=pt(m,h,v),x=g/(1-_*y/b);return x<0?j.create(D.NUM):R.create(x)}},ap=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,6)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=X(e,o.get(t,n),s.get(t,n));if(r)return i;let[c,l,u]=a,d=+c.getValue(),f=+l.getValue(),p=+u.getValue();if(d<=0)return j.create(D.NUM);if(f===0&&p===0)return R.create(0);let m=(p/f)**(1/d)-1;return Number.isNaN(m)||!Number.isFinite(m)||p/f<0?j.create(D.NUM):R.create(m)});return r===1&&i===1?c.get(0,0):c}},op=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsLocale`,!0)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.map((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(r.isError())return r;if(i.isError())return i;let a=+e.getValue(),c=+r.getValue(),l=+i.getValue();if(Number.isNaN(a)||Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);if(l===0)return j.create(D.DIV_BY_ZERO);let u=(a-c)/l;return t===0&&n===0?R.create(u,Pi(this.getLocale())):R.create(u)});return r===1&&i===1?c.get(0,0):c}},sp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4),E(this,`needsLocale`,!0)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);if(r.isError())return r;if(i.isError())return i;if(a.isError())return a;let o=+e.getValue(),u=+r.getValue(),d=+i.getValue(),f=+a.getValue();if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(d)||Number.isNaN(f))return j.create(D.VALUE);if(u<0||d<=0||f>d)return j.create(D.NUM);let p=(o-u)*(d-f+1)*2/(d*(d+1));return t===0&&n===0?R.create(p,Pi(this.getLocale())):R.create(p)});return i===1&&a===1?u.get(0,0):u}},cp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=bs(e,t,n);if(r)return i;let[o,s,c]=a,l=N(o);if(typeof l!=`number`)return l;let u=N(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return j.create(D.VALUE);if(d<=0||l>=u)return j.create(D.NUM);let f=Math.floor(u)-Math.floor(l);if(f>St(M(l).getUTCFullYear()))return j.create(D.NUM);let p=365*d/(360-d*f);if(f>182){let e=100*(1-d*f/360),t=f/365;if(p=(-t+Math.sqrt(t*t-(t*2-1)*(1-100/e)))/(t-.5),Number.isNaN(p))return j.create(D.NUM)}return p<0?j.create(D.NUM):R.create(p)}},lp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsLocale`,!0)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=bs(e,t,n);if(r)return i;let[o,s,c]=a,l=N(o);if(typeof l!=`number`)return l;let u=N(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return j.create(D.VALUE);if(d<=0||l>=u)return j.create(D.NUM);let f=Math.floor(u)-Math.floor(l);if(f>St(M(l).getUTCFullYear()))return j.create(D.NUM);let p=100*(1-d*f/360);return p<0?j.create(D.NUM):R.create(p,Pi(this.getLocale()))}},up=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=bs(e,t,n);if(r)return i;let[o,s,c]=a,l=N(o);if(typeof l!=`number`)return l;let u=N(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return j.create(D.VALUE);if(d<=0||l>=u)return j.create(D.NUM);let f=Math.floor(u)-Math.floor(l);if(f>St(M(l).getUTCFullYear()))return j.create(D.NUM);let p=(100-d)/d*360/f;return R.create(p)}},dp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,7),E(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a,o){let s=a==null?R.create(2):a;s.isNull()&&(s=R.create(2));let c=o==null?L.create(!1):o;c.isNull()&&(c=L.create(!1));let l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,e,j.create(D.NA)),f=V(l,u,t,j.create(D.NA)),p=V(l,u,n,j.create(D.NA)),m=V(l,u,r,j.create(D.NA)),h=V(l,u,i,j.create(D.NA)),g=V(l,u,s,j.create(D.NA)),_=V(l,u,c,j.create(D.NA));return this._getResultArray(d,f,p,m,h,g,_,l,u)}_getResultArray(e,t,n,r,i,a,o,s,c){let l=e.map((e,s,c)=>{let{isError:l,errorObject:u,variants:d}=X(e,t.get(s,c),n.get(s,c),r.get(s,c),i.get(s,c),a.get(s,c),o.get(s,c));if(l)return u;let[f,p,m,h,g,_,v]=d,y=+f.getValue(),b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=+g.getValue(),ee=+_.getValue(),te=+v.getValue();if(y<0||b<0||x<0||S<0||C<0||C>x||S>C||ee<0)return j.create(D.NUM);if(x===0&&S===0&&C===0)return j.create(D.DIV_BY_ZERO);let ne=this._getResult(y,b,x,S,C,ee,te);return s===0&&c===0?R.create(ne,Pi(this.getLocale())):R.create(ne)});return s===1&&c===1?l.get(0,0):l}_getResult(e,t,n,r,i,a,o){let s=Math.floor(r),c=Math.ceil(i),l=0;if(e<t){if(r>=1||o)return l;let n=Math.abs(e-t);return l=n*(i-r)>n?n:n*(i-r),-l}if(o)for(let o=s+1;o<=c;o++){let u=gf(e,t,n,o,a);o===s+1?u*=Math.min(i,s+1)-r:o===c&&(u*=i+1-c),l+=u}else{let o=e-this._getVdb(e,t,n,n,r,a);l=this._getVdb(o,t,n,n-r,i-r,a)}return l}_getVdb(e,t,n,r,i,a){let o=Math.ceil(i),s=0,c=e-t,l=0,u=0,d=!1;for(let f=1;f<=o;f++){if(d)u=l;else{let i=gf(e,t,n,f,a);l=c/(r-(f-1)),l>i?(u=l,d=!0):(u=i,c-=i)}f===o&&(u*=i+1-o),s+=u}return s}},fp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull())return j.create(D.NA);let{isError:r,errorObejct:i,_values:a,_dates:o}=this._checkErrors(e,t);if(r)return i;let s=n==null?R.create(.1):n;s.isNull()&&(s=R.create(.1));let{isError:c,errorObject:l,variants:u}=Y(s);if(c)return l;let[d]=u,f=+d.getValue();if(Number.isNaN(f))return j.create(D.VALUE);let{positive:p,negative:m}=this._checkValues(a);if(!p||!m||(a==null?void 0:a.length)!==(o==null?void 0:o.length)||f<0)return j.create(D.NUM);let h=pf(f,e=>this._iterF(a,o,e));return typeof h==`number`?R.create(h):h}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:n,errorObejct:r,_values:i}=this._checkErrorValues(e);if(n)return{isError:n,errorObejct:r};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isBoolean())return n=!0,r=j.create(D.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=j.create(D.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:j.create(D.NA)}:{isError:n,_values:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!w(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:{isError:!0,errorObejct:j.create(D.NA)}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{if(e!=null&&e.isError())return n=!0,r=e,!1;if(e!=null&&e.isBoolean())return n=!0,r=j.create(D.VALUE),!1;let i=+e.getValue();if(Number.isNaN(i))return n=!0,r=j.create(D.VALUE),!1;if(i<0)return n=!0,r=j.create(D.NUM),!1;t.push(Math.floor(i))}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:j.create(D.NA)}:{isError:n,_dates:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!w(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:+t<0?{isError:!0,errorObejct:j.create(D.NUM)}:{isError:!0,errorObejct:j.create(D.NA)}}}_checkValues(e){let t=!1,n=!1;for(let r=0;r<e.length;r++)e[r]>0&&(t=!0),e[r]<0&&(n=!0);return{positive:t,negative:n}}_iterF(e,t,n){return e.reduce((e,r,i)=>e+r/(1+n)**((t[i]-t[0])/365),0)}},pp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull()||n.isNull())return j.create(D.NA);let{isError:r,errorObject:i,variants:a}=Y(e);if(r)return i;let[o]=a,s=+o.getValue();if(Number.isNaN(s))return j.create(D.VALUE);let{isError:c,errorObejct:l,_values:u,_dates:d}=this._checkErrors(t,n);if(c)return l;if(u=u,d=d,s<0||u.length!==d.length)return j.create(D.NUM);let f=0,p=d[0];for(let e=0;e<d.length;e++){let t=d[e],n=u[e];f+=n/(1+s)**((t-p)/365)}return R.create(f)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};let{isError:n,errorObejct:r,_values:i}=this._checkErrorValues(e);if(n)return{isError:n,errorObejct:r};let{isError:a,errorObejct:o,_dates:s}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:i,_dates:s}}_checkErrorValues(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isNull()||i.isBoolean()||i.isString()&&i.getValue()===``)return n=!0,r=j.create(D.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=j.create(D.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:{isError:n,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:j.create(D.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:{isError:!1,_values:[t]}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isNull()||i.isBoolean())return n=!0,r=j.create(D.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=j.create(D.VALUE),!1;if(a<0)return n=!0,r=j.create(D.NUM),!1;t.push(Math.floor(a))}),n?{isError:n,errorObejct:r}:{isError:n,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:j.create(D.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:j.create(D.VALUE)}:+t<0?{isError:!0,errorObejct:j.create(D.NUM)}:{isError:!1,_dates:[Math.floor(t)]}}}},mp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,6),E(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?R.create(0):o;s.isNull()&&(s=R.create(0));let{isError:c,errorObject:l,variants:u}=bs(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=N(d);if(typeof v!=`number`)return v;let y=N(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),S=+h.getValue(),C=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(S)||Number.isNaN(C)||Number.isNaN(ee))return j.create(D.VALUE);if(b<0||x<=0||S<=0||![1,2,4].includes(C)||ee<0||ee>4||v>=y||!uf(v,y,C))return j.create(D.NUM);let te=this._getResult(v,y,b,x,S,C,ee);return R.create(te)}_getResult(e,t,n,r,i,a,o){if(Zd(e,t,a)>1){let s=n||.01,c=hf(e,t,n,s,i,a,o),l=c-r;for(let u=0;u<100&&Math.abs(l)>1e-7;u++)c=hf(e,t,n,1.01*s,i,a,o),s+=-l/(c-r-l)*s*.01,l=hf(e,t,n,s,i,a,o)-r;return s}let s=Jd(e,t,a,o),c=Yd(e,t,a,o),{days:l}=pt(e,t,o),u=r/100+s/c*n/a;return(i/100+n/a-u)/u*a*c/l}},hp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?R.create(0):i;a.isNull()&&(a=R.create(0));let{isError:o,errorObject:s,variants:c}=bs(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=N(l);if(typeof m!=`number`)return m;let h=N(u);if(typeof h!=`number`)return h;let g=+d.getValue(),_=+f.getValue(),v=Math.floor(+p.getValue());if(Number.isNaN(g)||Number.isNaN(_)||Number.isNaN(v))return j.create(D.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return j.create(D.NUM);let{days:y,yearDays:b}=pt(m,h,v),x=(_/g-1)/(y/b);return R.create(x)}},gp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?R.create(0):a;o.isNull()&&(o=R.create(0));let{isError:s,errorObject:c,variants:l}=bs(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=N(u);if(typeof g!=`number`)return g;let _=N(d);if(typeof _!=`number`)return _;let v=N(f);if(typeof v!=`number`)return v;let y=+p.getValue(),b=+m.getValue(),x=Math.floor(+h.getValue());if(Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x))return j.create(D.VALUE);let S=this._getDateCorrectOrder(_,g,v);if(y<0||b<=0||x<0||x>4||!S)return j.create(D.NUM);let C=Ct(g,x),{days:ee}=pt(g,_,x),{days:te}=pt(v,_,x),{days:ne}=pt(v,g,x),re=((1+te/C*y)/(b/100+ne/C*y)-1)/(ee/C);return R.create(re)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}};const _p=[[_f,W.ACCRINT],[vf,W.ACCRINTM],[yf,W.AMORLINC],[bf,W.COUPDAYBS],[xf,W.COUPDAYS],[Sf,W.COUPDAYSNC],[Cf,W.COUPNCD],[wf,W.COUPNUM],[Tf,W.COUPPCD],[Ef,W.CUMIPMT],[Df,W.CUMPRINC],[Of,W.DB],[kf,W.DDB],[Af,W.DISC],[jf,W.DOLLARDE],[Mf,W.DOLLARFR],[Nf,W.DURATION],[Pf,W.EFFECT],[Ff,W.FV],[If,W.FVSCHEDULE],[Lf,W.INTRATE],[Rf,W.IPMT],[zf,W.IRR],[Bf,W.ISPMT],[Vf,W.MDURATION],[Hf,W.MIRR],[Uf,W.NOMINAL],[Wf,W.NPER],[Gf,W.NPV],[Kf,W.ODDFPRICE],[qf,W.ODDFYIELD],[Jf,W.ODDLPRICE],[Yf,W.ODDLYIELD],[Xf,W.PDURATION],[Zf,W.PMT],[Qf,W.PPMT],[$f,W.PRICE],[ep,W.PRICEDISC],[tp,W.PRICEMAT],[np,W.PV],[rp,W.RATE],[ip,W.RECEIVED],[ap,W.RRI],[op,W.SLN],[sp,W.SYD],[cp,W.TBILLEQ],[lp,W.TBILLPRICE],[up,W.TBILLYIELD],[dp,W.VDB],[fp,W.XIRR],[pp,W.XNPV],[mp,W.YIELD],[hp,W.YIELDDISC],[gp,W.YIELDMAT]];var vp=class extends Z{constructor(...e){super(...e),E(this,`needsReferenceObject`,!0),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isError())return n;if(n.isReferenceObject()&&(n=n.toArrayValueObject()),n.isArray()){let e=n.getRowCount(),r=n.getColumnCount();if(e===1&&r===1){let e=n.get(0,0);return this._handleSingleObject(e,t)}return n.map(e=>e.isError()?e:this._handleSingleObject(e,t,!0))}return this._handleSingleObject(n,t)}_handleSingleObject(e,t,n=!1){let r=t;if(r.isError())return r;if(!r.isReferenceObject())return j.create(D.NA);let{columnData:i,defaultColumnWidth:a}=r.getCurrentActiveSheetData();r=r.toArrayValueObject();let o=r.getCurrentRow(),s=r.getCurrentColumn();r=r.getFirstCell();let c=`${e.getValue()}`,l;switch(c.toLocaleLowerCase()){case`address`:return z.create(`$${re.chatAtABC(s)}$${o+1}`);case`col`:return R.create(s+1);case`color`:return R.create(0);case`contents`:return r;case`filename`:return j.create(D.VALUE);case`format`:return z.create(`G`);case`parentheses`:return R.create(0);case`prefix`:return z.create(``);case`protect`:return R.create(1);case`row`:return R.create(o+1);case`type`:return l=`v`,r.isNull()&&(l=`b`),r.isString()&&(l=`l`),z.create(l);case`width`:return this._getWidthResult(i,a,s,n);default:return j.create(D.VALUE)}}_getWidthResult(e,t,n,r){var i;let a=(i=e[n])==null?void 0:i.w;if(!a&&a!==0&&(a=t),r)return R.create(a);let o=[[a,a===t]];return B.createByArray(o)}},yp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`_errorTypeValueMap`,new Map([[D.NULL,1],[D.DIV_BY_ZERO,2],[D.VALUE,3],[D.REF,4],[D.NAME,5],[D.NUM,6],[D.NA,7],[D.CONNECT,8],[D.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e.getValue(),n=this._errorTypeValueMap.get(t);return n?R.create(n):j.create(D.NA)}},bp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=ys(e,t,n,r==null?L.create(!0):r,i==null?L.create(!0):i);if(a)return o;let[c,l,u,d,f]=s;if(d.isString()||f.isString())return j.create(D.VALUE);if(l.compare(u,`>`).getValue()===!0)return j.create(D.NUM);let p=+d.getValue(),m=+f.getValue(),h=p?`>=`:`>`,g=m?`<=`:`<`;return c.compare(l,h).getValue()===!1||c.compare(u,g).getValue()===!1?L.create(!1):L.create(!0)}},xp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isNull()?L.create(!0):e.isArray()?e.mapValue(e=>e.isNull()?L.create(!0):L.create(!1)):L.create(!1)}},Sp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==``?L.create(ot(t.getPattern())):t.isString()&&(it(`${t.getValue()}`)||at(`${t.getValue()}`))?L.create(!0):L.create(!1)}},Cp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return L.create(!1);let n=`${t.getValue()}`;if(n.length>254)return L.create(!1);let r=re.topLevelDomainCombiningString(),i=RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})$`,`i`);return L.create(i.test(n))}},wp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.getValue()===D.NA?L.create(!1):e.isError()?L.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===D.NA?L.create(!1):e.isError()?L.create(!0):L.create(!1)):L.create(!1)}},Tp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?L.create(!0):e.isArray()?e.mapValue(e=>e.isError()?L.create(!0):L.create(!1)):L.create(!1)}},Ep=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return j.create(D.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return j.create(D.VALUE);let r=n%2==0;return L.create(r)}},Dp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){var t;if(e.isError())return e;if(!e.isReferenceObject())return j.create(D.NA);let n=(t=e.getCurrentActiveSheetData())==null?void 0:t.cellData.getMatrix(),{startRow:r,startColumn:i}=e.getRangePosition(),a=e.toArrayValueObject(),o=a.mapValue((e,t,a)=>{var o;let s=n==null||(o=n[r+t])==null?void 0:o[i+a];return s!=null&&s.f||s!=null&&s.si?L.create(!0):L.create(!1)});return a.getRowCount()===1&&a.getColumnCount()===1?o.get(0,0):o}},Op=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isBoolean()?L.create(!0):e.isArray()?e.mapValue(e=>e.isBoolean()?L.create(!0):L.create(!1)):L.create(!1)}},kp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.getValue()===D.NA?L.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===D.NA?L.create(!0):L.create(!1)):L.create(!1)}},Ap=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return!e.isArray()&&!e.isString()?L.create(!0):e.isArray()?e.mapValue(e=>e.isString()?L.create(!1):L.create(!0)):L.create(!1)}},jp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isNumber()?L.create(!0):e.isArray()?e.mapValue(e=>e.isNumber()?L.create(!0):L.create(!1)):L.create(!1)}},Mp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return j.create(D.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return j.create(D.VALUE);let r=n%2!=0;return L.create(r)}},Np=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?L.create(!0):L.create(!1)}},Pp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isString()?L.create(!0):e.isArray()?e.mapValue(e=>e.isString()?L.create(!0):L.create(!1)):L.create(!1)}},Fp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return L.create(!1);let n=`${t.getValue()}`.replace(/^\s+|\s+$/g,``);if(n.length>1e3)return L.create(!1);let r=re.topLevelDomainCombiningString(),i=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_-]+)*\\.(?:${r})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,`i`);return L.create(i.test(n))}},Ip=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return R.create(0);let n=+t.getValue();return R.create(n)}},Lp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return j.create(D.NA)}},Rp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0),E(this,`needsSheetsInfo`,!0)}calculate(e){var t;if(e!=null&&e.isError())return e;let{sheetOrder:n,sheetNameMap:r}=this.getSheetsInfo();if(!e){let e=n.findIndex(e=>e===this.subUnitId);return R.create(e+1)}if(e.isReferenceObject()){let t=e.getForcedSheetId(),r=e.getDefaultSheetId(),i=n.findIndex(e=>t?e===t:e===r);return R.create(i+1)}if(e.isArray())return j.create(D.NA);let i=`${e.getValue()}`.toLocaleLowerCase(),a=(t=Object.entries(r).find(([e,t])=>t.toLocaleLowerCase()===i))==null?void 0:t[0];if(!a)return j.create(D.NA);let o=n.findIndex(e=>e===a);return R.create(o+1)}},zp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0),E(this,`needsSheetsInfo`,!0)}calculate(){let{sheetOrder:e}=this.getSheetsInfo();return R.create(e.length)}},Bp=class extends Z{constructor(...e){super(...e),E(this,`needsReferenceObject`,!0),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isReferenceObject()){let t=e.getRowCount(),n=e.getColumnCount();if(t===1&&n===1){let t=e.getFirstCell();if(t.isError())return R.create(16);if(t.isBoolean())return R.create(4);if(t.isString())return R.create(2);if(t.isNumber()||t.isNull())return R.create(1)}else return R.create(64)}else{if(e.isArray())return R.create(64);if(e.isError())return R.create(16);if(e.isBoolean())return R.create(4);if(e.isString())return R.create(2);if(e.isNumber()||e.isNull())return R.create(1)}return R.create(128)}};const Vp=[[vp,to.CELL],[yp,to.ERROR_TYPE],[bp,to.ISBETWEEN],[xp,to.ISBLANK],[Sp,to.ISDATE],[Cp,to.ISEMAIL],[wp,to.ISERR],[Tp,to.ISERROR],[Ep,to.ISEVEN],[Dp,to.ISFORMULA],[Op,to.ISLOGICAL],[kp,to.ISNA],[Ap,to.ISNONTEXT],[jp,to.ISNUMBER],[Mp,to.ISODD],[Np,to.ISREF],[Pp,to.ISTEXT],[Fp,to.ISURL],[Ip,to.N],[Lp,to.NA],[Rp,to.SHEET],[zp,to.SHEETS],[Bp,to.TYPE]];var Hp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=!0,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(t=t&&!!e.getValue(),n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(t=t&&!!i.getValue(),n=!1)}return n?j.create(D.VALUE):L.create(t)}},Up=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){let n=e,r=null;if(e.isReferenceObject()&&(n=e.toArrayValueObject(),r=e),n.isError())return n;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return j.create(D.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=V(a,o,n);let s=[[]];for(let e=0;e<o;e++){let t=[];for(let r=0;r<a;r++){let i=n.get(r,e);t.push([i])}let o=B.create({calculateValueList:t,rowCount:a,columnCount:1,unitId:``,sheetId:``,row:0,column:0});if(r){let{startRow:t,startColumn:n}=r.getRangePosition(),i={startRow:t,startColumn:n+e,endRow:t+a-1,endColumn:n+e};o=this.createReferenceObject(r,i)}let c=i.execute(o);if(c.isArray()){let e=c.getRowCount(),t=c.getColumnCount();if(e>1||t>1)return j.create(D.CALC);c=c.get(0,0)}c.isNull()&&(c=R.create(0)),s[0].push(c)}return o===1?s[0][0]:B.create({calculateValueList:s,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Wp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){let n=e,r=null;if(e.isReferenceObject()&&(n=e.toArrayValueObject(),r=e),n.isError())return n;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return j.create(D.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=V(a,o,n);let s=[];for(let e=0;e<a;e++){let t=[[]];for(let r=0;r<o;r++){let i=n.get(e,r);t[0].push(i)}let a=B.create({calculateValueList:t,rowCount:1,columnCount:o,unitId:``,sheetId:``,row:0,column:0});if(r){let{startRow:t,startColumn:n}=r.getRangePosition(),i={startRow:t+e,startColumn:n,endRow:t+e,endColumn:n+o-1};a=this.createReferenceObject(r,i)}let c=i.execute(a);if(c.isArray()){let e=c.getRowCount(),t=c.getColumnCount();if(e>1||t>1)return j.create(D.CALC);c=c.get(0,0)}c.isNull()&&(c=R.create(0)),s.push([c])}return a===1?s[0][0]:B.create({calculateValueList:s,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Gp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return L.create(!1)}},Kp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n=L.create(!1)){let r=e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();t===1&&n===1&&(r=e.get(0,0))}if(!r.isArray())return this._handleSingleObject(r,t,n);let i=Math.max(r.isArray()?r.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(r.isArray()?r.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=V(i,a,r,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA));return o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return this._handleSingleObject(e,r,i)})}_handleSingleObject(e,t,n){return e.isError()?e:e.getValue()?t:n}},qp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&i.set(t,n,a.get(t,n))}),i}},Jp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==D.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===D.NA?t:e;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&e.getErrorType()===D.NA&&i.set(t,n,a.get(t,n))}),i}},Yp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(...e){if(e.length%2!=0)return j.create(D.NA);for(let t=0;t<e.length;t++)if(e[t].isError())return e[t];let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),n=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),r=e.map(e=>V(t,n,e,j.create(D.NA))),i=r[0].map((e,t,n)=>{for(let e=0;e<r.length;e+=2){let i=r[e].get(t,n)||I.create(),a=r[e+1].get(t,n)||I.create();if(i.isNull())continue;if(i.isError())return i;let o=i.getValue();if(i.isString()){if(`${o}`.toLocaleUpperCase()===`TRUE`)return a;if(`${o}`.toLocaleUpperCase()===`FALSE`)continue;return j.create(D.VALUE)}if(+o)return a.isNull()?j.create(D.NA):a}return j.create(D.NA)});return t===1&&n===1?i.get(0,0):i}},Xp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){return j.create(D.VALUE)}},Zp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255)}calculate(...e){return j.create(D.VALUE)}},Qp=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(...e){let t=this.getIndexNumValue(e[0]);if(typeof t!=`number`)return t;let n=this.getIndexNumValue(e[1]);if(typeof n!=`number`)return n;if(!(e[2].isValueObject()&&e[2].isLambda()))return j.create(D.VALUE);let r=e[2],i=[];for(let e=0;e<t;e++){i[e]==null&&(i[e]=[]);for(let t=0;t<n;t++){let n=r.execute(R.create(e+1),R.create(t+1));n.isArray()&&(n=n.get(0,0)),i[e][t]=n}}return new xa(i)}isAsync(){return!0}},$p=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(...e){let t=[],n=null,r=0,i=0;for(let a=0;a<e.length;a++){let o=e[a],s=o;if(s.isReferenceObject()&&(s=o.toArrayValueObject()),s.isError())return s;if(a===e.length-1){if(!(o.isValueObject()&&o.isLambda()))return j.create(D.VALUE);n=o}else t.push(o),r=Math.max(r,s.isArray()?s.getRowCount():1),i=Math.max(i,s.isArray()?s.getColumnCount():1)}let a=this._getResultArray(t,n,r,i);return a instanceof j?a:r===1&&i===1?a[0][0]:B.create({calculateValueList:a,rowCount:r,columnCount:i,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,n,r){let i=[];for(let a=0;a<n;a++){let n=[];for(let i=0;i<r;i++){let r=[],o=!1;for(let t=0;t<e.length;t++){let s=e[t],c=null;if(s.isReferenceObject()&&(c=s,s=s.toArrayValueObject()),!s.isArray())if(a===0&&i===0){r.push(c||s);continue}else{n.push(j.create(D.NA)),o=!0;break}let l=s.get(a,i);if(!l){n.push(j.create(D.NA)),o=!0;break}if(c){let{startRow:e,startColumn:t}=c.getRangePosition(),n={startRow:e+a,startColumn:t+i,endRow:e+a,endColumn:t+i};l=this.createReferenceObject(c,n)}r.push(l)}if(o||r.length===0)continue;let s=t.execute(...r);if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return j.create(D.CALC);s=s.get(0,0)}s.isNull()&&(s=R.create(0)),n.push(s)}i.push(n)}return i}},em=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=+e.getValue();return Number.isNaN(t)?j.create(D.VALUE):L.create(!t)}},tm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=!1,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(t=t||!!e.getValue(),n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(t=t||!!i.getValue(),n=!1)}return n?new j(D.VALUE):new L(t)}},nm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r,i;e.isReferenceObject()?(r=e.toArrayValueObject(),i=e):(r=e,i=null);let a,o;return t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),r.isArray()?r.mapValue(e=>this._handleSingleValueObject(e,a,n,i,o)):this._handleSingleValueObject(r,a,n,i,o)}_handleSingleValueObject(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(!(n.isValueObject()&&n.isLambda()&&n.getLambdaPrivacyVarKeys().length===2))return j.create(D.VALUE);let a=n,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,c=e;r&&(c=r);for(let e=0;e<o;e++)for(let n=0;n<s;n++){let r=t.isArray()?t.get(e,n):t;if(r.isError())return r;if(i){let{startRow:t,startColumn:a}=i.getRangePosition(),o={startRow:t+e,startColumn:a+n,endRow:t+e,endColumn:a+n};r=this.createReferenceObject(i,o)}let o=a.execute(c,r);if(o.isError())return o;o.isNull()&&(o=R.create(0)),c=o}return c.isReferenceObject()?c.toArrayValueObject():c}},rm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e,i=null;e.isReferenceObject()&&(r=e.toArrayValueObject(),i=e),r=r;let a=t,o=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),o=t),a=a,r.isError())return r;if(a.isError())return a;if(n.isError())return n;if(!(n.isValueObject()&&n.isLambda()&&n.getLambdaPrivacyVarKeys().length===2))return j.create(D.VALUE);if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.CALC);r=r.get(0,0)}return this._getResult(r,a,n,i,o)}_getResult(e,t,n,r,i){let a=[],o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,c=e;r&&(c=r);for(let e=0;e<o;e++){let r=[];for(let a=0;a<s;a++){if(c.isError()){r.push(c);continue}let o=t.isArray()?t.get(e,a):t;if(o.isError()){c=o,r.push(o);continue}if(i){let{startRow:t,startColumn:n}=i.getRangePosition(),r={startRow:t+e,startColumn:n+a,endRow:t+e,endColumn:n+a};o=this.createReferenceObject(i,r)}let s=n.execute(c,o);if(s.isArray()){let e=s.getRowCount(),t=s.getColumnCount();if(e>1||t>1)return j.create(D.CALC);s=s.get(0,0)}s.isNull()&&(s=R.create(0)),c=s,r.push(s)}a.push(r)}return o===1&&s===1?a[0][0]:B.create({calculateValueList:a,rowCount:o,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},im=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3)}calculate(e,...t){if(e.isError())return e;let n=t.length%2!=0,r=n?t[t.length-1]:I.create();return!e.isArray()&&!t.some(e=>e.isArray())?this._handleNonArrayInputs(e,t,r,n):this._handleArrayInputs(e,t,r,n)}_handleNonArrayInputs(e,t,n,r){for(let n=0;n<t.length-(r?1:0);n+=2){let r=t[n],i=t[n+1];if(!r.isNull()){if(r.isError())return r;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return i.isNull()?j.create(D.NA):i}}return n.isNull()?j.create(D.NA):n}_handleArrayInputs(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,...t.map(e=>e.isArray()?e.getRowCount():1),n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(e=>e.isArray()?e.getColumnCount():1),n.isArray()?n.getColumnCount():1),o=V(i,a,e),s=t.map(e=>V(i,a,e,j.create(D.NA))),c=V(i,a,n,j.create(D.NA));return o.map((e,t,n)=>{for(let i=0;i<s.length-(r?1:0);i+=2){let r=s[i].get(t,n)||I.create(),a=s[i+1].get(t,n)||I.create();if(!r.isNull()){if(r.isError()||e.isError())return r.isError()?r:e;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return a.isNull()?j.create(D.NA):a}}let i=c.get(t,n)||I.create();return i.isNull()?j.create(D.NA):i})}},am=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return L.create(!0)}},om=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=!0,r=null;for(let i of e){if(i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e!=null&&e.isError())return r=e,!1;(e!=null&&e.isBoolean()||e!=null&&e.isNumber())&&(e.getValue()&&t++,n=!1)}),r)return r}else (i.isBoolean()||i.isNumber())&&(i.getValue()&&t++,n=!1)}return n?j.create(D.VALUE):L.create(t%2==1)}};const sm=[[Hp,no.AND],[Up,no.BYCOL],[Wp,no.BYROW],[Gp,no.FALSE],[Kp,no.IF],[qp,no.IFERROR],[Jp,no.IFNA],[Yp,no.IFS],[Xp,no.LAMBDA],[Zp,no.LET],[Qp,no.MAKEARRAY],[$p,no.MAP],[em,no.NOT],[tm,no.OR],[nm,no.REDUCE],[rm,no.SCAN],[im,no.SWITCH],[am,no.TRUE],[om,no.XOR]];var cm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,5)}calculate(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n!=null&&n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;let a=n==null?R.create(1):n,o=r==null?L.create(!0):r,s=i==null?z.create(``):i,c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,a,j.create(D.NA)),p=V(c,l,o,j.create(D.NA)),m=V(c,l,s,j.create(D.NA));return u.map((e,t,n)=>{let r=d.get(t,n)||j.create(D.NA),i=f.get(t,n)||j.create(D.NA),a=p.get(t,n)||j.create(D.NA),o=m.get(t,n)||j.create(D.NA);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:o.isError()?o:this._calculateSingleCell(e,r,i,a,o)})}_calculateSingleCell(e,t,n,r,i){let a=Number.parseInt(`${Number(e.getValue())-1}`),o=Number.parseInt(`${Number(t.getValue())-1}`),s=Number.parseInt(`${Number(n.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(s)||s<1||s>4)return j.create(D.VALUE);let c=lm(s),l=this.getZeroOrOneByOneDefault(r),u=ir(`${i.getValue()}`),d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:c,endAbsoluteRefType:c},f=r&&!l?gs(d):Gn(d);return z.create(u===``?f:`${u}!${f}`)}};function lm(t){switch(t){case 1:return e.ALL;case 2:return e.ROW;case 3:return e.COLUMN;case 4:return e.NONE;default:return e.ALL}}var um=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?R.create(1):j.create(D.VALUE)}},dm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let n=e;if(n.isError())return n;if(n.isReferenceObject()&&(n=n.toArrayValueObject()),!n.isArray()){let e=n.convertToNumberObjectValue();return e.isError()?e:t[Math.trunc(+e.getValue())-1]||j.create(D.VALUE)}let r=n.isArray()?n.getRowCount():1,i=n.isArray()?n.getColumnCount():1;t.forEach((e,t)=>{if(e.isArray()){let t=e;r=Math.max(r,t.getRowCount()),i=Math.max(i,t.getColumnCount())}else r=Math.max(r,1),i=Math.max(i,1)});let a=V(r,i,n,j.create(D.NA)),o=t.map(e=>{let t=e;return t.isReferenceObject()&&(t=t.toArrayValueObject()),V(r,i,t,j.create(D.NA))});return a.map((e,t,n)=>{if(e.isError())return e;let r=e.convertToNumberObjectValue();if(r.isError())return r;let i=o[Math.trunc(+r.getValue())-1],a=(i==null?void 0:i.get(t,n))||j.create(D.VALUE);return a!=null&&a.isNull()&&(a=R.create(0)),a})}},fm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=[];for(let a=0;a<t.length;a++){let o=t[a];if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;let s=Math.trunc(+o.getValue());if(s===0||Math.abs(s)>r)return j.create(D.VALUE);let c=e;r>1&&(c=s<0?e.slice(void 0,[s+r,s+1+r]):e.slice(void 0,[s-1,s]));for(let t=0;t<n;t++)i[t]||(i[t]=[]),e.isArray()?i[t].push(c.get(t,0)):i[t].push(e)}return B.create({calculateValueList:i,rowCount:i.length,columnCount:i[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},pm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=e.isArray()?e.getRowCount():1,r=[];for(let i=0;i<t.length;i++){let a=t[i];if(a.isArray()){let e=a.getRowCount(),t=a.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.trunc(+a.getValue());if(o===0||Math.abs(o)>n)return j.create(D.VALUE);let s=e;n>1&&(s=o<0?e.slice([o+n,o+1+n]):e.slice([o-1,o])),e.isArray()?r.push(s.getArrayValue()[0]):r.push([e])}return B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},mm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,1)}calculate(e){if(e==null)return R.create(this.column+1);if(e.isError())return e;if(!e.isArray())return j.create(D.NA);let t=e.getCurrentColumn(),n=e.getColumnCount(),r=[];for(let e=0;e<n;e++)r.push(R.create(t+e+1));let i={calculateValueList:[r],rowCount:1,columnCount:n,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column};return B.create(i)}},hm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return j.create(D.NA);let t=e.getColumnCount();return R.create(t)}},gm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n,i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,j.create(D.NA)),l=V(o,s,r,j.create(D.NA));if(o>1||s>1)return c.mapValue((t,n,r)=>{let o=l.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,i,a);return s?c:e.isArray()?j.create(D.VALUE):e});if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let u=t.isArray()?t.get(0,0):t,d=r.isArray()?r.get(0,0):r,{isError:f,errorObject:p,rowsValue:m,columnsValue:h}=this._checkRowsColumns(u,d,i,a);return f?p:this._getResultArray(e,m,h,i,a)}_checkRowsColumns(e,t,n,r){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:j.create(D.VALUE)}:Math.abs(i)>=n||Math.abs(a)>=r?{isError:!0,errorObject:j.create(D.CALC)}:{isError:!1,rowsValue:i,columnsValue:a}}_getResultArray(e,t,n,r,i){let a=t>=0?[t,r]:[0,r+t],o=n>=0?[n,i]:[0,i+n],s;return s=t===0&&n===0?e:t===0?e.slice(void 0,o):n===0?e.slice(a,void 0):e.slice(a,o),s=s.map(e=>e.isNull()?R.create(0):e),r-t===1&&i-n===1?s.get(0,0):s}},_m=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t,s=n==null?R.create(a):n,c=r==null?j.create(D.NA):r;t.isNull()&&(o=R.create(i)),s.isNull()&&(s=R.create(a));let l=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),u=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),d=V(l,u,o,j.create(D.NA)),f=V(l,u,s,j.create(D.NA));if(l>1||u>1)return d.mapValue((t,n,r)=>{let o=f.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let{isError:s,errorObject:l}=this._checkRowsColumnsPadWith(t,o,c,i,a);return s?l:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let p=o.isArray()?o.get(0,0):o,m=s.isArray()?s.get(0,0):s,{isError:h,errorObject:g,rowsValue:_,columnsValue:v,padWithObject:y}=this._checkRowsColumnsPadWith(p,m,c,i,a);return h?g:this._getResultArray(e,_,v,y,i,a)}_checkRowsColumnsPadWith(e,t,n,r,i){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o)||Math.abs(a)<r||Math.abs(o)<i)return{isError:!0,errorObject:j.create(D.VALUE)};let s=n;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:j.create(D.VALUE)};s=n.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:s}}_getResultArray(e,t,n,r,i,a){let o=[];o=e.isArray()?e.map(e=>e.isNull()?R.create(0):e).getArrayValue():[[e]];let s=Math.max(0,t-i),c=Math.max(0,n-a);for(let e=0;e<s;e++)o.push(Array(a).fill(r));for(let e=0;e<c;e++)o.forEach(e=>{e.push(r)});return t===1&&n===1?o[0][0]:B.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},vm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?j.create(D.CALC):n;if(e.isError())return e;if(t.isError())return t;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1;return o>1&&s>1||o===1&&s!==a||s===1&&o!==i?j.create(D.VALUE):i===1&&a===1?this._getResultArrayByR1C1(e,t,r):o===1?s===a?this._getResultArrayByR1(i,a,e,t,r):j.create(D.VALUE):s===1?o===i?this._getResultArrayByC1(i,a,e,t,r):j.create(D.VALUE):r}_getResultArrayByR1C1(e,t,n){let r=e,i=t;return r.isArray()&&(r=r.get(0,0)),i.isArray()&&(i=i.get(0,0)),i.isString()&&(i=i.convertToNumberObjectValue()),i.isError()?i:+i.getValue()?r:n}_getResultArrayByR1(e,t,n,r,i){let a=[];for(let i=0;i<t;i++){let t=r.get(0,i);if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(+t.getValue())for(let t=0;t<e;t++){a[t]||(a[t]=[]);let e=n.get(t,i);a[t].push(e)}}return a.length===0?i:B.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,n,r,i){let a=[];for(let i=0;i<e;i++){let e=r.get(i,0);if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return e;if(!+e.getValue())continue;let o=[];for(let e=0;e<t;e++){let t=n.get(i,e);o.push(t)}a.push(o)}return a.length===0?i:B.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},ym=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0),E(this,`needsFormulaDataModel`,!0)}calculate(e){var t;if(!e.isReferenceObject())return j.create(D.NA);let n=e.getUnitId(),r=e.getSheetId(),i=(t=e.getUnitData()[n])==null||(t=t[r])==null?void 0:t.cellData,{startRow:a,startColumn:o}=e.getRangePosition(),s=e.toArrayValueObject().mapValue((e,t,s)=>{let c=i.getValue(a+t,o+s);if(c!=null&&c.f||c!=null&&c.si){let e=this._formulaDataModel.getFormulaStringByCell(a+t,o+s,r,n);return z.create(e)}return j.create(D.NA)});return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}},bm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return j.create(D.REF);if(!t.isArray()||n.isError()||r!=null&&r.isError())return j.create(D.NA);let i=this.getZeroOrOneByOneDefault(r);if(i==null)return j.create(D.VALUE);let a=this.getIndexNumValue(n);if(a instanceof j)return a;let o=t.slice([0,1]),s=t.slice([a-1,a]);return o==null||s==null?j.create(D.REF):e.isArray()?e.map(e=>this._handleSingleObject(e,o,s,i)):this._handleSingleObject(e,o,s,i)}_handleSingleObject(e,t,n,r){return r===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}},xm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getRowCount():1)),n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<t;e++){n[e]||(n[e]=[]);for(let t=0;t<o;t++){let r=i;i.isArray()&&(r=i.get(e,t)),e>a-1||!r?n[e].push(j.create(D.NA)):n[e].push(r)}}}return B.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Sm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(e.isArray()&&(n=e.get(0,0)),n.isError())return n;let r=t;if(t!=null&&t.isArray()&&(r=t.get(0,0)),r!=null&&r.isError())return r;let i=`${n.getValue()}`;n.isNull()&&(i=``);let a=i;return r&&(a=`${r.getValue()}`,r.isNull()?a=`0`:r.isBoolean()&&(a=a.toLocaleUpperCase())),z.create(a,{isHyperlink:!0,hyperlinkUrl:i})}},Cm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1,i!=null&&i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1,i!=null&&i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=t?V(a,o,t,j.create(D.NA)):void 0,l=n?V(a,o,n,j.create(D.NA)):void 0,u=r?V(a,o,r,j.create(D.NA)):void 0,d=i?V(a,o,i,j.create(D.NA)):void 0,f=s.mapValue((e,t,n)=>{if(e.isError())return e;let r=c?c.get(t,n):void 0;if(r!=null&&r.isError())return r;let i=l?l.get(t,n):void 0;if(i!=null&&i.isError())return i;let a=u?u.get(t,n):void 0;if(a!=null&&a.isError())return a;let o=d?d.get(t,n):void 0;return o!=null&&o.isError()?o:this._handleSingleObject(e,r,i,a,o)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){if(!e.isString())return j.create(D.VALUE);let a=e.getValue(),o=``;t&&(t.isBoolean()?o=t.getValue()?`TRUE`:`FALSE`:t.isNull()||(o=`${t.getValue()}`));let s=n==null?R.create(0):n;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let c=Math.abs(Math.trunc(+s.getValue()));if(c<0||c>3||[0,1,2].includes(c)&&(r||i))return j.create(D.VALUE);let l=r==null?R.create(0):r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=Math.ceil(+l.getValue()),d=i==null?R.create(0):i;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;let f=Math.ceil(+d.getValue());return c===3&&u<1&&f<1?j.create(D.VALUE):z.create(``,{isImage:!0,imageInfo:{source:a,altText:o,sizing:c,height:u,width:f}})}},wm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4),E(this,`needsReferenceObject`,!0)}calculate(e,t,n,r){if(e.isError())return e;let i=this._getReferenceCounts(e),a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=n;o!=null&&o.isReferenceObject()&&(o=n.toArrayValueObject());let s=r==null?R.create(1):r;s.isReferenceObject()&&(s=r.toArrayValueObject());let c=Math.max(a.isArray()?a.getRowCount():1,o!=null&&o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(a.isArray()?a.getColumnCount():1,o!=null&&o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(c===1&&l===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,s.isArray()?s.get(0,0):s,i);{let t=V(c,l,a,j.create(D.NA)),n=o?V(c,l,o,j.create(D.NA)):[],r=V(c,l,s,j.create(D.NA));return t.mapValue((t,a,s)=>{let c=o?n.get(a,s):void 0,l=r.get(a,s),u=this._handleSingleObject(e,t,c,l,i);return u.isReferenceObject()?u.getCellByPosition():u})}}_handleSingleObject(e,t,n,r,i){let a,o,s;if(n){let{isError:e,errorObject:i,variants:c}=X(t,n,r);if(e)return i;a=c[0],o=c[1],s=c[2]}else{let{isError:e,errorObject:n,variants:i}=X(t,r);if(e)return n;a=i[0],s=i[1]}let c=Math.floor(+s.getValue());if(c<0)return j.create(D.VALUE);if(c>i.length)return j.create(D.REF);let l=i[c-1],u=0,d=0;if(l.rowCount===1&&!n?d=Math.floor(+a.getValue()):(u=Math.floor(+a.getValue()),n&&(d=Math.floor(+o.getValue()))),u<0||d<0)return j.create(D.VALUE);if(u>l.rowCount||d>l.columnCount)return j.create(D.REF);let f=e;return c>1&&(f=e.getCubeValues()[c-1]),f.isReferenceObject()?this._calculateReferenceObject(f,u,d):this._calculateArrayObject(f,u,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(e=>({rowCount:e.getRowCount(),columnCount:e.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,n){let{startRow:r,endRow:i,startColumn:a,endColumn:o}=e.getRangePosition(),s=0,c=0,l=0,u=0;if(t===0?(s=r,c=i):s=c=r+t-1,n===0?(l=a,u=o):l=u=a+n-1,s>i||l>o)return j.create(D.REF);let d={startRow:s,startColumn:l,endRow:c,endColumn:u};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,n){return!e.isArray()||t===0&&n===0?e:t===0?e.slice(void 0,[n-1,n]):n===0?e.slice([t-1,t],void 0):e.get(t-1,n-1)}},Tm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let n=this.getZeroOrOneByOneDefault(t);n==null&&(n=1);let r=e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();if(t>1||n>1)return e.map(()=>j.create(D.VALUE));r=e.getFirstCell()}return this._handleSingleObject(r,n)}_handleSingleObject(e,t){let n=`${e.getValue()}`;if(n.trim()===``)return j.create(D.REF);let r=this._convertToDefinedName(n);if(t===0){let{range:e,sheetName:t,unitId:n}=hs(r),i=new Sa(e);return i.setForcedUnitIdDirect(n),i.setForcedSheetName(t),this._setDefault(i)}if(gn(r))return this._setDefault(new Ca(r));if(vn(r))return this._setDefault(new Ta(r));if(yn(r))return this._setDefault(new wa(r));let{range:i,sheetName:a,unitId:o}=Jr(r);if(Number.isNaN(i.startRow)||i.endRow+1>y||Number.isNaN(i.startColumn)||i.endColumn+1>v)return j.create(D.REF);let s=new Sa(i);return s.setForcedUnitIdDirect(o),s.setForcedSheetName(a),this._setDefault(s)}_setDefault(e){return this.unitId==null||this.subUnitId==null?j.create(D.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){let t=this.getDefinedName(e);if(t==null)return e;let n=t.formulaOrRefString;return n==null?e:n.startsWith(O.EQUALS)?n.slice(1):n}},Em=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsExpandParams`,!0)}calculate(e,t,n){return e.isError()?e:t.isError()?j.create(D.REF):t.isArray()?n!=null&&n.isError()?n:t.getColumnCount()===1||t.getRowCount()===1?n!=null&&!n.isArray()?j.create(D.REF):this._handleVector(e,t,n):this._handleArray(e,t):j.create(D.VALUE)}_handleVector(e,t,n){let r=n;if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return j.create(D.REF);return e.isArray()?e.map(e=>this.binarySearch(e,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){let n=t.getRowCount(),r=t.getColumnCount(),i,a;return r>n?(i=t.slice([0,1]),a=t.slice([n-1,n])):(i=t.slice(void 0,[0,1]),a=t.slice(void 0,[r-1,r])),i==null||a==null?j.create(D.VALUE):e.isArray()?e.map(e=>this.binarySearch(e,i,a)):this.binarySearch(e,i,a)}},Dm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return j.create(D.REF);if(!t.isArray())return j.create(D.VALUE);let r=t.getRowCount(),i=t.getColumnCount();if(r!==1&&i!==1||n!=null&&n.isError())return j.create(D.NA);let a=this.getMatchTypeValue(n);return a==null?j.create(D.VALUE):e.isArray()?e.map(e=>this._handleSingleObject(e,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,n){let r=e.isNull()?R.create(0):e,i=this._getSearchModeValue(n),a=t.orderSearch(r,i);if(a==null)return j.create(D.NA);if(a instanceof j)return a;let o=t.getRowCount()===1?a.column+1:a.row+1;return R.create(o)}_getSearchModeValue(e){switch(e){case 1:return yi.MIN;case 0:return yi.NORMAL;case-1:return yi.MAX}}},Om=class extends ya{constructor(e,t=[]){super(e),E(this,`_areas`,[]),this._areas=t}dispose(){this._areas.forEach(e=>{e.forEach(e=>e.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(let t of this._flatAreas())t.isError()||(e+=t.getRowCount());return e}getColumnCount(){let e=0;for(let 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(n=>{n.isError()||n.setRefOffset(e,t)})}_getReferenceArea(){return this._flatAreas().find(e=>!e.isError())}getUnitId(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getUnitId())==null?super.getUnitId():e}getSheetId(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getSheetId())==null?super.getSheetId():e}getActiveSheetRowCount(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getActiveSheetRowCount())==null?0:e}getActiveSheetColumnCount(){var e,t;return(e=(t=this._getReferenceArea())==null?void 0:t.getActiveSheetColumnCount())==null?0:e}iterator(e){for(let t of this._areas){let n=!1;for(let r of t){if(r.isError())continue;let t=!1;if(r.iterator((r,i,a)=>{let o=e(r,i,a);return o===!1?(t=!0,n=!0,!1):o}),t)break}if(n)return}}getFirstCell(){let e=this._getReferenceArea();return e?e.getFirstCell():super.getFirstCell()}toArrayValueObject(){var e,t;let n=this._areas.length;if(n===0)return Ea([],0,0);let r=(e=(t=this._areas[0])==null?void 0:t.length)==null?0:e,i=[];for(let e=0;e<n;e++){let t=this._areas[e];if(t){i[e]=i[e]||[];for(let n=0;n<r;n++){let r=t[n];if(!r)continue;if(r.isError()){i[e][n]=r;continue}let a=null;r.iterator(e=>(a=e==null?null:e,!1)),a!=null&&(i[e][n]=a),i[e][n]=I.create()}}}return Ea(i,n,r)}getRangePosition(){let e=this._flatAreas();if(!e.length)return super.getRangePosition();let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:c}=a.getRangePosition();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)||(e<t&&(t=e),o<n&&(n=o),s>r&&(r=s),c>i&&(i=i<c?c:i))}return!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?super.getRangePosition():{startRow:t,startColumn:n,endRow:r,endColumn:i}}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}getRangeData(){let e=this._flatAreas();if(!e.length)return super.getRangeData();let t=1/0,n=1/0,r=-1/0,i=-1/0;for(let a of e){if(a.isError())continue;let{startRow:e,startColumn:o,endRow:s,endColumn:c}=a.getRangeData();!Number.isFinite(e)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(c)||(e<t&&(t=e),o<n&&(n=o),s>r&&(r=s),c>i&&(i=c))}return!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)?super.getRangeData():{startRow:t,startColumn:n,endRow:r,endColumn:i}}},km=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,5),E(this,`needsReferenceObject`,!0)}isAddress(){return!0}calculate(e,t,n,r,i){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;if(!e.isReferenceObject())return j.create(D.VALUE);let a=e.getRowCount(),o=e.getColumnCount(),s=t;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=n;c.isReferenceObject()&&(c=c.toArrayValueObject());let l=r==null?R.create(a):r;l.isReferenceObject()&&(l=l.toArrayValueObject()),l.isNull()&&(l=R.create(a));let u=i==null?R.create(o):i;u.isReferenceObject()&&(u=u.toArrayValueObject()),u.isNull()&&(u=R.create(o));let d=Math.max(s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1);if(s=s,c=c,l=l,u=u,d===1&&f===1)return s=s.isArray()?s.get(0,0):s,c=c.isArray()?c.get(0,0):c,l=l.isArray()?l.get(0,0):l,u=u.isArray()?u.get(0,0):u,this._handleSingleObject(e,s,c,l,u);let p=V(d,f,s,j.create(D.NA)),m=V(d,f,c,j.create(D.NA)),h=V(d,f,l,j.create(D.NA)),g=V(d,f,u,j.create(D.NA)),_=[];return p.iterator((t,n,r)=>{let i=m.get(n,r),a=h.get(n,r),o=g.get(n,r);if(_[n]=_[n]||[],t==null){_[n][r]=j.create(D.NA);return}if(t.isError()){_[n][r]=t;return}if(i.isError()){_[n][r]=i;return}if(a.isError()){_[n][r]=a;return}if(o.isError()){_[n][r]=o;return}let s=this._handleSingleObject(e,t,i,a,o);_[n][r]=s}),new Om(``,_)}_handleSingleObject(e,t,n,r,i){let{startRow:a,startColumn:o}=e.getRangePosition(),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let c=n;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;let l=+s.getValue(),u=+c.getValue();if(typeof l!=`number`||typeof u!=`number`)return j.create(D.VALUE);let d=a+l,f=o+u;if(d<0||f<0||d>=y||f>=v)return j.create(D.REF);let p=this.getIndexNumValue(r),m=this.getIndexNumValue(i);if(typeof p!=`number`||typeof m!=`number`)return j.create(D.VALUE);if(p===0||m===0)return j.create(D.REF);let h=p>0?d+p-1:d+p+1,g=m>0?f+m-1:f+m+1;if(h<0||g<0||h>=y||g>=v)return j.create(D.REF);let _={startRow:d<h?d:h,startColumn:f<g?f:g,endRow:d>h?d:h,endColumn:f>g?f:g};return this.createReferenceObject(e,_)}},Am=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,1)}calculate(e){if(e==null)return R.create(this.row+1);if(e.isError())return e;if(!e.isArray())return j.create(D.NA);let t=e.getCurrentRow(),n=e.getRowCount(),r=[];for(let e=0;e<n;e++)r.push([R.create(t+e+1)]);let i={calculateValueList:r,rowCount:n,columnCount:1,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column};return B.create(i)}},jm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return j.create(D.NA);let t=e.getRowCount();return R.create(t)}},Mm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=t==null?R.create(1):t,a=n==null?R.create(1):n,o=r==null?L.create(!1):r;if(i.isNull()&&(i=R.create(1)),o.isArray()){let t=o.getRowCount(),n=o.getColumnCount();if(t===1&&n===1){let t=o.get(0,0);return this._handleSingleObject(e,i,a,t)}return o.map(t=>{let n=this._handleSingleObject(e,i,a,t);return n.isArray()?n.get(0,0):n})}return this._handleSingleObject(e,i,a,o)}_handleSingleObject(e,t,n,r){if(e.isError())return e;let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;let s=Math.floor(+o.getValue());if(s<1)return j.create(D.VALUE);let c=this._checkArrayError(n);if(c.isError())return c;let l=Math.floor(+c.getValue());if(l!==-1&&l!==1)return j.create(D.VALUE);let u=r;if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(!e.isArray()||i===1&&a===1)return e;let d=+u.getValue();return this._getResult(e,s,l,d,i,a)}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,n,r,i,a){if(r){if(t>i)return j.create(D.VALUE);let r=e.transpose().getArrayValue();return r.sort(this._sort(t-1,n)),B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return j.create(D.VALUE);let r=e.getArrayValue();return r.sort(this._sort(t-1,n)),B.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){let n=bi();return t===1?this._sortAsc(e,n):this._sortDesc(e,n)}_sortAsc(e,t){return(n,r)=>{let i=n[e],a=r[e];if(i==null||i.isNull())return 1;if(a==null||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return 1;if(a.isError())return-1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&o===!0?1:a.isBoolean()&&s===!0?-1:i.isBoolean()&&o===!1?1:a.isBoolean()&&s===!1?-1:i.isNumber()&&a.isNumber()?o-+s:t(o,s)}}_sortDesc(e,t){return(n,r)=>{let i=n[e],a=r[e];if(i==null||i.isNull())return 1;if(a==null||a.isNull())return-1;if(i.isError()&&a.isError())return 0;if(i.isError())return-1;if(a.isError())return 1;let o=i.getValue(),s=a.getValue();return i.isBoolean()&&o===!0?-1:a.isBoolean()&&s===!0?1:i.isBoolean()&&o===!1?-1:a.isBoolean()&&s===!1?1:i.isNumber()&&a.isNumber()?s-+o:t(s,o)}}},Nm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255)}calculate(e,...t){t.length===1&&t.push(R.create(1));let n=this._getVariantsError(e,...t),{maxRowLength:r,maxColumnLength:i}=Na(t);if(n.isError()){let e=V(r,i,n);return r===1&&i===1?e.get(0,0):e}let a=t.map((e,t)=>t%2==0?e:V(r,i,e,j.create(D.NA))),o=this._getResultArray(e,a,r,i);return r===1&&i===1?o[0][0]:B.create({calculateValueList:o,rowCount:o.length,columnCount:o[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 e=0;e<t.length;e++){let n=t[e];if(n.isError())return n}if(t.length<2||t.length%2!=0)return j.create(D.VALUE);let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((i>1||a>1)&&(i>1&&a>1||i===1&&a!==r||a===1&&i!==n))return j.create(D.VALUE);for(let e=2;e<t.length;e++){if(e%2==1)continue;let n=t[e].isArray()?t[e].getRowCount():1,r=t[e].isArray()?t[e].getColumnCount():1;if(n!==i||r!==a)return j.create(D.VALUE)}return L.create(!0)}_getResultArray(e,t,n,r){let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t[0].isArray()?t[0].getRowCount():1,s=t[0].isArray()?t[0].getColumnCount():1,c=[];for(let l=0;l<n;l++){c[l]=[];for(let u=0;u<r;u++){let{isError:d,errorObject:f,byArrays:p,sortOrders:m}=this._getByArraysAndSortOrders(t,l,u,s);if(d){c[l].push(f);continue}if(!e.isArray()||i===1&&a===1){c[l].push(e);continue}let h=e.getArrayValue();o===1&&s===1||(o===1?(h=h.concat(p),h=this._transposeArray(h),h.sort(this._sort(i,m)),h=this._transposeArray(h).slice(0,i)):s===1&&(h=this._transposeArray(h),h=h.concat(p),h=this._transposeArray(h),h.sort(this._sort(a,m)),h=h.map(e=>e.slice(0,a))));let g=B.create({calculateValueList:h,rowCount:h.length,columnCount:h[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(n>1||r>1){c[l].push(g.get(0,0));continue}c[l].push(g)}}return c}_getByArraysAndSortOrders(e,t,n,r){let i=[],a=[],o=!1,s=null;for(let c=0;c<e.length;c++){if(c%2==1)continue;let l=e[c],u=e[c+1].get(t,n);if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError()){o=!0,s=u;break}let d=Math.floor(+u.getValue());if(d!==-1&&d!==1){o=!0,s=j.create(D.VALUE);break}if(a.push(d),l.isArray()){let e=l.getArrayValue();r===1&&(e=this._transposeArray(e)),i.push(e[0])}else i.push([l])}return{isError:o,errorObject:s,byArrays:i,sortOrders:a}}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}_sort(e,t){let n=bi();return(r,i)=>{let a=r[e],o=i[e],s=this._compare(a,o,t[0],n);if(s===0&&t.length>1){for(let c=1;c<t.length;c++)if(a=r[e+c],o=i[e+c],s=this._compare(a,o,t[c],n),s!==0)return s}return s}}_compare(e,t,n,r){return n===1?this._asc(e,t,r):this._desc(e,t,r)}_asc(e,t,n){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;let r=e.getValue(),i=t.getValue();return e.isBoolean()&&r===!0?1:t.isBoolean()&&i===!0?-1:e.isBoolean()&&r===!1?1:t.isBoolean()&&i===!1?-1:e.isNumber()&&t.isNumber()?r-+i:n(r,i)}_desc(e,t,n){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;let r=e.getValue(),i=t.getValue();return e.isBoolean()&&r===!0?-1:t.isBoolean()&&i===!0?1:e.isBoolean()&&r===!1?-1:t.isBoolean()&&i===!1?1:e.isNumber()&&t.isNumber()?i-+r:n(i,r)}},Pm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=t,o=n==null?R.create(i):n;t.isNull()&&(a=R.create(r)),o.isNull()&&(o=R.create(i));let s=Math.max(a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),c=Math.max(a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),l=V(s,c,a,j.create(D.NA)),u=V(s,c,o,j.create(D.NA));if(s>1||c>1)return l.mapValue((t,n,a)=>{let o=u.get(n,a);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,r,i);return s?c:e.isArray()?j.create(D.VALUE):e});if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);let d=a.isArray()?a.get(0,0):a,f=o.isArray()?o.get(0,0):o,{isError:p,errorObject:m,rowsValue:h,columnsValue:g}=this._checkRowsColumns(d,f,r,i);return p?m:this._getResultArray(e,h,g,r,i)}_checkRowsColumns(e,t,n,r){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let i=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(i)||Number.isNaN(a)?{isError:!0,errorObject:j.create(D.VALUE)}:Math.abs(i)===0||Math.abs(a)===0?{isError:!0,errorObject:j.create(D.CALC)}:(i>n&&(i=n),a>r&&(a=r),{isError:!1,rowsValue:i,columnsValue:a})}_getResultArray(e,t,n,r,i){if(!e.isArray())return e;let a=t>=0?[0,t]:[r+t,r],o=n>=0?[0,n]:[i+n,i],s;return s=t===r&&n===i?e:t===r?e.slice(void 0,o):n===i?e.slice(a,void 0):e.slice(a,o),s=s.map(e=>e.isNull()?R.create(0):e),t===1&&n===1?s.get(0,0):s}},Fm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(0):t,i=n==null?L.create(!1):n,a=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,r,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),l=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(l))return j.create(D.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?j.create(D.CALC):a>1||o>1||u.length===1?u[0]:B.create({calculateValueList:u.map(e=>[e]),rowCount:u.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?l.get(0,0):l}_getArrayValueByColumn(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<i;e++)for(let i=0;i<r;i++){let r=n.get(i,e);this._isIgnore(r,t)||a.push(r.isNull()?R.create(0):r)}return a}_getArrayValueByRow(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<r;e++)for(let r=0;r<i;r++){let i=n.get(e,r);this._isIgnore(i,t)||a.push(i.isNull()?R.create(0):i)}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}}},Im=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(0):t,i=n==null?L.create(!1):n,a=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,r,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(t.isError())return t;if(i.isError())return i;let s=Math.trunc(+t.getValue()),l=+i.getValue();if(Number.isNaN(s)||s<0||s>3||Number.isNaN(l)||e.isNull())return j.create(D.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?j.create(D.CALC):a>1||o>1||u.length===1?u[0]:B.create({calculateValueList:[u],rowCount:1,columnCount:u.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?l.get(0,0):l}_getArrayValueByColumn(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<i;e++)for(let i=0;i<r;i++){let r=n.get(i,e);this._isIgnore(r,t)||a.push(r.isNull()?R.create(0):r)}return a}_getArrayValueByRow(e,t){let n=e,r=n.getRowCount(),i=n.getColumnCount(),a=[];for(let e=0;e<r;e++)for(let r=0;r<i;r++){let i=n.get(e,r);this._isIgnore(i,t)||a.push(i.isNull()?R.create(0):i)}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}}},Lm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();return t===1&&n===1?e.get(0,0):e.transpose()}return e}},Rm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?L.create(!1):t,i=n==null?L.create(!1):n,a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1,s=Math.max(r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),c=Math.max(r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),l=V(s,c,r,j.create(D.NA)),u=V(s,c,i,j.create(D.NA)),d=l.map((t,n,r)=>{let i=t,l=u.get(n,r);if(e.isError())return e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let d=+i.getValue(),f=+l.getValue(),p;return p=!d&&a===1||d&&o===1?e:this._getResult(e,d,f),(s>1||c>1)&&p!=null&&p.isArray()?p.get(0,0):p});return s===1&&c===1?d.get(0,0):d}_getResult(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,a=e.getArrayValue(),o=r,s=i;t&&(a=this._transposeArray(a),o=i,s=r);let c=this._getRepeatRows(a,o,s);if(c.length>0){let e=[];c.forEach(t=>{t.forEach((t,r)=>{(r!==0||n)&&e.push(t)})}),a=a.filter((t,n)=>!e.includes(n))}return a.length===0?j.create(D.CALC):(t&&(a=this._transposeArray(a)),B.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,n){let r=[];for(let i=0;i<n;i++)if(i===0){let n=Array(t).fill(null).map((t,n)=>({r:n,valueObject:e[n][i]}));r=this._getRepeatRowsByObjects(n)}else{if(r.length===0)break;let t=[];r.forEach(n=>{let r=n.map(t=>({r:t,valueObject:e[t][i]})),a=this._getRepeatRowsByObjects(r);t=t.concat(a)}),r=t}return r}_getRepeatRowsByObjects(e){let t=new Map;return e.forEach(e=>{let n=e.r,r=e.valueObject,i=r.getValue();if(r.isNull()?i=null:r.isString()&&w(i)&&(i=+i),!t.has(i))t.set(i,[n]);else{let e=t.get(i);e.push(n),t.set(i,e)}}),Array.from(t.values()).filter(e=>e.length>1)}_transposeArray(e){let t=e.length,n=e[0].length,r=[];for(let i=0;i<n;i++){r[i]=[];for(let n=0;n<t;n++)r[i][n]=e[n][i]}return r}},zm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return j.create(D.VALUE);if(n.isError())return n;if(r!=null&&r.isError())return r;let i=r==null?L.create(!0):r;return ja(e)&&ja(i)&&n.isArray()?this._handleArrayColIndexNum(e,t,n,i):this._handleNonArrayColIndexNum(e,t,n,i)}_handleArrayColIndexNum(e,t,n,r){let i=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(r);if(a==null)return j.create(D.VALUE);let o,s=[];return n.iterator((e,n,r)=>{if(e==null)return o=j.create(D.VALUE),!1;let c=this._handleTableArray(i,t,e,a);if(c.isError())return o=c,!1;s[n]===void 0&&(s[n]=[]),s[n][r]=c}),o||Ea(s,s.length,s[0].length,this.unitId||``,this.subUnitId||``)}_handleNonArrayColIndexNum(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e),s=V(i,a,r);return o.map((e,r,i)=>{if(e.isError())return e;let a=s.get(r,i);if(a==null)return j.create(D.VALUE);if(a.isError())return a;let o=this.getZeroOrOneByOneDefault(a);return o==null?j.create(D.VALUE):this._handleTableArray(e,t,n,o)})}_handleTableArray(e,t,n,r){let i=this.getIndexNumValue(n);if(i instanceof j)return i;if(i=Math.floor(i),i<1)return j.create(D.VALUE);let a=t.slice(void 0,[0,1]);if(a==null)return j.create(D.VALUE);let o=t.slice(void 0,[i-1,i]);return o==null?j.create(D.REF):this._handleSingleObject(e,a,o,r)}_handleSingleObject(e,t,n,r){return r===0?this.equalSearch(e,t,n):this.binarySearch(e,t,n)}},Bm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=Math.max(...e.map(e=>e.isArray()?e.getColumnCount():1)),n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++){let r=[];for(let n=0;n<t;n++){let t=i;i.isArray()&&(t=i.get(e,n)),n>o-1||!t?r.push(j.create(D.NA)):r.push(t)}n.push(r)}}return B.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Vm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?j.create(D.NA):n;r.isNull()&&(r=j.create(D.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,j.create(D.NA)),l=V(o,s,r,j.create(D.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return j.create(D.VALUE);if(u<1)return j.create(D.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],f=this._getWrapArray(d,u,c);return o>1||s>1||f.length===1&&f[0].length===1?f[0][0]:B.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&s===1?u.get(0,0):u}_getWrapArray(e,t,n){let r=Math.ceil(e.length/t),i=r>1?t:e.length,a=[];for(let t=0;t<r;t++)for(let r=0;r<i;r++){a[r]||(a[r]=[]);let o=t*i+r;o<e.length?a[r].push(e[o].isNull()?R.create(0):e[o]):a[r].push(n)}return a}},Hm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?j.create(D.NA):n;r.isNull()&&(r=j.create(D.NA));let i=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),c=V(o,s,t,j.create(D.NA)),l=V(o,s,r,j.create(D.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return j.create(D.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return j.create(D.VALUE);if(u<1)return j.create(D.NUM);let d=e.isArray()?e.getArrayValue().flat():[e],f=this._getWrapArray(d,u,c);return o>1||s>1||f.length===1&&f[0].length===1?f[0][0]:B.create({calculateValueList:f,rowCount:f.length,columnCount:f[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&s===1?u.get(0,0):u}_getWrapArray(e,t,n){let r=Math.ceil(e.length/t),i=r>1?t:e.length,a=[];for(let t=0;t<r;t++){let r=[];for(let a=0;a<i;a++){let o=t*i+a;o<e.length?r.push(e[o].isNull()?R.create(0):e[o]):r.push(n)}a.push(r)}return a}},Um=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?j.create(D.NA):r;r!=null&&r.isNull()&&(o=j.create(D.NA));let s=i==null?R.create(0):i;i!=null&&i.isNull()&&(s=R.create(0));let c=a==null?R.create(1):a;if(a!=null&&a.isNull()&&(c=R.create(1)),e.isError())return e;let l=t.isArray()?t.getRowCount():1,u=t.isArray()?t.getColumnCount():1,d=n.isArray()?n.getRowCount():1,f=n.isArray()?n.getColumnCount():1;if(l!==1&&u!==1||l===1&&u>1&&u!==f||u===1&&l>1&&l!==d)return j.create(D.VALUE);if(s.isError())return s;if(c.isError())return c;let p=this.getIndexNumValue(s);if(p instanceof j)return p;let m=this.getIndexNumValue(c);return m instanceof j?m:this._getResult(e,Fa(t),Fa(n),o,p,m,l,u,d,f)}_getResult(e,t,n,r,i,a,o,s,c,l){let u=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(u>1||d>1){let s;return s=o===1?n.slice([0,1]):n.slice(void 0,[0,1]),s==null?j.create(D.NA):e.map(e=>{let n=this._checkErrorCombination(i,a);if(n)return n;let o=this._handleSingleObject(e,t,s,i,a);return o.isError()?r:o})}let f=e.isArray()?e.get(0,0):e;if(s===l&&o===c){let e=this._checkErrorCombination(i,a);if(e)return e;let o=this._handleSingleObject(f,t,n,i,a);return o.isError()?r:o}let p=0;s===l&&(p=1);let m=this._handleExpandObject(f,t,n,i,a,p);return m==null?j.create(D.NA):m}_handleExpandObject(e,t,n,r,i,a=0){if((i===2||i===-2)&&r!==2){let o=Di(i),s=Ei(r);return this.binarySearchExpand(e,t,n,a,o,s)}return r===2?this.fuzzySearchExpand(e,t,n,i!==-1,a):r===-1||r===1?this.orderSearchExpand(e,t,n,r===1?yi.MAX:yi.MIN,i===-1,a):this.equalSearchExpand(e,t,n,i!==-1,a)}_handleSingleObject(e,t,n,r,i){if((i===2||i===-2)&&r!==2){let a=Di(i),o=Ei(r);return this.binarySearch(e,t,n,a,o)}return r===2?this.fuzzySearch(e,t,n,i!==-1):r===-1||r===1?this.orderSearch(e,t,n,r===1?yi.MAX:yi.MIN,i===-1):this.equalSearch(e,t,n,i!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?j.create(D.VALUE):null}},Wm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=R.create(0);n&&!n.isNull()&&(i=n);let a=R.create(1);r&&!r.isNull()&&(a=r);let o=Math.max(e.isArray()?e.getRowCount():1,i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1),c=V(o,s,e,j.create(D.NA)),l=V(o,s,i,j.create(D.NA)),u=V(o,s,a,j.create(D.NA)),d=c.mapValue((e,n,r)=>{if(e.isError())return e;let i=l.get(n,r),a=u.get(n,r);return i.isError()?i:a.isError()?a:this._handleSingleObject(e,t,i,a)});return o===1&&s===1?d.get(0,0):d}_handleSingleObject(e,t,n,r){let i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(i!==1&&a!==1)return j.create(D.VALUE);let o=n;if((n.isString()||n.isBoolean()||n.isNull())&&(o=n.convertToNumberObjectValue()),o.isError())return o;let s=r;if((r.isString()||r.isBoolean()||r.isNull())&&(s=r.convertToNumberObjectValue()),s.isError())return s;let c=o.getValue(),l=s.getValue();return![-1,0,1,2].includes(c)||![-1,1,2].includes(l)?j.create(D.VALUE):this._getResult(e,t,c,l)}_getResult(e,t,n,r){let i=Fa(t),a;if((r===2||r===-2)&&n!==2){let t=Di(r),o=Ei(n);a=i.binarySearch(e,t,o)}else if(n===2){let t=i.compare(e,k.EQUALS),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return j.create(D.NA);a=i.getRowCount()===1?n.column:n.row}else if(n===-1||n===1){let t=i.orderSearch(e,n===1?yi.MAX:yi.MIN,r===-1);if(t==null)return j.create(D.NA);if(t instanceof j)return t;a=i.getRowCount()===1?t.column:t.row}else{let t=i.isEqual(e),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return j.create(D.NA);a=i.getRowCount()===1?n.column:n.row}return a==null?j.create(D.NA):R.create(a+1)}};const Gm=[[cm,G.ADDRESS],[um,G.AREAS],[dm,G.CHOOSE],[fm,G.CHOOSECOLS],[pm,G.CHOOSEROWS],[mm,G.COLUMN],[hm,G.COLUMNS],[gm,G.DROP],[_m,G.EXPAND],[vm,G.FILTER],[ym,G.FORMULATEXT],[bm,G.HLOOKUP],[xm,G.HSTACK],[Sm,G.HYPERLINK],[Cm,G.IMAGE],[wm,G.INDEX],[Tm,G.INDIRECT],[Em,G.LOOKUP],[Dm,G.MATCH],[km,G.OFFSET],[Am,G.ROW],[jm,G.ROWS],[Mm,G.SORT],[Nm,G.SORTBY],[Pm,G.TAKE],[Fm,G.TOCOL],[Im,G.TOROW],[Lm,G.TRANSPOSE],[Rm,G.UNIQUE],[zm,G.VLOOKUP],[Bm,G.VSTACK],[Vm,G.WRAPCOLS],[Hm,G.WRAPROWS],[Um,G.XLOOKUP],[Wm,G.XMATCH]];var Km=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}},qm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}},Jm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}},Ym=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:Xm(e)):Xm(t)}};function Xm(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return j.create(D.VALUE);t=Number(t);let n=Math.atan(1/t);return t<0&&(n+=Math.PI),Number.isNaN(n)?j.create(D.VALUE):R.create(n)}var Zm=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(e=>e.isError()?e:Qm(e)):Qm(t)}};function Qm(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return j.create(D.VALUE);if(t=Number(t),Math.abs(t)<=1)return j.create(D.NUM);let n=1/2*Math.log((t+1)/(t-1));return Number.isNaN(n)?j.create(D.VALUE):R.create(n)}const $m={1:Q.AVERAGE,2:Q.COUNT,3:Q.COUNTA,4:Q.MAX,5:Q.MIN,6:Q.PRODUCT,7:Q.STDEV_S,8:Q.STDEV_P,9:Q.SUM,10:Q.VAR_S,11:Q.VAR_P,12:Q.MEDIAN,13:Q.MODE_SNGL};var eh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0),E(this,`needsFilteredOutRows`,!0),E(this,`needsFormulaDataModel`,!0)}calculate(e,t,...n){let{isError:r,multiAreaRefs:i,normalRefs:a}=Jc(n),o;o=e.isReferenceObject()?e.toArrayValueObject():e;let s;s=t.isReferenceObject()?t.toArrayValueObject():t;let c=Math.max(o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,o,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.mapValue((e,t,o)=>{if(e.isError())return e;let s=d.get(t,o);return s.isError()?s:i.length>0?j.create(D.VALUE):this._handleSingleObject(e,s,n,r,a)});return f.getRowCount()===1&&f.getColumnCount()===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){let a=e;if(e.isString()&&(a=e.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+a.getValue());if(o<1||o>19||o>=1&&o<=13&&r||o>=14&&o<=19&&n.length!==2)return j.create(D.VALUE);let s=t;if(t.isString()&&(s=t.convertToNumberObjectValue()),s.isError())return s;let c=Math.floor(+s.getValue());if(c<0||c>7)return j.create(D.VALUE);let l=this._getAggregateOptions(c);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,l,n[0],n[1]):Qc({type:$m[o],...l,formulaDataModel:this._formulaDataModel},i)}_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,n,r){let i;if(i=r.isReferenceObject()?r.toArrayValueObject():r,i.isError())return i;if(i.isArray()){let e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);i=i.get(0,0)}let a=$c(n,t,this._formulaDataModel);if(!Array.isArray(a))return a;let o=+i.getValue();switch(e){case 14:return tl(a,o);case 15:return nl(a,o);case 16:return rl(a,o);case 17:return al(a,o);case 18:return il(a,o);case 19:return ol(a,o);default:return j.create(D.VALUE)}}},th=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 R.create(0);if(e.isBoolean()||e.isNumber())return j.create(D.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return j.create(D.VALUE);let n=t.startsWith(`-`);n&&(t=t.slice(1));let r=0;for(let e=0;e<t.length;e++){let n=Zs.get(t[e])||0,i=Zs.get(t[e+1])||0,a=Zs.get(t[e+2])||0,o=Zs.get(t[e+3])||0;if(!n||a>=i&&a>n||n===i&&n===a&&n===o||n===i/2)return j.create(D.VALUE);n<i?r-=n:r+=n}return R.create(n?-r:r)}},nh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}},rh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}},ih=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}},ah=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e,r=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:r.atan2(n))}},oh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}},sh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(0):n;if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.map((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return this._handleSingleObject(e,r,i)});return l.getRowCount()===1&&l.getColumnCount()===1?l.getArrayValue()[0][0]:l}_handleSingleObject(e,t,n){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=t;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let a=n;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue()),c=Math.floor(+a.getValue());if(o<0||o>=2**53||s<2||s>36||c<0)return j.create(D.NUM);let l=o.toString(s);return l.length<c&&(l=Array(c-l.length+1).join(`0`)+l),z.create(l.toLocaleUpperCase())}},ch=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let o=+r.getValue(),s=+i.getValue();if(o>0&&s<0)return j.create(D.NUM);if(o===0||s===0)return R.create(0);let c=qi(o/s,0)*s;return R.create(c)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}},lh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(1):t,i=n==null?R.create(0):n;if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,r,j.create(D.NA)),l=V(a,o,i,j.create(D.NA)),u=s.map((e,t,n)=>{let r=e,i=c.get(t,n),a=l.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+r.getValue(),s=+i.getValue(),u=+a.getValue();return o===0||s===0?R.create(0):this._getResult(o,s,u)});return a===1&&o===1?u.get(0,0):u}_getResult(e,t,n){let r;return r=e<0&&n!==0?(t<0?qi(Math.abs(e)/Math.abs(t),0):-qi(Math.abs(e)/t,0))*t:(t<0?-qi(e/Math.abs(t),0):qi(e/t,0))*t,R.create(r)}},uh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a===0||s===0)return R.create(0);let c=(s<0?-qi(a/Math.abs(s),0):qi(a/s,0))*s;return R.create(c)});return r===1&&i===1?s.get(0,0):s}},dh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),r.isError())return r;if(i.isError())return i;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o<s)return j.create(D.NUM);let c=Ns(o,s);return Number.isNaN(c)||!Number.isFinite(c)?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},fh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=e,i=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),i.isString()&&(i=i.convertToNumberObjectValue()),r.isError())return r;if(i.isError())return i;let o=Math.floor(+r.getValue()),s=Math.floor(+i.getValue());if(o<0||s<0||o===0&&o<s)return j.create(D.NUM);let c=Ns(o+s-1,o-1);return Number.isNaN(c)||!Number.isFinite(c)?j.create(D.NUM):R.create(c)});return n===1&&r===1?o.get(0,0):o}},ph=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}},mh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}},hh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?j.create(D.NUM):n===0?j.create(D.DIV_BY_ZERO):t.tan().getReciprocal()}},gh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()==0?j.create(D.DIV_BY_ZERO):t.tanh().getReciprocal()}},_h=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?j.create(D.NUM):n===0?j.create(D.DIV_BY_ZERO):t.sin().getReciprocal()}},vh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return n===0?j.create(D.DIV_BY_ZERO):!Number.isNaN(n)&&!Number.isFinite(Math.sinh(n))?R.create(0):t.sinh().getReciprocal()}},yh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{if(e.isError())return e;let r=a.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=`${e.getValue()}`,o=Math.floor(+r.getValue());if(w(i)&&(+i<0||+i>=2**53||!Number.isInteger(+i))||i.toLocaleLowerCase()===`true`||i.toLocaleLowerCase()===`false`||o<2||o>36)return j.create(D.NUM);if(i.replace(/\s/g,``)===``)return R.create(0);if(!this._isValidCharForRadix(i,o))return j.create(D.NUM);let s=Number.parseInt(i,o);return Number.isNaN(s)?j.create(D.NUM):R.create(s)});return n===1&&r===1?o.get(0,0):o}_isValidCharForRadix(e,t){for(let n of e){let e=n.toUpperCase().charCodeAt(0);if(t<=10&&!(e>=48&&e<48+t)||t>10&&!(e>=48&&e<58||e>=65&&e<65+t-10))return!1}return!0}},bh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=n*(180/Math.PI);return Number.isNaN(r)?j.create(D.VALUE):R.create(r)}},xh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=(n<0?-qi(Math.abs(n)/2,0):qi(n/2,0))*2;return Number.isNaN(r)?j.create(D.VALUE):r===0?R.create(0):R.create(r)}},Sh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}},Ch=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Ms(Math.floor(+t.getValue()));return Number.isNaN(n)||!Number.isFinite(n)?j.create(D.NUM):R.create(n)}},wh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return j.create(D.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;let n=Ms(Math.floor(+t.getValue()),2);return Number.isNaN(n)||!Number.isFinite(n)?j.create(D.NUM):R.create(n)}},Th=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=a.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let o=+i.getValue(),s=+r.getValue();if(o>0&&s<0)return j.create(D.NUM);if(o===0)return R.create(0);if(s===0)return j.create(D.DIV_BY_ZERO);let c=Ki(o/s,0)*s;return R.create(c)});return n===1&&r===1?o.get(0,0):o}},Eh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(1):t,i=n==null?R.create(0):n,a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,r,j.create(D.NA)),l=V(a,o,i,j.create(D.NA)),u=s.map((e,t,n)=>{let r=e,i=c.get(t,n),a=l.get(t,n);if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;let o=+r.getValue(),s=+i.getValue(),u=+a.getValue();if(o===0||s===0)return R.create(0);let d;return d=o<0&&u!==0?(s<0?Ki(Math.abs(o)/Math.abs(s),0):-Ki(Math.abs(o)/s,0))*s:(s<0?-Ki(o/Math.abs(s),0):Ki(o/s,0))*s,R.create(d)});return a===1&&o===1?u.get(0,0):u}},Dh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a===0||s===0)return R.create(0);let c=(s<0?-Ki(a/Math.abs(s),0):Ki(a/s,0))*s;return R.create(c)});return r===1&&i===1?s.get(0,0):s}},Oh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull())if(r.isArray()){let e=!1,n=j.create(D.VALUE);if(r.iterator(r=>{if(r!=null&&r.isNull())return!0;let{isError:i,errorObject:a,number:o}=this._handleSingleObject(r);if(i)return e=!0,n=a,!1;t=Ps(t,o)}),e)return n}else{let{isError:e,errorObject:n,number:i}=this._handleSingleObject(r);if(e)return n;t=Ps(t,i)}}return R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0||n>=2**53?{isError:!0,errorObject:j.create(D.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},kh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Math.floor(+t.getValue());return R.create(n)}},Ah=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=1,n=!0;for(let r=0;r<e.length;r++){let i=e[r];if(!i.isNull())if(i.isArray()){let e=!1,r=j.create(D.VALUE);if(i.iterator(i=>{if(i!=null&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,r=o,!1;t=Fs(t,s),n=!1}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;t=Fs(t,a),n=!1}}return n?R.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?j.create(D.VALUE):R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0?{isError:!0,errorObject:j.create(D.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},jh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}},Mh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(10):t;if(e.isError())return e;if(n.isError())return n;let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue();if(a<=0||s<=0)return j.create(D.NUM);let c=Math.log(s);if(c===0)return j.create(D.DIV_BY_ZERO);let l=Math.log(a)/c;return R.create(l)});return r===1&&i===1?s.get(0,0):s}},Nh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}},Ph=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return j.create(D.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}if(t!==n)return j.create(D.VALUE);let i=Is(r);return R.create(i)}},Fh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return j.create(D.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}if(t!==n)return j.create(D.VALUE);let i=Ls(r);return i===null?j.create(D.NUM):B.createByArray(i)}},Ih=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(r!==i)return j.create(D.VALUE);let o=this._getMatrix(e,n,r),s=this._getMatrix(t,i,a);if(o instanceof j)return o;if(s instanceof j)return s;let c=Bs(o,s);return B.createByArray(c)}_getMatrix(e,t,n){let r=[];for(let i=0;i<t;i++){let t=[];for(let r=0;r<n;r++){let n=e.isArray()?e.get(i,r):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())return j.create(D.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}return r}},Lh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.mod(r)}},Rh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError())return n;let r=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return j.create(D.VALUE);if(a===0)return R.create(0);if(i>0&&a<0||i<0&&a>0)return j.create(D.NUM);let o=Gi(i/a,0)*a;return R.create(o)}},zh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=1;for(let r=0;r<e.length;r++){let i=e[r];if(!i.isNull())if(i.isArray()){let e=!1,r=j.create(D.VALUE);if(i.iterator(i=>{if(i!=null&&i.isNull())return!0;let{isError:a,errorObject:o,number:s}=this._handleSingleObject(i);if(a)return e=!0,r=o,!1;if(t+=s,t>170)return e=!0,r=j.create(D.NUM),!1;n*=Ms(s)}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;if(t+=a,t>170)return j.create(D.NUM);n*=Ms(a)}}let r=Ms(t)/n;return R.create(r)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:j.create(D.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};let n=Math.floor(+t.getValue());return n<0?{isError:!0,errorObject:j.create(D.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Bh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount(),r=e.mapValue(e=>{let r=this._handleSingleObject(e);return r.isError()?r:t>1||n>1?r.get(0,0):r});return t===1&&n===1?r.get(0,0):r}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=Math.floor(+t.getValue());if(n<=0)return j.create(D.VALUE);let r=[];for(let e=0;e<n;e++){r[e]=[];for(let t=0;t<n;t++)r[e][t]=e===t?1:0}return B.createByArray(r)}},Vh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=n<0?-qi(Math.abs(n),0):qi(n,0);return Number.isNaN(r)?j.create(D.VALUE):(Math.abs(r)%2==0&&(n<0?r--:r++),R.create(r))}},Hh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return R.create(Math.PI)}},Uh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.pow(r)}},Wh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(1),n=!0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isArray()){let e=!1,r=null;if(i.iterator(i=>{if(i!=null&&i.isError())return e=!0,r=i,!1;if(!i||i.isNull()||i.isString()||i.isBoolean())return!0;t=t.multiply(i),n=!1}),e)return r}else{if(i.isNull())continue;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;t=t.multiply(i),n=!1}if(t.isError())return t}return n?R.create(0):t}},Gh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=Y(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return j.create(D.VALUE);if(c===0)return j.create(D.DIV_BY_ZERO);let l=Math.trunc(s/c);return R.create(l)}},Kh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(!Number.isFinite(n))return j.create(D.VALUE);let r=n*(Math.PI/180);return Number.isNaN(r)?j.create(D.VALUE):R.create(r)}},qh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,0)}calculate(){return R.create(Math.random())}},Jh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,0),E(this,`maxParams`,5),E(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r,i){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(n!=null&&n.isError())return n;if(r!=null&&r.isError())return r;if(i!=null&&i.isError())return i;let a=e==null?R.create(1):e,o=t==null?R.create(1):t,s=n==null?R.create(0):n,c=r==null?R.create(1):r,l=i==null?R.create(0):i;return this._calculateResult(a,o,s,c,l)}_calculateResult(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1);if(a===1&&o===1)return this._calculateSingleCell(e,t,n,r,i);let s=V(a,o,e,j.create(D.NA)),c=V(a,o,t,j.create(D.NA)),l=V(a,o,n,j.create(D.NA)),u=V(a,o,r,j.create(D.NA)),d=V(a,o,i,j.create(D.NA));return s.map((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n),o=d.get(t,n),s=this._handleError(e,r,i,a,o);if(s.errorObject)return s.errorObject;let{minValue:f,maxValue:p,wholeNumberValue:m}=s,h;return m?(f=Math.ceil(f),p=Math.floor(p),h=Math.floor(Math.random()*(p-f+1))+f):h=Math.random()*(p-f)+f,h<f||h>p?j.create(D.VALUE):R.create(h)})}_calculateSingleCell(e,t,n,r,i){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let s=n;s.isArray()&&(s=s.get(0,0));let c=r;c.isArray()&&(c=c.get(0,0));let l=i;l.isArray()&&(l=l.get(0,0));let u=this._handleError(a,o,s,c,l);if(u.errorObject)return u.errorObject;let{rowsValue:d,columnsValue:f,minValue:p,maxValue:m,wholeNumberValue:h}=u;if(h&&(p=Math.ceil(p),m=Math.floor(m),p>m))return j.create(D.VALUE);let g=[];for(let e=0;e<d;e++){let e=[];for(let t=0;t<f;t++)h?e.push(Math.floor(Math.random()*(m-p+1))+p):e.push(Math.random()*(m-p)+p);g.push(e)}return d===1&&f===1?R.create(g[0][0]):B.createByArray(g)}_handleError(e,t,n,r,i){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return{errorObject:o};let s=n;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return{errorObject:s};let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let l=i;return l.isString()&&(l=l.convertToNumberObjectValue()),l.isError()?{errorObject:l}:this._getValue(a,o,s,c,l)}_getValue(e,t,n,r,i){let a=Math.floor(+e.getValue()),o=Math.floor(+t.getValue());if(a===0||o===0)return{errorObject:j.create(D.CALC)};let s=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:j.create(D.VALUE)};if(a>s||o>c)return{errorObject:j.create(D.REF)};let l=+n.getValue(),u=+r.getValue(),d=+i.getValue();return l>u||d&&(!Number.isInteger(l)||!Number.isInteger(u))?{errorObject:j.create(D.VALUE)}:{rowsValue:a,columnsValue:o,minValue:l,maxValue:u,wholeNumberValue:d}}},Yh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);n=n.get(0,0)}if(n.isError())return n;let r=t;if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return j.create(D.VALUE);if(i>a)return j.create(D.NUM);i=Math.ceil(i),a=Math.floor(a);let o=Math.floor(Math.random()*(a-i+1))+i;return R.create(o)}},Xh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e);if(n)return r;let[a]=i,o=Math.floor(+a.getValue()),s=t;if(s.isString()&&(s=s.convertToNumberObjectValue(),s.isError()))return s;let c=Math.floor(+s.getValue());if(s.isBoolean()&&(c=s.getValue()?0:4),o<0||o>3999||c<0||c>4)return j.create(D.VALUE);let l=$s[c],u=l.length-1,d=``;for(;o>0;){u=this._binarySearch(o,0,u,l);let e=l[u];o-=e,d+=Qs.get(e)}return z.create(d)}_binarySearch(e,t,n,r){let i=t,a=n;for(;a-i>1;){let t=Math.floor((i+a)/2),n=r[t];if(n===e)return t;n>e?a=t:i=t}return i!==a&&r[a]<=e?a:i}},Zh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.round(r)}},Qh=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=+c.getValue(),d=Math.trunc(+l.getValue()),f=this._roundBank(u,d);return R.create(f)});return n===1&&r===1?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;let n=1e-8,r=10**t,i=+(e*r).toFixed(8),a=Math.floor(i),o=i-a,s=Math.round(i);return o>.5-n&&o<.5+n&&(s=a%2==0?a:a+1),t?s/r:s}},$h=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.floor(r)}},eg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let r=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:n.ceil(r)}},tg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Math.abs(n)>=2**27?j.create(D.NUM):t.cos().getReciprocal()}},ng=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.map(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();return Number.isFinite(Math.cosh(n))?Math.abs(n)>=2**27?j.create(D.NUM):t.cosh().getReciprocal():R.create(0)}},rg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4),E(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r){let i=e,a=t==null?R.create(1):t,o=n==null?R.create(1):n,s=r==null?R.create(1):r;i.isNull()&&(i=R.create(1)),a.isNull()&&(a=R.create(1)),o.isNull()&&(o=R.create(1)),s.isNull()&&(s=R.create(1));let c=Math.max(i.isArray()?i.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(i.isArray()?i.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,i,j.create(D.NA)),d=V(c,l,a,j.create(D.NA)),f=V(c,l,o,j.create(D.NA)),p=V(c,l,s,j.create(D.NA)),m=u.mapValue((e,t,n)=>{let r=d.get(t,n),i=f.get(t,n),a=p.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._getResult(e,r,i,a,c,l)});return c===1&&l===1?m.get(0,0):m}_getResult(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=X(e,t,n,r);if(o)return s;let[l,u,d,f]=c,p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue()),h=+d.getValue(),g=+f.getValue();if(p<0||m<0||p*m>10**7)return j.create(D.VALUE);if(p===0||m===0)return j.create(D.CALC);let _=this._rowCount-this.row,v=this._columnCount-this.column;if(p>_||m>v)return j.create(D.REF);let y=[];for(let e=0;e<p;e++){y[e]=[];for(let t=0;t<m;t++)y[e][t]=h+(e*m+t)*g}return i>1||a>1?R.create(y[0][0]):B.createByArray(y)}},ig=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isNull()||t.isNull()||n.isNull()||r.isNull())return j.create(D.NA);let{isError:i,errorObject:a,variants:o}=Y(e,t,n);if(i)return a;let{isError:s,errorObject:c,variants:l}=X(...o);if(s)return c;let[u,d,f]=l,p=+u.getValue(),m=+d.getValue(),h=+f.getValue(),g=[];if(r.isArray()){let e=!1,t=j.create(D.VALUE);if(r.iterator(n=>{let{isError:r,errorObject:i,coefficientsObject:a}=this._handleSingleObject(n);if(r)return e=!0,t=i,!1;let o=+a.getValue();g.push(o)}),e)return t}else{let{isError:e,errorObject:t,coefficientsObject:n}=this._handleSingleObject(r);if(e)return t;let i=+n.getValue();g.push(i)}let _=0;for(let e=0;e<g.length;e++)_+=g[e]*p**(m+e*h);return Number.isNaN(_)||!Number.isFinite(_)?j.create(D.NUM):R.create(_)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:j.create(D.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}}},ag=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();return a>0?R.create(1):a<0?R.create(-1):R.create(0)}},og=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}},sg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}},cg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}},lg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return j.create(D.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(n<0)return j.create(D.NUM);let r=Math.sqrt(n*Math.PI);return R.create(r)}};const ug={1:Q.AVERAGE,2:Q.COUNT,3:Q.COUNTA,4:Q.MAX,5:Q.MIN,6:Q.PRODUCT,7:Q.STDEV,8:Q.STDEVP,9:Q.SUM,10:Q.VAR,11:Q.VARP};var dg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0),E(this,`needsFilteredOutRows`,!0),E(this,`needsFormulaDataModel`,!0)}calculate(e,...t){let n;n=e.isReferenceObject()?e.toArrayValueObject():e;let{isError:r,multiAreaRefs:i,normalRefs:a}=Jc(t);if(!r&&i.length>0)return this._handleMultiAreaRefs(n,i,t);if(n.isArray()){let e=n.mapValue(e=>this._handleSingleObject(e,{isError:r,refs:a}));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,{isError:r,refs:a})}_handleSingleObject(e,t){let{isError:n=!1,refs:r}=t,i=e;if(e.isString()&&(i=e.convertToNumberObjectValue()),i.isError())return i;if(n)return j.create(D.VALUE);let a=Math.floor(+i.getValue());if(a<1||a>11&&a<101||a>111)return j.create(D.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),Qc({type:ug[a],ignoreRowHidden:o,ignoreErrorValues:!1,ignoreNested:!0,formulaDataModel:this._formulaDataModel},r)}_handleMultiAreaRefs(e,t,n){let r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1,{multiAreaInfoMap:a,maxAreasLen:o}=this._getMultiAreaInfo(t),s=Math.max(r,o),c=[];for(let t=0;t<s;t++){let o=t<r?t:r-1,s=[];for(let c=0;c<i;c++){if(r>1&&t>=r){s.push(j.create(D.NA));continue}let i=e.isArray()?e.get(o,c):e,l=[];for(let e=0;e<n.length;e++){let r=n[e],i=a.get(r);if(i){let e=t<i.rowAreas.length?t:i.rowAreas.length-1,n=i.rowAreas[e];if(n.isError()){s.push(n);break}l.push(n);continue}l.push(r)}let u=this._handleSingleObject(i,{isError:!1,refs:l});s.push(u)}c.push(s)}return c.length===1?c[0][0]:Ea(c,c.length,i)}_getMultiAreaInfo(e){let t=new Map,n=1;return e.forEach(e=>{let r=e.getAreas().map(t=>{if(!t||t.length===0)return e;let n=t.find(e=>!e.isError());return n==null?t[0]:n});t.set(e,{ref:e,rowAreas:r}),n=Math.max(n,r.length||1)}),{multiAreaInfoMap:t,maxAreasLen:n}}},fg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()||(r.isArray()&&(r=r.sum()),r.isError()))return r;if(t=t.plus(r),t.isError())return t}return t}},pg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return j.create(D.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t,n));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,r,n)}_handleSingleObject(e,t,n){let r=e.toArrayValueObject(),i=Oa(r,t);i=La(i,r,t);let a=r.getRowCount(),o=r.getColumnCount(),s=r;if(n){s=n.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=n.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,n.setRangeData(e),s=n.toArrayValueObject()}}return s.pick(i).sum()}},mg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`SUMIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},hg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(e,...t){if(e.isError())return e;let n=this._initArray1(e);if(t.length===0)return n.sum();let r=n.getRowCount(),i=n.getColumnCount(),a=this._getResultArrayByArray1(r,i,n);if(a instanceof j)return a;let o=a;return this._validateVariants(t,r,i)||this._sumProduct(o,t,r,i)}_validateVariants(e,t,n){for(let r of e){if(r.isError())return r;if(r.isArray()){let e=r,i=e.getRowCount(),a=e.getColumnCount();if(i!==t&&a!==n)return j.create(D.VALUE)}}return null}_sumProduct(e,t,n,r){let i=0;for(let a=0;a<n;a++)for(let n=0;n<r;n++){let r=e[a][n];for(let e=0;e<t.length;e++){let i=t[e],o=this._getVariantCell(i,a,n);if(!o)return j.create(D.VALUE);if(o.isError())return o;o.isNumber()?r*=o.getValue():r=0}i+=r}return R.create(i)}_getVariantCell(e,t,n){if(!e.isArray())return e;let r=e.get(t,n);return r==null?null:r}_initArray1(e){let t=e;return t.isArray()||(t=B.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:``,sheetId:``,row:0,column:0})),t}_getResultArrayByArray1(e,t,n){let r=[];for(let i=0;i<e;i++){let e=[];for(let r=0;r<t;r++){let t=n.get(i,r);if(t.isError())return t;t.isNumber()?e.push(t.getValue()):e.push(0)}r.push(e)}return r}},gg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(2);for(let r=0;r<e.length;r++){let i=e[r];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()?i.iterator(e=>{if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e.isError())return t=e,!1;t=t.plus(e.pow(n))}):t=t.plus(i.pow(n)),t.isError())return t}return t}},_g=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return j.create(D.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=I.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=l**2-u**2}),i.isError()?i:a.length===0||o.length===0?j.create(D.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,t){let n=e;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;let r=t;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;if(n.isNull()||r.isNull())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!w(i)||n.isBoolean()||r.isString()&&!w(a)||r.isBoolean())return j.create(D.DIV_BY_ZERO);let o=i**2-a**2;return R.create(o)}},vg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return j.create(D.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=I.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=l**2+u**2}),i.isError()?i:a.length===0||o.length===0?j.create(D.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,t){let n=e;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;let r=t;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;if(n.isNull()||r.isNull())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!w(i)||n.isBoolean()||r.isString()&&!w(a)||r.isBoolean())return j.create(D.DIV_BY_ZERO);let o=i**2+a**2;return R.create(o)}},yg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=(e.isArray()?e.getRowCount():1)*(e.isArray()?e.getColumnCount():1);if(n!==(t.isArray()?t.getRowCount():1)*(t.isArray()?t.getColumnCount():1))return j.create(D.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=I.create(),a=[],o=[],s=0;return n.iterator((e,t,n)=>{let c=r.get(t,n);if(e==null||e.isString()||e.isBoolean()||e.isNull())return!0;if(e!=null&&e.isError())return i=e,!1;if(c==null||c.isString()||c.isBoolean()||c.isNull())return!0;if(c!=null&&c.isError())return i=c,!1;let l=+e.getValue(),u=+c.getValue();a.push(l),o.push(u),s+=(l-u)**2}),i.isError()?i:a.length===0||o.length===0?j.create(D.DIV_BY_ZERO):R.create(s)}}_calculateSingleCell(e,t){let n=e;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;let r=t;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;if(n.isNull()||r.isNull())return j.create(D.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!w(i)||n.isBoolean()||r.isString()&&!w(a)||r.isBoolean())return j.create(D.DIV_BY_ZERO);let o=(i-a)**2;return R.create(o)}},bg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}},xg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}},Sg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.map((e,t,n)=>{let r=o.get(t,n),i=e;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let a=+i.getValue(),s=+r.getValue(),c=10**Math.trunc(s),l=Ji(a,c),u=Math.trunc(Ui(a,c)+l)/c;return R.create(u)});return r===1&&i===1?s.get(0,0):s}};const Cg=[[Km,K.ABS],[qm,K.ACOS],[Jm,K.ACOSH],[Ym,K.ACOT],[Zm,K.ACOTH],[eh,K.AGGREGATE],[th,K.ARABIC],[nh,K.ASIN],[rh,K.ASINH],[ih,K.ATAN],[ah,K.ATAN2],[oh,K.ATANH],[sh,K.BASE],[ch,K.CEILING],[lh,K.CEILING_MATH],[uh,K.CEILING_PRECISE],[dh,K.COMBIN],[fh,K.COMBINA],[ph,K.COS],[mh,K.COSH],[hh,K.COT],[gh,K.COTH],[_h,K.CSC],[vh,K.CSCH],[yh,K.DECIMAL],[bh,K.DEGREES],[xh,K.EVEN],[Sh,K.EXP],[Ch,K.FACT],[wh,K.FACTDOUBLE],[Th,K.FLOOR],[Eh,K.FLOOR_MATH],[Dh,K.FLOOR_PRECISE],[Oh,K.GCD],[kh,K.INT],[Ah,K.LCM],[jh,K.LN],[Mh,K.LOG],[Nh,K.LOG10],[Ph,K.MDETERM],[Fh,K.MINVERSE],[Ih,K.MMULT],[Lh,K.MOD],[Rh,K.MROUND],[zh,K.MULTINOMIAL],[Bh,K.MUNIT],[Vh,K.ODD],[Hh,K.PI],[Uh,K.POWER],[Wh,K.PRODUCT],[Gh,K.QUOTIENT],[Kh,K.RADIANS],[qh,K.RAND],[Jh,K.RANDARRAY],[Yh,K.RANDBETWEEN],[Xh,K.ROMAN],[Zh,K.ROUND],[Qh,K.ROUNDBANK],[$h,K.ROUNDDOWN],[eg,K.ROUNDUP],[tg,K.SEC],[ng,K.SECH],[ig,K.SERIESSUM],[rg,K.SEQUENCE],[ag,K.SIGN],[og,K.SIN],[sg,K.SINH],[cg,K.SQRT],[lg,K.SQRTPI],[dg,K.SUBTOTAL],[fg,K.SUM],[pg,K.SUMIF],[mg,K.SUMIFS],[hg,K.SUMPRODUCT],[gg,K.SUMSQ],[_g,K.SUMX2MY2],[vg,K.SUMX2PY2],[yg,K.SUMXMY2],[bg,K.TAN],[xg,K.TANH],[Sg,K.TRUNC]];var wg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`_compareType`,k.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}},Tg=class e extends Xe{static create(t){return new e(t)}isCube(){return!0}constructor(e){super(``),E(this,`_values`,[]),this._values=e}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=R.create(-1/0);return this._values.forEach(t=>{let n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=R.create(1/0);return this._values.forEach(t=>{let n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){let e=R.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}},Eg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isError())return r;if(!r.isArray())return j.create(D.VALUE);t.push(r)}return Tg.create(t)}},Dg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?j.create(D.DIV_BY_ZERO):e.divided(t)}},Og=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}},kg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}},Ag=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}};const jg=[[wg,po.COMPARE],[Dg,po.DIVIDED],[Og,po.MINUS],[kg,po.MULTIPLY],[Ag,po.PLUS],[Eg,po.CUBE]],Mg=new Set([K.ACOT,K.ACOTH,K.ARABIC,K.BASE,K.CEILING_MATH,K.CEILING_PRECISE,K.COMBINA,K.COT,K.COTH,K.CSC,K.CSCH,K.DECIMAL,K.FLOOR_MATH,K.FLOOR_PRECISE,K.MUNIT,K.RANDARRAY,K.SEC,K.SECH,K.SEQUENCE,G.CHOOSECOLS,G.CHOOSEROWS,G.DROP,G.EXPAND,G.FILTER,G.FORMULATEXT,G.HSTACK,G.SORT,G.SORTBY,G.TAKE,G.TOCOL,G.TOROW,G.UNIQUE,G.VSTACK,G.WRAPCOLS,G.WRAPROWS,G.XLOOKUP,G.XMATCH,U.BITAND,U.BITLSHIFT,U.BITOR,U.BITRSHIFT,U.BITXOR,U.ERF_PRECISE,U.ERFC_PRECISE,U.IMCOSH,U.IMCOT,U.IMCSC,U.IMCSCH,U.IMSEC,U.IMSECH,U.IMSINH,U.IMTAN,to.ISFORMULA,to.SHEET,to.SHEETS,no.IFNA,no.IFS,no.SWITCH,no.XOR,q.BETA_DIST,q.BETA_INV,q.BINOM_DIST,q.BINOM_DIST_RANGE,q.BINOM_INV,q.CHISQ_DIST,q.CHISQ_DIST_RT,q.CHISQ_INV,q.CHISQ_INV_RT,q.CHISQ_TEST,q.CONFIDENCE_NORM,q.CONFIDENCE_T,q.COVARIANCE_P,q.COVARIANCE_S,q.EXPON_DIST,q.F_DIST,q.F_DIST_RT,q.F_INV,q.F_INV_RT,q.F_TEST,q.FORECAST_LINEAR,q.GAMMA,q.GAMMA_DIST,q.GAMMA_INV,q.GAMMALN_PRECISE,q.GAUSS,q.HYPGEOM_DIST,q.LOGNORM_DIST,q.LOGNORM_INV,q.MAXIFS,q.MINIFS,q.MODE_MULT,q.MODE_SNGL,q.NEGBINOM_DIST,q.NORM_DIST,q.NORM_INV,q.NORM_S_DIST,q.NORM_S_INV,q.PERCENTILE_EXC,q.PERCENTILE_INC,q.PERCENTRANK_EXC,q.PERCENTRANK_INC,q.PERMUTATIONA,q.PHI,q.POISSON_DIST,q.QUARTILE_EXC,q.QUARTILE_INC,q.RANK_AVG,q.RANK_EQ,q.SKEW_P,q.STDEV_P,q.STDEV_S,q.T_DIST,q.T_DIST_2T,q.T_DIST_RT,q.T_INV,q.T_INV_2T,q.T_TEST,q.VAR_P,q.VAR_S,q.WEIBULL_DIST,q.Z_TEST,J.ARRAYTOTEXT,ro.ENCODEURL,J.NUMBERVALUE,J.TEXTAFTER,J.TEXTBEFORE,J.TEXTJOIN,J.TEXTSPLIT,J.UNICHAR,J.UNICODE,J.VALUETOTEXT,eo.DAYS,eo.ISOWEEKNUM,W.PDURATION,W.RRI,no.BYCOL,no.BYROW,no.MAKEARRAY,no.MAP,no.REDUCE,no.SCAN]);var Ng=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i=Pg(i),i.isError())return i;if(e[r]=i,t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}if(n.getValue()===0)return j.create(D.NUM);let r=t.divided(n);if(r.isError())return r;let i=R.create(0);for(let t=0;t<e.length;t++){let n=e[t];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){if(i=i.plus(n.minus(r).abs().sum()),i.isError())return i}else n.isNull()||(i=i.plus(n.minus(r).abs()))}return i.divided(n)}};function Pg(e){let t=[];t[0]=[];let n=null;return e.iterator((e,r,i)=>{if(e!=null&&e.isError())return n=e,!1;e!=null&&e.isNumber()&&t[0].push(e)}),n||Ea(t,1,t[0].length)}var Fg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(t=t.plus(i.sum()),t.isError())return t;n=n.plus(i.count())}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}return t.divided(n)}},Ig=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,254)}calculate(...e){let t=!1,n;e.length%2!=0&&(t=!0,n=j.create(D.NA));let r=[],i=[];for(let a=0;a<e.length;a+=2){let o=e[a],s=o.isArray()?o.getRowCount():1,c=o.isArray()?o.getColumnCount():1;for(let e=0;e<s;e++)for(let n=0;n<c;n++){let i=o.isArray()?o.get(e,n):o;if(i.isError())return i;if(t)continue;let a=i.isNull()?``:i.getValue();r.push(a)}if(a+1>=e.length)continue;let l=e[a+1],u=l.isArray()?l.getRowCount():1,d=l.isArray()?l.getColumnCount():1;(u!==s||d!==c)&&(t=!0,n=j.create(D.VALUE));for(let e=0;e<u;e++)for(let n=0;n<d;n++){let r=l.isArray()?l.get(e,n):l;if(r.isError())return r;if(t)continue;let a=r.isNull()?``:r.getValue();i.push(a)}}return t?n:this._getResult(r,i)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++){let n=e[a],o=t[a];if(!(typeof n!=`number`&&typeof o!=`number`)){if(typeof n!=`number`||typeof o!=`number`||o<0)return j.create(D.VALUE);r+=n*o,i+=o}}if(i===0)return j.create(D.DIV_BY_ZERO);let a=r/i;return R.create(a)}},Lg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0),n=R.create(0);for(let r=0;r<e.length;r++){let i=e[r];if((i.isString()||i.isBoolean())&&(i=i.convertToNumberObjectValue()),i.isError())return i;if(i.isArray()){if(i.iterator(e=>{if(e==null||e.isNull())return!0;let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()&&(r=R.create(0))),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=t.plus(r),n=n.plus(R.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),n=n.plus(R.create(1)))}return t.divided(n)}},Rg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return j.create(D.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){let t=r.mapValue(t=>this._handleSingleObject(e,t,n));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,r,n)}_handleSingleObject(e,t,n){let r=e.toArrayValueObject(),i=Oa(r,t);i=La(i,r,t);let a=r.getRowCount(),o=r.getColumnCount(),s=r;if(n){s=n.toArrayValueObject();let e=s.getRowCount(),t=s.getColumnCount();if(a!==e||o!==t){let e=n.getRangeData();e.endRow=e.startRow+a-1,e.endColumn=e.startColumn+o-1,n.setRangeData(e),s=n.toArrayValueObject()}}let c=s.pick(i),l=c.sum(),u=c.count();return l.divided(u)}},zg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`AVERAGEIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Bg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=i==null?R.create(0):i,s=a==null?R.create(1):a;o.isNull()&&(o=R.create(0)),s.isNull()&&(s=R.create(1));let c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,e,j.create(D.NA)),d=V(c,l,t,j.create(D.NA)),f=V(c,l,n,j.create(D.NA)),p=V(c,l,r,j.create(D.NA)),m=V(c,l,o,j.create(D.NA)),h=V(c,l,s,j.create(D.NA)),g=u.mapValue((e,t,n)=>{let r=d.get(t,n),i=f.get(t,n),a=p.get(t,n),o=m.get(t,n),s=h.get(t,n);return this._handleSingleObject(e,r,i,a,o,s)});return c===1&&l===1?g.get(0,0):g}_handleSingleObject(e,t,n,r,i,a){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;if(r.isError())return r;if(i.isError())return i;if(a.isError())return a;let{isError:o,errorObject:s,variants:c}=X(e,t,n,r,i,a);if(o)return s;let[l,u,d,f,p,m]=c,h=+l.getValue(),g=+u.getValue(),_=+d.getValue(),v=+f.getValue(),y=+p.getValue(),b=+m.getValue();if(g<=0||_<=0||h<y||h>b||y===b)return j.create(D.NUM);let x;return x=v?ec((h-y)/(b-y),g,_):tc((h-y)/(b-y),g,_)/(b-y),R.create(x)}},Vg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=r==null?n:r;i.isNull()&&(i=n);let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,t,j.create(D.NA)),l=V(a,o,n,j.create(D.NA)),u=V(a,o,i,j.create(D.NA)),d=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return a===1&&o===1?d.get(0,0):d}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=+c.getValue(),p=Math.floor(+l.getValue()),m=Math.floor(+u.getValue());if(d<0||f<0||f>1||p<0||p>d||m<0||m<p||m>d)return j.create(D.NUM);let h=0;for(let e=p;e<=m;e++)h+=cc(e,d,f);return R.create(h)}},Hg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=+c.getValue();if(l<0||u<1||u>10**10)return j.create(D.NUM);let f;return f=d?lc(l,u):uc(l,u),R.create(f)}},Ug=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=dc(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Wg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);if(e.isError())return e;if(r.isError())return r;if(i.isError())return i;let{isError:a,errorObject:c,variants:l}=X(e,r,i);if(a)return c;let[u,d,f]=l,p=+u.getValue(),m=+d.getValue(),h=Math.floor(+f.getValue());if(p<=0||p>=1||m<=0||h<1)return j.create(D.NUM);if(h===1)return j.create(D.DIV_BY_ZERO);let g=Math.abs(zc(p/2,h-1)*m/Math.sqrt(h));return R.create(g)});return r===1&&i===1?c.get(0,0):c}},Gg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i,c+=n**2,l+=i**2}let u=Math.sqrt(c*l);return u===0?j.create(D.DIV_BY_ZERO):R.create(s/u)}},Kg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];r.isError()||(r.isArray()?t=t.plus(r.count()):r.isString()?r.convertToNumberObjectValue().isError()||(t=t.plus(R.create(1))):r.isNull()||(t=t.plus(R.create(1))))}return t}},qg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isError()){t=t.plus(R.create(1));continue}r.isArray()?(r=r.countA(),t=t.plus(r)):r.isNull()||(t=t.plus(R.create(1)))}return t}},Jg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.getValue()===``||e.isNull()?R.create(1):e.isArray()?e.countBlank():R.create(0)}},Yg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2),E(this,`needsReferenceObject`,!0)}calculate(e,t){if(!e.isReferenceObject())return j.create(D.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,n)}_handleSingleObject(e,t){let n=e.toArrayValueObject(),r=Oa(n,t);r=La(r,n,t);let i=n.pick(r);return this._countA(i)}_countA(e){let t=R.create(0);return e.iterator(e=>{if(e==null)return!0;t=t.plusBy(1)}),t}},Xg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(...e){let{isError:t,errorObject:n,rangeIsDifferentSize:r,criteriaMaxRowLength:i,criteriaMaxColumnLength:a,variants:o}=Pa(e);if(t)return n;if(r)return i===1&&a===1?j.create(D.VALUE):V(i,a,j.create(D.VALUE));let s=Ia(o,{formulaName:`COUNTIFS`,maxRowLength:i,maxColumnLength:a,isNumberSensitive:!0});return s.length===1&&s[0].length===1?s[0][0]:B.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Zg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length<=1)return j.create(D.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0;for(let r=0;r<n;r++){let n=e[r]-a,i=t[r]-o;s+=n*i}return R.create(s/(n-1))}},Qg=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0,r=!0;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=j.create(D.VALUE);if(a.iterator(a=>{let o=this._handleSingleObject(a);if(o.isError())return e=!0,i=o,!1;if(o.isNull())return!0;let s=o.getValue();t.push(s),n+=s,r=!1}),e)return i}else{let e=this._handleSingleObject(a);if(e.isError())return e;if(e.isNull())continue;let i=e.getValue();t.push(i),n+=i,r=!1}}if(r)return j.create(D.NUM);let i=n/t.length,a=0;for(let e=0;e<t.length;e++)a+=(t[e]-i)**2;return R.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return I.create();let t=e.getValue();return w(t)?R.create(+t):I.create()}},$g=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=Math.floor(+c.getValue()),p=Math.floor(+l.getValue()),m=+u.getValue();if(d<0||f<1||f>10**10||p<1||p>10**10)return j.create(D.NUM);let h;return h=m?fc(d,f,p):pc(d,f,p),Number.isNaN(h)||!Number.isFinite(h)?j.create(D.NUM):R.create(h)}},e_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=Math.floor(+c.getValue());if(l<0||l>1||u<1||u>10**10||d<1||d>10**10)return j.create(D.NUM);let f=mc(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},t_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=i.getValue();if(a<=-1||a>=1)return j.create(D.NUM);let o=Math.log((1+a)/(1-a))/2;return R.create(o)}},n_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){return e.isArray()?e.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(2*a)-1,s=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(s)&&s>0?R.create(1):R.create(o/s)}},r_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=t.isArray()?t.getRowCount():1,i=t.isArray()?t.getColumnCount():1,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1,s=t;t.isArray()&&r===1&&i===1&&(s=t.get(0,0));let c=n;return n.isArray()&&a===1&&o===1&&(c=n.get(0,0)),e.isArray()?e.mapValue(e=>this._handleSingleObject(e,s,c,r,i,a,o)):this._handleSingleObject(e,s,c,r,i,a,o)}_handleSingleObject(e,t,n,r,i,a,o){if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;let s=e;if(e.isString()&&(s=e.convertToNumberObjectValue()),s.isError())return s;let c=+s.getValue();if((r*i===1||a*o===1)&&(t.isNull()||n.isNull()))return j.create(D.VALUE);if(r*i!==a*o)return j.create(D.NA);let{isError:l,errorObject:u,array1Values:d,array2Values:f,noCalculate:p}=Bc(t,n,r*i,i,o);if(l)return u;if(p)return j.create(D.DIV_BY_ZERO);let m=_c(c,d,f);return Number.isFinite(m)?R.create(m):j.create(D.DIV_BY_ZERO)}},i_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,values:i}=this._getValues(e);if(n)return r;if(e.isNull()||t.isNull())return j.create(D.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);let o=this._getNewBinsArrayValues(a),s=Array(o.length).fill(0);for(let e=0;e<i.length;e++){let t=i[e],n=o.findIndex(e=>t>e.start&&t<=e.end);s[n]++}return B.createByArray(s.map(e=>[e]))}_getValues(e,t=!1){let n=[],r=e.isArray()?e.getRowCount():1,i=e.isArray()?e.getColumnCount():1;for(let a=0;a<r;a++)for(let r=0;r<i;r++){let i=e.isArray()?e.get(a,r):e;if(i.isError()){if(!t)return{isError:!0,errorObject:i,values:n};continue}if(i.isNull()||i.isBoolean())continue;let o=i.getValue();w(o)&&n.push(+o)}return{isError:!1,errorObject:null,values:n}}_getNewBinsArrayValues(e){let t=e.map((e,t)=>({value:e,index:t})).sort((e,t)=>e.value-t.value),n=[];for(let e=0;e<t.length;e++){let r=t[e].index;if(e===0){n[r]={start:-1/0,end:t[e].value};continue}n[r]={start:t[e-1].value,end:t[e].value}}return n.push({start:t[t.length-1].value,end:1/0}),n}},a_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a===0||a<0&&a%1==0)return j.create(D.NUM);let o=vc(a);return Number.isNaN(o)||!Number.isFinite(o)?j.create(D.NUM):R.create(o)}},o_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0)return j.create(D.NUM);let o=Sc(a);return Math.abs(o)<1e-15?R.create(0):R.create(o)}},s_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Mc(+i.getValue(),0,1)-.5;return R.create(a)}},c_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=1,n=0,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=j.create(D.VALUE);if(a.iterator(a=>{if(a!=null&&a.isError())return e=!0,i=a,!1;if(a!=null&&a.isNull()||a!=null&&a.isBoolean())return!0;let o=a.getValue();if(!w(o))return!0;+o<=0&&(r=!0),t*=+o,n++}),e)return i}else{if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}if(a.isNull()||a.isBoolean())continue;let e=a.getValue();if(!w(e))continue;+e<=0&&(r=!0),t*=+e,n++}}if(n===0||r)return j.create(D.NUM);let i=t**(1/n);return R.create(i)}},l_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t,n);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=this._getNewXsValues(s,n);if(c instanceof j)return c;let l=r==null?L.create(!0):r;if(l.isArray()&&(l=l.get(0,0)),l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+l.getValue();return this._getResult(o,s,c,u)}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=e.length===1&&e[0].length>1,a=qc(e,t,n,r,!0);if(a instanceof j)return a;let{coefficients:o,newX:s}=a,c=o[0].length,l=o[0][c-1],u=[];for(let e=0;e<s.length;e++){u[e]=[];let t=l;for(let n=c-2;n>=0;n--)t*=o[0][c-2-n]**s[e][n];u[e].push(t)}return i&&(u=Vs(u)),B.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=Wc(t.flat(),i,r,!0),s=n.map(e=>e.map(e=>o*a**e));return B.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Hc(t)}},u_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=0,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isArray()){let e=!1,i=j.create(D.VALUE);if(a.iterator(a=>{if(a!=null&&a.isError())return e=!0,i=a,!1;if(a!=null&&a.isNull()||a!=null&&a.isBoolean())return!0;let o=a.getValue();if(!w(o))return!0;+o<=0&&(r=!0),t+=1/o,n++}),e)return i}else{if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}if(a.isNull()||a.isBoolean())continue;let e=a.getValue();if(!w(e))continue;+e<=0&&(r=!0),t+=1/e,n++}}if(n===0)return j.create(D.NA);if(r)return j.create(D.NUM);let i=n/t;return R.create(i)}},d_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,5),E(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,t,j.create(D.NA)),l=V(a,o,n,j.create(D.NA)),u=V(a,o,r,j.create(D.NA)),d=V(a,o,i,j.create(D.NA)),f=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n),a=u.get(t,n),o=d.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:o.isError()?o:this._handleSingleObject(e,r,i,a,o)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=X(e,t,n,r,i);if(a)return o;let[c,l,u,d,f]=s,p=Math.floor(+c.getValue()),m=Math.floor(+l.getValue()),h=Math.floor(+u.getValue()),g=Math.floor(+d.getValue()),_=+f.getValue();if(p<0||p>m||p>h||p<m-g+h||m<=0||m>g||h<=0||h>g||g<=0)return j.create(D.NUM);let v;return v=_?Tc(p,m,h,g):Ec(p,m,h,g),Number.isNaN(v)&&(v=0),R.create(v)}},f_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=_c(0,e,t);return Number.isFinite(n)?R.create(n):j.create(D.DIV_BY_ZERO)}},p_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++)for(let r=0;r<o;r++){let a=i.isArray()?i.get(e,r):i;if(a.isError())return a;if(a.isNull()||a.isBoolean())continue;let o=a.getValue();w(o)&&(t.push(+o),n+=+o)}}return t.length<=3?j.create(D.DIV_BY_ZERO):this._getResult(t,n)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/(n-1));if(a===0)return j.create(D.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**4;let s=n*(n+1)/((n-1)*(n-2)*(n-3))*o-3*(n-1)**2/((n-2)*(n-3));return R.create(s)}},m_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return tl(e,+a.getValue())}},h_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=n==null?L.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?L.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=X(c,l);if(u)return d;let[p,m]=f;return this._getResult(o,s,+p.getValue(),+m.getValue())}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=qc(e,t,t,n,!1);if(i instanceof j)return i;let{coefficients:a,X:o,XTXInverse:s}=i,c=[];if(r){let t=e.flat(),r=t.length,i=n?t.reduce((e,t)=>e+t,0)/r:0,l=s.length,u=r-l,d=a[0].length,f=Array(d-2).fill(D.NA),p=a[0][d-1],m=[];for(let e=0;e<o.length;e++){let t=p;for(let n=d-2;n>=0;n--)t+=a[0][d-2-n]*o[e][n];m.push(t)}let h=0,g=0;for(let e=0;e<r;e++)h+=(t[e]-i)**2,g+=(t[e]-m[e])**2;let _=h-g,v=h===0?0:_/h,y=[];for(let e=l-1;e>=0;e--){let t=u>0?Math.sqrt(g/u*s[e][e]):0;y.push(t)}if(n){let e=y.shift();y.push(e)}else y.push(D.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):D.NUM;c=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else c=[a[0]];return B.createByArray(c)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s}=Wc(a,i,n,!1);if(Number.isNaN(o))return j.create(D.NA);let c=[];if(r){let e=i.length,t=0,r=0,l=e-1;if(n){let n=0,o=0;for(let t=0;t<e;t++)n+=i[t],o+=a[t];t=n/e,r=o/e,l=e-2}let u=0,d=0,f=0;for(let n=0;n<e;n++)u+=(i[n]-t)**2,d+=(i[n]-(o*a[n]+s))**2,f+=(a[n]-r)**2;let p=u-d,m=p===u?1:p/u,h=0,g=0,_=0;l>0&&(f>0&&(h=Math.sqrt(d/l/f),g=Math.sqrt(d/l*(1/e+r**2/f))),_=Math.sqrt(d/l));let v=l>0?p/1/(d/l):D.NUM;n||(g=D.NA),c=[[o,s],[h,g],[m,_],[v,l],[p,d]]}else c=[[o,s]];return B.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}},g_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=n==null?L.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?L.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=X(c,l);if(u)return d;let[p,m]=f;return this._getResult(o,s,+p.getValue(),+m.getValue())}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=qc(e,t,t,n,!0);if(i instanceof j)return i;let{coefficients:a,Y:o,X:s,XTXInverse:c}=i,l=[];if(r){let e=o.flat(),t=e.length,r=n?e.reduce((e,t)=>e+t,0)/t:0,i=c.length,u=t-i,d=a[0].length,f=Array(d-2).fill(D.NA),p=a[0][d-1],m=[];for(let e=0;e<s.length;e++){let t=p;for(let n=d-2;n>=0;n--)t*=a[0][d-2-n]**s[e][n];m.push(Math.log(t))}let h=0,g=0;for(let i=0;i<t;i++)h+=(e[i]-r)**2,!(!n&&!Number.isFinite(m[i]))&&(g+=(e[i]-m[i])**2);Number.isFinite(g)||(g=0);let _=h-g,v=h===0?0:_/h,y=[];for(let e=i-1;e>=0;e--){let t=u>0?Math.sqrt(g/u*c[e][e]):0;y.push(t)}if(n){let e=y.shift();y.push(e)}else y.push(D.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):D.NUM;l=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else l=[a[0]];return B.createByArray(l)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s,Y:c}=Wc(a,i,n,!0);if(Number.isNaN(o))return j.create(D.NA);let l=[];if(r){let e=c.length,t=0,r=0,i=e-1;if(n){let n=0,o=0;for(let t=0;t<e;t++)n+=c[t],o+=a[t];t=n/e,r=o/e,i=e-2}let u=0,d=0,f=0;for(let n=0;n<e;n++)u+=(c[n]-t)**2,d+=(c[n]-Math.log(s*o**a[n]))**2,f+=(a[n]-r)**2;let p=u-d,m=u===0?0:p/u,h=0,g=0,_=0,v=0;i>0&&(f>0&&(h=Math.sqrt(d/i/f),g=Math.sqrt(d/i*(1/e+r**2/f))),_=Math.sqrt(d/i),v=p/1/(d/i)),n||(g=D.NA),l=[[o,s],[h,g],[m,_],[v,i],[p,d]]}else l=[[o,s]];return B.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}},__=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=+s.getValue(),f=+c.getValue(),p=+l.getValue(),m=+u.getValue();if(d<=0||p<=0)return j.create(D.NUM);let h;return h=m?Dc(d,f,p):Oc(d,f,p),R.create(h)}},v_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=this._getRangeValues(e);if(n instanceof j)return n;let r=vs(t);if(r.isError())return r;let{isError:i,errorObject:a,variants:o}=X(r);if(i)return a;let[s]=o,c=+s.getValue();if(c<=0||c>=1)return j.create(D.NUM);if(n.length<2)return j.create(D.DIV_BY_ZERO);let l=1-c,u=n.length,d=n.reduce((e,t)=>e+t,0)/u,f=n.reduce((e,t)=>e+(t-d)**2,0)/(u-1),p=Math.sqrt(f);if(p<=0)return j.create(D.NUM);let m=Math.abs(zc(l/2,u-1)*p/Math.sqrt(u));return R.create(m)}_getRangeValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;r.isNull()||r.isBoolean()||r.isString()||t.push(+r.getValue())}return t}},y_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(-1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isArray()&&(r=r.max()),r.isError())return r;t=this._validator(t,r)}}return t.getValue()===-1/0?R.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},b_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(-1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(r.isArray()&&r.iterator(e=>{let n=e;if((n==null||n.isNull()||n.isString())&&(n=R.create(0)),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=this._validator(t,n)}),t.isError())return t;t=this._validator(t,r)}}return t.getValue()===-1/0?R.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},x_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`MAXIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},S_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isArray()){let e=!1,n=j.create(D.VALUE);if(r.iterator(r=>{if(r!=null&&r.isError())return e=!0,n=r,!1;if(r!=null&&r.isNull()||r!=null&&r.isBoolean())return!0;let i=r.getValue();if(!w(i))return!0;t.push(+i)}),e)return n}else{if(r.isError())return r;if(r.isNull()||r.isBoolean())continue;if(r.isString()){let e=r.convertToNumberObjectValue();if(e.isError())return e}let e=r.getValue();if(!w(e))continue;t.push(+e)}}return t.length===0?j.create(D.NUM):el(t)}},C_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isArray()&&(r=r.min()),r.isError())return r;t=this._validator(t,r)}}return t.getValue()===1/0?R.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},w_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=R.create(1/0);for(let n=0;n<e.length;n++){let r=e[n];if(!r.isNull()){if((r.isString()||r.isBoolean())&&(r=r.convertToNumberObjectValue()),r.isError())return r;if(r.isArray()&&r.iterator(e=>{let n=e;if((n==null||n.isNull()||n.isString())&&(n=R.create(0)),n.isBoolean()&&(n=n.convertToNumberObjectValue()),n.isError())return t=n,!1;t=this._validator(t,n)}),t.isError())return t;t=this._validator(t,r)}}return t.getValue()===1/0?R.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},T_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255),E(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Pa(t,e);if(n)return r;if(i)return a===1&&o===1?j.create(D.VALUE):V(a,o,j.create(D.VALUE));let l=Ia(c,{formulaName:`MINIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:B.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},E_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t={},n=0,r=1;for(let i=0;i<e.length;i++){let a=e[i];if(a.isError())return a;if(a.isString()){let e=a.convertToNumberObjectValue();if(e.isError())return e}let o=a.isArray()?a.getRowCount():1,s=a.isArray()?a.getColumnCount():1;for(let e=0;e<o;e++)for(let i=0;i<s;i++){let o=a.isArray()?a.get(e,i):a;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;let s=o.getValue();w(s)&&(t[+s]?(t[+s].count++,t[+s].count>r&&(r=t[+s].count)):t[+s]={count:1,order:n++})}}return n===0||r===1?new j(D.NA):this._getResult(t,r)}_getResult(e,t){let n=Object.entries(e).filter(([e,{count:n}])=>n===t).sort((e,t)=>e[1].order-t[1].order).map(([e])=>+e);return n.length===1?R.create(n[0]):B.createByArray(n.map(e=>[e]))}},D_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(e,t,n,r);if(i)return a;let[s,c,l,u]=o,d=Math.floor(+s.getValue()),f=Math.floor(+c.getValue()),p=+l.getValue(),m=+u.getValue();if(d<0||f<1||p<=0||p>=1)return j.create(D.NUM);let h;return h=m?Ac(d,f,p):jc(d,f,p),R.create(h)}},O_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue(),l;return l=c?Mc(s,0,1):Nc(s,0,1),R.create(l)}},k_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(c===0||l===0)return j.create(D.DIV_BY_ZERO);let u=s/Math.sqrt(c*l);return R.create(u)}},A_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return il(e,+a.getValue())}},j_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?R.create(3):n;i.isNull()&&(i=R.create(3));let a=Math.max(t.isArray()?t.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,t,j.create(D.NA)),c=V(a,o,i,j.create(D.NA)),l=s.mapValue((e,t,n)=>{let i=c.get(t,n);return e.isError()?e:i.isError()?i:this._handleSingleObject(r,e,i)});return a===1&&o===1?l.get(0,0):l}_handleSingleObject(e,t,n){if(e instanceof j)return e;let{isError:r,errorObject:i,variants:a}=X(t,n);if(r)return i;let[o,s]=a,c=+o.getValue(),l=Math.floor(+s.getValue()),u=e.length;if(u===0||c<e[0]||c>e[u-1])return j.create(D.NA);if(u===1)return c===e[0]?R.create(1):j.create(D.NA);let d=0,f=!1,p=0;for(;!f&&p<u;)c===e[p]?(d=(p+1)/(u+1),f=!0):c>e[p]&&p+1<u&&c<e[p+1]&&(d=(p+1+(c-e[p])/(e[p+1]-e[p]))/(u+1),f=!0),p++;return f?l<1?j.create(D.NUM):(d=Ki(d,l),R.create(d)):j.create(D.NA)}_getValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;let a=n.getValue();w(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},M_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(u<0||u>=2147483647||d<0||u<d)return j.create(D.NUM);let f=1;for(let e=u-d+1;e<=u;e++)f*=e;return Number.isFinite(f)?R.create(f):j.create(D.NUM)});return n===1&&r===1?o.get(0,0):o}},N_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;if(r.isError())return r;let{isError:i,errorObject:o,variants:s}=X(e,r);if(i)return o;let[c,l]=s,u=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(u<0||u>=2147483647||d<0)return j.create(D.NUM);if(u===0)return d===0?R.create(1):R.create(0);let f=u**d;return Number.isFinite(f)?R.create(f):j.create(D.NUM)});return n===1&&r===1?o.get(0,0):o}},P_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return R.create(o)}},F_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,xRangeValues:o,probRangeValues:s}=this._handleXRangeAndProbRange(e,t),c=r==null?n:r;r!=null&&r.isNull()&&(c=n);let l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),u=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=V(l,u,n,j.create(D.NA)),f=V(l,u,c,j.create(D.NA)),p=d.mapValue((n,r,c)=>{let l=f.get(r,c);return e.isError()?e:t.isError()?t:n.isError()?n:l.isError()?l:i?a:this._handleSingleObject(o,s,n,l)});return l===1&&u===1?p.get(0,0):p}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(n,r);if(i)return a;let[s,c]=o,l=+s.getValue(),u=+c.getValue();if(t.reduce((e,t)=>e+t,0)!==1)return j.create(D.NUM);let d=0;for(let n=0;n<e.length;n++)e[n]>=l&&e[n]<=u&&(d+=t[n]);return R.create(d)}_handleXRangeAndProbRange(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return{isError:!0,errorObject:s,xRangeValues:[],probRangeValues:[]};if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return{isError:!0,errorObject:j.create(D.VALUE),xRangeValues:[],probRangeValues:[]};if(n*r!==i*a)return{isError:!0,errorObject:j.create(D.NA),xRangeValues:[],probRangeValues:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]}:f?{isError:!0,errorObject:j.create(D.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:u,probRangeValues:d}}},I_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return ol(e,Math.floor(+a.getValue()))}},L_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return j.create(D.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();return Number.isNaN(c)||Number.isNaN(l)?j.create(D.VALUE):this._getResult(c,l,o)});return c===1&&l===1?f.get(0,0):f}_getResult(e,t,n){let r=n.sort((e,n)=>t?e-n:n-e),i=r.indexOf(e),a=[];for(;i>=0;){let t=i+1;a.push(t),i=r.indexOf(e,t)}if(a.length===0)return j.create(D.NA);let o=a.reduce((e,t)=>e+t,0)/a.length;return R.create(o)}_checkRefReferenceObject(e){let t=!1,n=j.create(D.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},R_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3),E(this,`needsReferenceObject`,!0)}calculate(e,t,n){let r=e;r.isReferenceObject()&&(r=r.toArrayValueObject());let{refHasError:i,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t),s=n==null?R.create(0):n;s.isReferenceObject()&&(s=s.toArrayValueObject());let c=Math.max(r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=V(c,l,r,j.create(D.NA)),d=V(c,l,s,j.create(D.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return j.create(D.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return j.create(D.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?j.create(D.NA):R.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=j.create(D.NA),r=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(e=>{let i=e;if(i.isError())return t=!0,n=i,!1;if(i.isNull()||i.isBoolean())return!0;let a=+i.getValue();if(Number.isNaN(a))return!0;r.push(a)}),{refHasError:t,refErrorObject:n,refNumbers:r}):{refHasError:!0,refErrorObject:n,refNumbers:r}}},z_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return j.create(D.DIV_BY_ZERO);let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(c===0||l===0)return j.create(D.DIV_BY_ZERO);let u=(s/Math.sqrt(c*l))**2;return R.create(u)}},B_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++)for(let r=0;r<o;r++){let a=i.isArray()?i.get(e,r):i;if(a.isError())return a;if(a.isNull()||a.isBoolean())continue;let o=a.getValue();w(o)&&(t.push(+o),n+=+o)}}return t.length<=2?j.create(D.DIV_BY_ZERO):this._getResult(t,n)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/(n-1));if(a===0)return j.create(D.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=n/((n-1)*(n-2))*o;return R.create(s)}},V_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=[],n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i.isError())return i;if(i.isString()){let e=i.convertToNumberObjectValue();if(e.isError())return e}let a=i.isArray()?i.getRowCount():1,o=i.isArray()?i.getColumnCount():1;for(let e=0;e<a;e++)for(let r=0;r<o;r++){let a=i.isArray()?i.get(e,r):i;if(a.isError())return a;if(a.isNull()||a.isBoolean())continue;let o=a.getValue();w(o)&&(t.push(+o),n+=+o)}}return t.length<=2?j.create(D.DIV_BY_ZERO):this._getResult(t,n)}_getResult(e,t){let n=e.length,r=t/n,i=0;for(let t=0;t<n;t++)i+=(e[t]-r)**2;let a=Math.sqrt(i/n);if(a===0)return j.create(D.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=o/n;return R.create(s)}},H_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if(n*r===1||i*a===1)return o.isNull()||s.isNull()?j.create(D.VALUE):j.create(D.DIV_BY_ZERO);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length,r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(t[r]-o)**2;if(c===0)return j.create(D.DIV_BY_ZERO);let l=s/c;return R.create(l)}},U_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=$c(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(!Array.isArray(e))return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i;return nl(e,+a.getValue())}},W_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=+s.getValue(),d=+c.getValue();if(d<=0)return j.create(D.NUM);let f=(l-u)/d;return R.create(f)}},G_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}},K_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std()}},q_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,i=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1,o=e;if(e.isArray()&&n===1&&r===1&&(o=e.get(0,0)),o.isError())return o;let s=t;if(t.isArray()&&i===1&&a===1&&(s=t.get(0,0)),s.isError())return s;if((n*r===1||i*a===1)&&(o.isNull()||s.isNull()))return j.create(D.VALUE);if(n*r!==i*a)return j.create(D.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Bc(e,t,n*r,r,a);return c?l:f?j.create(D.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length;if(n<=2)return j.create(D.DIV_BY_ZERO);let r=0,i=0;for(let a=0;a<n;a++)r+=e[a],i+=t[a];let a=r/n,o=i/n,s=0,c=0,l=0;for(let r=0;r<n;r++)s+=(e[r]-a)*(t[r]-o),c+=(e[r]-a)**2,l+=(t[r]-o)**2;if(l===0)return j.create(D.DIV_BY_ZERO);let u=Math.sqrt((c-s**2/l)/(n-2));return Number.isNaN(u)||!Number.isFinite(u)?j.create(D.NUM):R.create(u)}},J_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.floor(+s.getValue()),d=+c.getValue();if(u<1)return j.create(D.NUM);let f;return f=d?Lc(l,u):Rc(l,u),Number.isNaN(f)||!Number.isFinite(f)?j.create(D.NUM):R.create(f)}},Y_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<0||c<1||c>10**10)return j.create(D.NUM);let l=Lc(-s,c)*2;return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},X_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(c<1||c>10**10)return j.create(D.NUM);let l=Lc(-s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Z_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.floor(+o.getValue());if(s<=0||s>1||c<1||c>10**10)return j.create(D.NUM);let l=zc(s,c);return Number.isNaN(l)||!Number.isFinite(l)?j.create(D.NUM):R.create(l)}},Q_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Vc(e,t,n);if(i)return a;let o=Hc(e);if(o instanceof j)return o;let s=this._getKnownXsValues(o,t);if(s instanceof j)return s;let c=this._getNewXsValues(s,n);if(c instanceof j)return c;let l=r==null?L.create(!0):r;if(l.isArray()&&(l=l.get(0,0)),l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+l.getValue();return this._getResult(o,s,c,u)}_getResult(e,t,n,r){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?j.create(D.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=e.length===1&&e[0].length>1,a=qc(e,t,n,r,!1);if(a instanceof j)return a;let{coefficients:o,newX:s}=a,c=o[0].length,l=o[0][c-1],u=[];for(let e=0;e<s.length;e++){u[e]=[];let t=l;for(let n=c-2;n>=0;n--)t+=o[0][c-2-n]*s[e][n];u[e].push(t)}return i&&(u=Vs(u)),B.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=Wc(t.flat(),i,r,!1);if(Number.isNaN(a))return j.create(D.NA);let s=n.map(e=>e.map(e=>a*e+o));return B.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Uc(e.length,e[0].length):Hc(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Hc(t)}},$_=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=this._getValues(e);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(n,e));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}return this._handleSingleObject(n,t)}_handleSingleObject(e,t){if(e instanceof j)return e;let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i,o=+a.getValue();if(o<0||o>=1)return j.create(D.NUM);let s=Ki(e.length*o/2,0)*2,c=e.slice(s/2,e.length-s/2),l=c.reduce((e,t)=>e+t,0)/c.length;return R.create(l)}_getValues(e){let t=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,r=[];for(let i=0;i<t;i++)for(let t=0;t<n;t++){let n=e.isArray()?e.get(i,t):e;if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;let a=n.getValue();w(a)&&r.push(+a)}return r.length===0?j.create(D.NUM):r.sort((e,t)=>e-t)}},ev=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}},tv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var()}};const nv=[[Ng,q.AVEDEV],[Fg,q.AVERAGE],[Ig,q.AVERAGE_WEIGHTED],[Lg,q.AVERAGEA],[Rg,q.AVERAGEIF],[zg,q.AVERAGEIFS],[Bg,q.BETA_DIST],[sl,q.BETA_INV],[cl,q.BINOM_DIST],[Vg,q.BINOM_DIST_RANGE],[ll,q.BINOM_INV],[Hg,q.CHISQ_DIST],[ul,q.CHISQ_DIST_RT],[Ug,q.CHISQ_INV],[dl,q.CHISQ_INV_RT],[fl,q.CHISQ_TEST],[pl,q.CONFIDENCE_NORM],[Wg,q.CONFIDENCE_T],[Gg,q.CORREL],[Kg,q.COUNT],[qg,q.COUNTA],[Jg,q.COUNTBLANK],[Yg,q.COUNTIF],[Xg,q.COUNTIFS],[ml,q.COVARIANCE_P],[Zg,q.COVARIANCE_S],[Qg,q.DEVSQ],[hl,q.EXPON_DIST],[$g,q.F_DIST],[gl,q.F_DIST_RT],[e_,q.F_INV],[_l,q.F_INV_RT],[vl,q.F_TEST],[t_,q.FISHER],[n_,q.FISHERINV],[r_,q.FORECAST],[r_,q.FORECAST_LINEAR],[i_,q.FREQUENCY],[a_,q.GAMMA],[yl,q.GAMMA_DIST],[bl,q.GAMMA_INV],[o_,q.GAMMALN],[o_,q.GAMMALN_PRECISE],[s_,q.GAUSS],[c_,q.GEOMEAN],[l_,q.GROWTH],[u_,q.HARMEAN],[d_,q.HYPGEOM_DIST],[f_,q.INTERCEPT],[p_,q.KURT],[m_,q.LARGE],[h_,q.LINEST],[g_,q.LOGEST],[__,q.LOGNORM_DIST],[xl,q.LOGNORM_INV],[v_,q.MARGINOFERROR],[y_,q.MAX],[b_,q.MAXA],[x_,q.MAXIFS],[S_,q.MEDIAN],[C_,q.MIN],[w_,q.MINA],[T_,q.MINIFS],[E_,q.MODE_MULT],[Sl,q.MODE_SNGL],[D_,q.NEGBINOM_DIST],[Cl,q.NORM_DIST],[wl,q.NORM_INV],[O_,q.NORM_S_DIST],[Tl,q.NORM_S_INV],[k_,q.PEARSON],[A_,q.PERCENTILE_EXC],[El,q.PERCENTILE_INC],[j_,q.PERCENTRANK_EXC],[Dl,q.PERCENTRANK_INC],[M_,q.PERMUT],[N_,q.PERMUTATIONA],[P_,q.PHI],[Ol,q.POISSON_DIST],[F_,q.PROB],[I_,q.QUARTILE_EXC],[kl,q.QUARTILE_INC],[L_,q.RANK_AVG],[R_,q.RANK_EQ],[z_,q.RSQ],[B_,q.SKEW],[V_,q.SKEW_P],[H_,q.SLOPE],[U_,q.SMALL],[W_,q.STANDARDIZE],[Al,q.STDEV_P],[jl,q.STDEV_S],[G_,q.STDEVA],[K_,q.STDEVPA],[q_,q.STEYX],[J_,q.T_DIST],[Y_,q.T_DIST_2T],[X_,q.T_DIST_RT],[Z_,q.T_INV],[Ml,q.T_INV_2T],[Nl,q.T_TEST],[Q_,q.TREND],[$_,q.TRIMMEAN],[Pl,q.VAR_P],[Fl,q.VAR_S],[ev,q.VARA],[tv,q.VARPA],[Il,q.WEIBULL_DIST],[Ll,q.Z_TEST]];var rv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t;if(t!=null&&t.isNull()&&(n=R.create(0)),n.isArray()){let t=n.mapValue(t=>this._handleSingleObject(e,t));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e,n)}_handleSingleObject(e,t){let n=this._checkArray(e);if(n.isError())return n;let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=+o.getValue(),c=e.isArray()?e.getRowCount():1,l=e.isArray()?e.getColumnCount():1,u=``;for(let t=0;t<c;t++)for(let n=0;n<l;n++){let r=e.isArray()?e.get(t,n):e,i=`${r.getValue()}`;r.isNull()&&(i=``),r.isBoolean()&&(i=i.toLocaleUpperCase()),r.isString()&&s?u+=`"${i}"`:u+=i,t===c-1&&n===l-1||(s?n===l-1?u+=`;`:u+=`,`:u+=`, `)}return s&&(u=`{${u}}`),u.length>32767?j.create(D.CALC):z.create(u)}_checkArray(e){if(e.isArray()){let t=e.getRowCount(),n=e.getColumnCount();return t>1||n>1?e:e.get(0,0)}return e}},iv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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;let t=e.getValue().toLocaleString(),n=``;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);r===12288?r=32:r>=65281&&r<=65374&&(r-=65248),n+=String.fromCharCode(r)}return z.create(n)}},av=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),s=Number.parseFloat((Math.abs(a)-o).toFixed(2)),c=``;return c=o===0?s===0?`ศูนย์บาทถ้วน`:`${a<0?`ลบ`:``}${this._convertNumberToThaiText(s*100)}สตางค์`:s===0?`${a<0?`ลบ`:``}${this._convertNumberToThaiText(o)}บาทถ้วน`:`${a<0?`ลบ`:``}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(s*100)}สตางค์`,z.create(c)}_convertNumberToThaiText(e){let t=[`ล้าน`,`สิบ`,`ร้อย`,`พัน`,`หมื่น`,`แสน`,``],n=[`ศูนย์`,`หนึ่ง`,`สอง`,`สาม`,`สี่`,`ห้า`,`หก`,`เจ็ด`,`แปด`,`เก้า`],r=[`ลบ`,`บาท`,`ถ้วน`,`สตางค์`,`ยี่`,`เอ็ด`,`,`,` `,`฿`],i=e.toString(),a=i.length,o=``;for(let e=a;e>0;e--){let s=Number.parseInt(i.charAt(a-e),10),c=n[s],l=e>1?(e-1)%6:6;if(l===1&&s===2&&(c=r[4]),s===1)switch(l){case 0:case 6:o+=e<a?r[5]:c;break;case 1:break;default:o+=c;break}else if(s===0){l===0&&(o+=t[l]);continue}else o+=c;o+=t[l]}return o}};const ov=Object.values(o).filter(e=>[o.TABLE_START,o.TABLE_ROW_START,o.TABLE_CELL_START,o.TABLE_CELL_END,o.TABLE_ROW_END,o.TABLE_END,o.CUSTOM_BLOCK].includes(e));var sv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<=0)return j.create(D.VALUE);let o=String.fromCharCode(a);return ov.some(e=>e===o)&&(o=``),z.create(o)}},cv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`.replace(/[\0-\x1F]/g,``);return z.create(t)}},lv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 j.create(D.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t===``)return j.create(D.VALUE);let n=t.charCodeAt(0);return R.create(n)}},uv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=``,n=null;for(let r of e)if(r.isArray()){if(r.iterator(e=>{if(e==null||e.isNull())return!0;if(e.isError())return n=e,!1;e.isBoolean()?t+=`${e.getValue()}`.toLocaleUpperCase():(e.isString()||e.isNumber())&&(t+=e.getValue())}),n)return n}else !r.isError()&&!r.isNull()&&(t+=r.getValue());return z.create(t)}},dv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,255)}calculate(...e){let t=0,n=0;e.forEach(e=>{if(e.isArray()){let r=e;t=Math.max(t,r.getRowCount()),n=Math.max(n,r.getColumnCount())}else t=Math.max(t,1),n=Math.max(n,1)});let r=null;for(let i of e)r=V(t,n,i,j.create(D.NA)).mapValue((e,t,n)=>{var i,a;let o=r&&r.get(t,n);if(o!=null&&o.isError())return o;if(e.isError())return e;let s=o==null?void 0:o.getValue(),c=e==null?void 0:e.getValue();o!=null&&o.isBoolean()&&(s=`${s}`.toLocaleUpperCase()),e!=null&&e.isBoolean()&&(c=`${c}`.toLocaleUpperCase());let l=o!=null&&o.isNull()||(i=s)==null?``:i,u=e!=null&&e.isNull()||(a=c)==null?``:a;return z.create(`${l}${u}`)});return r||j.create(D.VALUE)}},fv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let n=``;for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);r>=33&&r<=126?n+=String.fromCharCode(r+65248):r===32?n+=` `:n+=t.charAt(e)}return z.create(n)}},pv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2),E(this,`needsLocale`,!0)}calculate(e,t){let n=t==null?R.create(2):t;n.isNull()&&(n=R.create(2));let r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.trunc(+o.getValue());if(c>127)return j.create(D.VALUE);c<0&&(s=`${s}`.length<Math.abs(c)?0:s<0?-Gi(Math.abs(s),c):Gi(s,c),c=0);let l=Fi(this.getLocale(),s,c);return z.create(l)}},mv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,I.create()),a=V(n,r,t,I.create()),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){let n=e.isNull()&&t.isNull();return L.create(n)}let n=`${e.getValue()}`;e.isBoolean()&&(n=n.toLocaleUpperCase());let r=`${t.getValue()}`;t.isBoolean()&&(r=r.toLocaleUpperCase());let i=n===r;return L.create(i)}};const hv=(e,t)=>_e.format(e,t,{throws:!1}),gv=e=>{let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),e.isNumber()&&(t=e.getPattern()===``?`${aa(+e.getValue())}`:hv(e.getPattern(),+e.getValue())),t};var _v=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e),i=gv(t),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);return u===-1?j.create(D.VALUE):R.create(u+1)}};function vv(e){let t=0;for(let n=0;n<e.length;n++)t+=yv(e,n);return t}function yv(e,t,n=`ltr`){return Cv(e,t,n)>255?2:1}function bv(e){return e>=55296&&e<=56319}function xv(e){return e>=56320&&e<=57343}function Sv(e,t){return((e&1023)<<10)+(t&1023)+65536}function Cv(e,t,n=`ltr`){let r=e.charCodeAt(t);if(n===`ltr`&&bv(r)&&t+1<e.length){let n=e.charCodeAt(t+1);if(xv(n))return Sv(r,n)}if(n===`rtl`&&xv(r)&&t-1>=0){let n=e.charCodeAt(t-1);if(bv(n))return Sv(n,r)}return r}var wv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e),i=gv(t),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);if(u===-1)return j.create(D.VALUE);let d=vv(i.substring(0,u))+1;return R.create(d)}},Tv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?R.create(2):t;r.isNull()&&(r=R.create(2));let i=n==null?L.create(!1):n;i.isNull()&&(i=L.create(!1));let a=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,i.isArray()?i.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,i.isArray()?i.getColumnCount():1),s=V(a,o,e,j.create(D.NA)),c=V(a,o,r,j.create(D.NA)),l=V(a,o,i,j.create(D.NA)),u=s.mapValue((e,t,n)=>{let r=c.get(t,n),i=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return a===1&&o===1?u.get(0,0):u}_handleSingleObject(e,t,n){let{isError:r,errorObject:i,variants:a}=X(e,t,n);if(r)return i;let[o,s,c]=a,l=+o.getValue(),u=Math.trunc(+s.getValue()),d=+c.getValue();if(u>127)return j.create(D.VALUE);u<0&&(l=`${l}`.length<Math.abs(u)?0:l<0?-Gi(Math.abs(l),u):Gi(l,u),u=0);let f=d?`###0`:`#,##0`;u>0&&(f+=`.${`0`.repeat(u)}`);let p=hv(f,l);return z.create(p)}},Ev=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);if(s>=n.length)return z.create(n);let c=n.substring(0,s);return z.create(c)}},Dv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,I.create()),o=V(r,i,n,I.create()),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);let c=0,l=0,u=``;for(;l<s&&c<n.length;)l+=yv(n,c),u+=n.charAt(c),c++;return z.create(u)}},Ov=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=gv(e);return R.create(t.length)}},kv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleText(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;let t=vv(gv(e));return R.create(t)}},Av=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`.toLocaleLowerCase();return z.create(t)}},jv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let r=gv(e),{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);if(e.isNull()||l>r.length||u===0)return z.create(``);let d=r.substring(l-1,l-1+u);return z.create(d)}},Mv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,t,j.create(D.NA)),s=V(r,i,n,j.create(D.NA)),c=a.mapValue((e,t,n)=>{let r=o.get(t,n),i=s.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return r===1&&i===1?c.get(0,0):c}_handleSingleObject(e,t,n){let r=gv(e),{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);if(e.isNull()||l>r.length||u===0)return z.create(``);r=r.substring(l-1);let d=0,f=0,p=``;for(;f<u&&d<r.length;)f+=yv(r,d),p+=r.charAt(d),d++;return z.create(p)}};const Nv=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],Pv=[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],Fv=[``,`十`,`百`,`千`],Iv=[``,`拾`,`佰`,`仟`],Lv=[``,`万`,`亿`,`兆`];var Rv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.mapValue((e,t,n)=>{let r=a.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return n===1&&r===1?o.get(0,0):o}_handleSingleObject(e,t){let n=e.convertToNumberObjectValue();if(n.isError())return n;let r=t.convertToNumberObjectValue();if(r.isError())return r;let i=n.getValue(),a=Math.trunc(r.getValue());if(i<0||![1,2,3].includes(a))return j.create(D.NUM);i=Math.round(i);let o=i.toString(),s=o.length,c=``,l=!1;for(let e=0;e<s;e++){let t=Number(o[e]);if(s===1&&t===0){c+=a===2?Pv[0]:Nv[0];break}if(a===3){c+=Nv[t];continue}let n=s-e-1,r=n%4,i=Math.trunc(n/4);if(s>=17&&i>2){if(c+=a===1?Nv[t]:Pv[t],i>3)continue}else t===0?l=r!==0:(l&&(c+=a===1?Nv[0]:Pv[0],l=!1),c+=a===1?Nv[t]+Fv[r]:Pv[t]+Iv[r]);r===0&&i>0&&o.slice(Math.max(0,e-3),e+1)!==`0000`&&(c+=Lv[i])}return z.create(c)}},zv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,n){let r=t==null?z.create(`.`):t,i=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,r,j.create(D.NA)),c=n?V(i,a,n,j.create(D.NA)):void 0,l=o.mapValue((e,t,r)=>{let i=s.get(t,r),a=n?c.get(t,r):void 0;return e.isError()?e:i.isError()?i:a!=null&&a.isError()?a:i.isNull()||a!=null&&a.isNull()?j.create(D.VALUE):e.isNull()?R.create(0):this._handleSingleObject(e,i,a)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=`${e.getValue()}`;r=r.replace(/\s+/g,``);let i=`${t.getValue()}`;t.isBoolean()&&(i=i.toLocaleUpperCase()),i=i.charAt(0);let a;if(n&&(a=`${n.getValue()}`,n.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),i===a))return j.create(D.VALUE);if(r.trim()===``)return R.create(0);if(!r.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return j.create(D.VALUE);let o=r.split(i);if(o.length>2)return j.create(D.VALUE);let s=o[0].replace(/,/g,``);n&&(s=s.split(a).join(``));let c=0;if(o.length===1){i===`,`&&(s=s.replace(/\./g,``));let e=0;for(;s.endsWith(`%`);)s=s.slice(0,-1),e++;c=e>0?s/100**e:+s}else{if(!w(s))return j.create(D.VALUE);let e=o[1],t=0;for(;e.endsWith(`%`);)e=e.slice(0,-1),t++;let n=`${s}.${e}`;if(!w(n))return j.create(D.VALUE);c=t>0?n/100**t:+n}return Number.isNaN(c)?j.create(D.VALUE):R.create(c)}},Bv=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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;let t=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,e=>e.toLocaleUpperCase());return z.create(t)}},$=function(e){return e[e.ROOT=0]=`ROOT`,e[e.GROUP=1]=`GROUP`,e[e.POSITION=2]=`POSITION`,e[e.SET=3]=`SET`,e[e.RANGE=4]=`RANGE`,e[e.REPETITION=5]=`REPETITION`,e[e.REFERENCE=6]=`REFERENCE`,e[e.CHAR=7]=`CHAR`,e}($||{});const Vv=()=>[{type:$.RANGE,from:48,to:57}],Hv=()=>[{type:$.CHAR,value:95},{type:$.RANGE,from:97,to:122},{type:$.RANGE,from:65,to:90},{type:$.RANGE,from:48,to:57}],Uv=()=>[{type:$.CHAR,value:9},{type:$.CHAR,value:10},{type:$.CHAR,value:11},{type:$.CHAR,value:12},{type:$.CHAR,value:13},{type:$.CHAR,value:32},{type:$.CHAR,value:160},{type:$.CHAR,value:5760},{type:$.RANGE,from:8192,to:8202},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233},{type:$.CHAR,value:8239},{type:$.CHAR,value:8287},{type:$.CHAR,value:12288},{type:$.CHAR,value:65279}],Wv=()=>({type:$.SET,set:Hv(),not:!1}),Gv=()=>({type:$.SET,set:Hv(),not:!0}),Kv=()=>({type:$.SET,set:Vv(),not:!1}),qv=()=>({type:$.SET,set:Vv(),not:!0}),Jv=()=>({type:$.SET,set:Uv(),not:!1}),Yv=()=>({type:$.SET,set:Uv(),not:!0}),Xv=()=>({type:$.SET,set:[{type:$.CHAR,value:10},{type:$.CHAR,value:13},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233}],not:!0});function Zv(e){let t={type:$.ROOT,stack:[]},n=t,r=t.stack,i=[],a=[],o=0,s=t=>{throw SyntaxError(`Invalid regular expression: /${e}/: Nothing to repeat at column ${t-1}`)},c=$v(e),l=0,u;for(;l<c.length;)switch(u=c[l++],u){case`\\`:if(l===c.length)throw SyntaxError(`Invalid regular expression: /${e}/: \\ at end of pattern`);switch(u=c[l++],u){case`b`:r.push({type:$.POSITION,value:`b`});break;case`B`:r.push({type:$.POSITION,value:`B`});break;case`w`:r.push(Wv());break;case`W`:r.push(Gv());break;case`d`:r.push(Kv());break;case`D`:r.push(qv());break;case`s`:r.push(Jv());break;case`S`:r.push(Yv());break;default:if(/\d/.test(u)){for(;/\d/.test(c[l])&&l<c.length;)u+=c[l++];let e=Number.parseInt(u,10);r.push({type:$.REFERENCE,value:e}),a.push({reference:{type:$.REFERENCE,value:e},stack:r,index:r.length-1})}else r.push({type:$.CHAR,value:u.charCodeAt(0)})}break;case`^`:r.push({type:$.POSITION,value:`^`});break;case`$`:r.push({type:$.POSITION,value:`$`});break;case`[`:{let t=c[l]===`^`;t&&l++;let n=Qv(c.slice(l),e);l+=n[1],r.push({type:$.SET,set:n[0],not:t});break}case`.`:r.push(Xv());break;case`(`:{let t={type:$.GROUP,stack:[],remember:!0};if(c[l]===`?`){let n=c[l+1];if(l+=2,n===`=`)t.followedBy=!0;else if(n===`!`)t.notFollowedBy=!0;else if(n!==`:`)throw SyntaxError(`Invalid regular expression: /${e}/: Invalid group, character '${n}' after '?' at column ${l-1}`);t.remember=!1}else o+=1;r.push(t),i.push(n),n=t,r=t.stack;break}case`)`:if(i.length===0)throw SyntaxError(`Invalid regular expression: /${e}/: Unmatched ) at column ${l-1}`);n=i.pop(),r=n.options?n.options[n.options.length-1]:n.stack;break;case`|`:{n.options||(n.options=[n.stack],delete n.stack);let e=[];n.options.push(e),r=e;break}case`{`:{let e=/^(\d+)(,(\d+)?)?\}/.exec(c.slice(l));if(e){r.length===0&&s(l);let t=Number.parseInt(e[1],10),n=e[2]?e[3]?Number.parseInt(e[3],10):1/0:t;l+=e[0].length,r.push({type:$.REPETITION,min:t,max:n,value:r.pop()})}else r.push({type:$.CHAR,value:123});break}case`?`:r.length===0&&s(l),r.push({type:$.REPETITION,min:0,max:1,value:r.pop()});break;case`+`:r.length===0&&s(l),r.push({type:$.REPETITION,min:1,max:1/0,value:r.pop()});break;case`*`:r.length===0&&s(l),r.push({type:$.REPETITION,min:0,max:1/0,value:r.pop()});break;default:r.push({type:$.CHAR,value:u.charCodeAt(0)})}if(i.length>0)throw SyntaxError(`Invalid regular expression: /${e}/: Unterminated group`);return ey(a,o),t}function Qv(e,t){let n,r=[],i=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(n=i.exec(e))!==null;){let e=null,[,t,a,o,s,c,l,u,d,f,p]=n;if(t||a||o||s||c||l?e=(()=>{let e={type:$.SET,set:[],not:!1};return t?e=Wv():a?e=Kv():o?e=Jv():s?e=Gv():c?e=qv():l&&(e=Yv()),e})():u&&p?e={type:$.RANGE,from:(d||f).charCodeAt(0),to:p.charCodeAt(p.length-1)}:n[16]&&(e={type:$.CHAR,value:n[16].charCodeAt(0)}),!e)return[r,i.lastIndex];r.push(e)}throw SyntaxError(`Invalid regular expression: /${t}/: Unterminated character class`)}function $v(e){return e.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(e,t,n,r,i,a,o)=>{if(n)return e;let s;s=t?8:r?Number.parseInt(r,16):i?Number.parseInt(i,16):a?`@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?`.indexOf(a):{0:0,t:9,n:10,v:11,f:12,r:13}[o];let c=String.fromCharCode(s);return/[[\]{}^$.|?*+()]/.test(c)?`\\${c}`:c})}function ey(e,t){for(let n of e.reverse()){let e=n.reference.value;if(t<e){n.reference.type=$.CHAR;let t=e.toString();if(n.reference.value=Number.parseInt(t,8),!/^[0-7]+$/.test(t)){let e=0;for(;t[e]!==`8`&&t[e]!==`9`&&e<t.length;)e+=1;if(e===0?(n.reference.value=t.charCodeAt(0),e+=1):n.reference.value=Number.parseInt(t.slice(0,e),8),t.length>e){let r=n.stack.splice(n.index+1);for(let r of t.slice(e))n.stack.push({type:$.CHAR,value:r.charCodeAt(0)});n.stack.push(...r)}}}}}function ty(e,t){if(!ny(e))return{isError:!0,regExp:null};try{let n=new RegExp(e,t?`ug`:`u`);return ry(n)?{isError:!1,regExp:n}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function ny(e){return!(/\(\?<=.*?\)/g.test(e)&&!/\[.*?(\?<=.*?)\]/g.test(e)||/\(\?<!.*?\)/g.test(e)&&!/\[.*?(\?<!.*?)\]/g.test(e))}function ry(e,t){var n;let r=(n=t==null?void 0:t.limit)==null?25:n,i;Object.prototype.toString.call(e)===`[object RegExp]`?i=e.source:e&&typeof e!=`string`&&(i=`${e}`);let a;try{a=Zv(i)}catch{return!1}let o=0,s=(e,t)=>{let n=t;if(e.type===$.REPETITION){if(t>0&&(e.min===0||e.max===1/0)||iy(e)&&(o++,o>r))return!1;n=t+1}if(e.options){for(let t of e.options)if(!s({stack:t},n))return!1}let i=e.stack||e.value&&e.value.stack;if(!i)return!0;for(let e of i)if(!s(e,n))return!1;return!0};return s(a,0)}function iy(e){let t=e.stack||e.value&&e.value.stack;return t?ay(t):!1}function ay(e){for(let t of e){if(t.options&&t.options.length>0)return!0;let e=t.stack||t.value&&t.value.stack;if(e&&ay(e))return!0}return!1}var oy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=ys(e,t);if(n)return r;let[a,o]=i,s=a.getValue();a.isNull()&&(s=``),a.isBoolean()&&(s=s?`TRUE`:`FALSE`),s=`${s}`;let c=o.getValue();o.isNull()&&(c=``),o.isBoolean()&&(c=c?`TRUE`:`FALSE`),c=`${c}`;let{isError:l,regExp:u}=ty(c,!1);if(l)return j.create(D.REF);let d=s.match(u);if(d===null)return j.create(D.NA);if(d.length>1){let e=d.slice(1).map(e=>z.create(e));return e.length>1?B.create({calculateValueList:[e],rowCount:1,columnCount:e.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):e[0]}return z.create(d[0])}},sy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=ys(e,t);if(n)return r;let[a,o]=i,s=a.getValue();a.isNull()&&(s=``),a.isBoolean()&&(s=s?`TRUE`:`FALSE`),s=`${s}`;let c=o.getValue();o.isNull()&&(c=``),o.isBoolean()&&(c=c?`TRUE`:`FALSE`),c=`${c}`;let{isError:l,regExp:u}=ty(c,!1);return l?j.create(D.REF):s.match(u)===null?L.create(!1):L.create(!0)}},cy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=ys(e,t,n);if(r)return i;let[o,s,c]=a,l=o.getValue();o.isNull()&&(l=``),o.isBoolean()&&(l=l?`TRUE`:`FALSE`),l=`${l}`;let u=s.getValue();s.isNull()&&(u=``),s.isBoolean()&&(u=u?`TRUE`:`FALSE`),u=`${u}`;let d=c.getValue();c.isNull()&&(d=``),c.isBoolean()&&(d=d?`TRUE`:`FALSE`),d=`${d}`;let{isError:f,regExp:p}=ty(u,!0);if(f)return j.create(D.REF);let m=l.replace(p,d);return z.create(m)}},ly=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);let d=gv(e),f=gv(r),p=d.substring(0,l-1)+f+d.substring(l-1+u);return z.create(p)}},uy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,4),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=V(i,a,r,j.create(D.NA)),u=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n),a=l.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:a.isError()?a:this._handleSingleObject(e,r,i,a)});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let{isError:i,errorObject:a,variants:o}=X(t,n);if(i)return a;let[s,c]=o,l=Math.floor(+s.getValue()),u=Math.floor(+c.getValue());if(l<=0||u<0)return j.create(D.VALUE);let d=gv(e),f=gv(r),p=d.substring(0,l-1);d=d.substring(l-1);let m=0,h=0;for(;h<u&&m<d.length;)h+=yv(d,m),m++;return p+=f+d.substring(m),z.create(p)}},dy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e,j.create(D.NA)),a=V(n,r,t,j.create(D.NA)),o=i.map((e,t,n)=>{let r=a.get(t,n);if(e.isError())return e;let i=e.getValue();if(e.isNull()&&(i=``),e.isBoolean()&&(i=i?`TRUE`:`FALSE`),i+=``,r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let o=Math.floor(+r.getValue());if(o<0||o>32767/i.length)return j.create(D.VALUE);let s=i.repeat(o);return z.create(s)});return n===1&&r===1?o.get(0,0):o}},fy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);if(s>=n.length)return z.create(n);let c=n.substring(n.length-s);return z.create(c)}},py=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(1):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let n=gv(e),{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return j.create(D.VALUE);if(e.isNull()||s===0)return z.create(``);let c=n.length-1,l=0,u=``;for(;l<s&&c>=0;)l+=yv(n,c,`rtl`),u=n.charAt(c)+u,c--;return z.create(u)}},my=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e).toLocaleUpperCase(),i=gv(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);return u===-1?j.create(D.VALUE):R.create(u+1)}},hy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?R.create(1):n,i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,r,j.create(D.NA)),l=o.mapValue((e,t,n)=>{let r=s.get(t,n),i=c.get(t,n);return e.isError()?e:r.isError()?r:i.isError()?i:this._handleSingleObject(e,r,i)});return i===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,n){let r=gv(e).toLocaleUpperCase(),i=gv(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=X(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return j.create(D.VALUE);if(e.isNull()||r.length===0)return R.create(l);let u=i.indexOf(r,l-1);if(u===-1)return j.create(D.VALUE);let d=vv(i.substring(0,u))+1;return R.create(d)}},gy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,4)}calculate(e,t,n,r){let i=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=V(i,a,e,j.create(D.NA)),s=V(i,a,t,j.create(D.NA)),c=V(i,a,n,j.create(D.NA)),l=r?V(i,a,r,j.create(D.NA)):void 0,u=o.mapValue((e,t,n)=>{let i=s.get(t,n),a=c.get(t,n),o=r?l.get(t,n):void 0;return e.isError()?e:i.isError()?i:a.isError()?a:o!=null&&o.isError()?o:o!=null&&o.isNull()||o!=null&&o.isBoolean()?j.create(D.VALUE):(o!=null&&o.isString()&&(o=o.convertToNumberObjectValue()),o!=null&&o.isError()?o:this._handleSingleObject(e,i,a,o))});return i===1&&a===1?u.get(0,0):u}_handleSingleObject(e,t,n,r){let i=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(n),s=r?Math.floor(+r.getValue()):void 0;if(r&&s<=0)return j.create(D.VALUE);if(a===``)return z.create(i);let c=``,l=0;for(let e=0;e<i.length;e++){let t=i.substr(e,a.length);if(t===a||t.length===a.length&&t.trim()===a.trim()){if(l++,l===s){c=i.substr(0,e)+o+i.substr(e+a.length);break}s===void 0&&(c+=o),e+=a.length-1}else s===void 0&&(c+=i[e])}return s&&l<s&&(c=i),z.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}},_y=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1),E(this,`needsReferenceObject`,!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(e=>this._handleSingleObject(e)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?z.create(``):e}},vy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;let n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),r=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),i=V(n,r,e),a=V(n,r,t),o=i.map((e,t,n)=>{if(e.isError())return e;let r=a.get(t,n)||z.create(` `);if(r.isError())return r;if(r.isBoolean())return j.create(D.VALUE);if(e.isBoolean())return e;let i=e.getValue();if(e.isNull()&&(i=0),e.isString())if(w(i))i=Number(i);else{let e=le(`${i}`);e&&e.v!=null&&typeof e.v==`number`&&(i=e.v)}r.isNull()&&(r=z.create(` `));let o=`${r.getValue()}`,s=hv(o,i);return z.create(o===` `?s.trimEnd():s)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}},yy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?R.create(1):n;s.isNull()&&(o=!0,s=R.create(1));let c=!r,l=r==null?R.create(0):r,u=i==null?R.create(0):i,d=a==null?j.create(D.NA):a,f=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,d.isArray()?d.getRowCount():1),p=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,d.isArray()?d.getColumnCount():1),m=V(f,p,e,j.create(D.NA)),h=V(f,p,s,j.create(D.NA)),g=V(f,p,l,j.create(D.NA)),_=V(f,p,u,j.create(D.NA)),v=V(f,p,d,j.create(D.NA)),y=this._getResultArray(m,t,h,g,_,v,o,c);return f===1&&p===1?y.get(0,0):y}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=n.get(c,l),d=r.get(c,l),f=i.get(c,l),p=a.get(c,l),m=this._checkVariantsError(e,u,d,f);if(m.isError())return m;let h=this._getStringValue(e),g=this._getDelimiterValue(t);if(g instanceof j)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof j)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?j.create(D.VALUE):g.includes(``)?v>0?z.create(h):z.create(``):!o&&Math.abs(v)>h.length?j.create(D.VALUE):g.every(e=>e.length>h.length)?j.create(D.NA):this._getResult(h,g,v,y,b,p,s)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);if(e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;t.push(this._getStringValue(i))}),n)return r}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=Math.floor(+r.getValue());t.push(i)}return t}_getResult(e,t,n,r,i,a,o){let s=r?e.toLocaleLowerCase():e,c=r?t.map(e=>e.toLocaleLowerCase()):t,l=0,u=0,d=0;for(let e=0;e<Math.abs(n);e++)if(n<0){let e=c.map(e=>({index:s.lastIndexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>t.index-e.index)[0];if(!e)break;l=e.index,s=s.substr(0,e.index),d=e.length,u++}else{let e=c.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>e.index-t.index)[0];if(!e)break;l+=e.index+d,s=s.substr(e.index+e.length),d=e.length,u++}if(u&&u<Math.abs(n)&&o)return j.create(D.NA);if(!u||u<Math.abs(n))return i?n>0?z.create(``):z.create(e):a;let f=e.substr(l+d);return z.create(f)}},by=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?R.create(1):n;s.isNull()&&(o=!0,s=R.create(1));let c=!r,l=r==null?R.create(0):r,u=i==null?R.create(0):i,d=a==null?j.create(D.NA):a,f=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,l.isArray()?l.getRowCount():1,u.isArray()?u.getRowCount():1,d.isArray()?d.getRowCount():1),p=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,l.isArray()?l.getColumnCount():1,u.isArray()?u.getColumnCount():1,d.isArray()?d.getColumnCount():1),m=V(f,p,e,j.create(D.NA)),h=V(f,p,s,j.create(D.NA)),g=V(f,p,l,j.create(D.NA)),_=V(f,p,u,j.create(D.NA)),v=V(f,p,d,j.create(D.NA)),y=this._getResultArray(m,t,h,g,_,v,o,c);return f===1&&p===1?y.get(0,0):y}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=n.get(c,l),d=r.get(c,l),f=i.get(c,l),p=a.get(c,l),m=this._checkVariantsError(e,u,d,f);if(m.isError())return m;let h=this._getStringValue(e),g=this._getDelimiterValue(t);if(g instanceof j)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof j)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?j.create(D.VALUE):g.includes(``)?v>0?z.create(``):z.create(h):!o&&Math.abs(v)>h.length?j.create(D.VALUE):g.every(e=>e.length>h.length)?j.create(D.NA):this._getResult(h,g,v,y,b,p,s)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){let t=[];if(e.isArray()){let n=!1,r=j.create(D.VALUE);if(e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;t.push(this._getStringValue(i))}),n)return r}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let i=Math.floor(+r.getValue());t.push(i)}return t}_getResult(e,t,n,r,i,a,o){let s=r?e.toLocaleLowerCase():e,c=r?t.map(e=>e.toLocaleLowerCase()):t,l=0,u=0,d=0;for(let e=0;e<Math.abs(n);e++)if(n<0){let e=c.map(e=>({index:s.lastIndexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>t.index-e.index)[0];if(!e)break;l=e.index,s=s.substr(0,e.index),u++}else{let e=c.map(e=>({index:s.indexOf(e),length:e.length})).filter(e=>e.index!==-1).sort((e,t)=>e.index-t.index)[0];if(!e)break;l+=e.index+d,s=s.substr(e.index+e.length),d=e.length,u++}if(u&&u<Math.abs(n)&&o)return j.create(D.NA);if(!u||u<Math.abs(n))return i?n>0?z.create(e):z.create(``):a;let f=e.substr(0,l);return z.create(f)}},xy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,3),E(this,`maxParams`,255)}calculate(e,t,...n){let r=this._getDelimiterValues(e),i=this._getTextValues(n);if(t.isArray()){let e=t.mapValue(e=>this._handleSingleObject(r,e,i));return e.getRowCount()===1&&e.getColumnCount()===1?e.get(0,0):e}let a=t;if(a.isString()){let e=`${a.getValue()}`.toLocaleUpperCase();if(e===`TRUE`)return this._handleSingleObject(r,L.create(!0),i);if(e===`FALSE`)return this._handleSingleObject(r,L.create(!1),i)}return this._handleSingleObject(r,t,i)}_handleSingleObject(e,t,n){if(e instanceof j)return e;let{isError:r,errorObject:i,variants:a}=X(t);if(r)return i;if(n instanceof j)return n;let[o]=a,s=+o.getValue(),c=n;s&&(c=n.filter(e=>e!==null&&e!==``));let l=``;for(let t=0;t<c.length;t++)c[t]!==null&&(l+=c[t]),t<c.length-1&&(l+=e[t%e.length]);return z.create(l)}_getDelimiterValues(e){let t=[],n=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1;for(let i=0;i<n;i++)for(let n=0;n<r;n++){let r=e.isArray()?e.get(i,n):e;if(r.isError())return r;let a=`${r.getValue()}`;r.isNull()&&(a=``),r.isBoolean()&&(a=a.toLocaleUpperCase()),t.push(a)}return t}_getTextValues(e){let t=[];for(let n of e){let e=n.isArray()?n.getRowCount():1,r=n.isArray()?n.getColumnCount():1;for(let i=0;i<e;i++)for(let e=0;e<r;e++){let r=n.isArray()?n.get(i,e):n;if(r.isError())return r;if(r.isNull()){t.push(null);continue}let a=`${r.getValue()}`;r.isBoolean()&&(a=a.toLocaleUpperCase()),t.push(a)}}return t}},Sy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,2),E(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=n==null?z.create(`\\s`):n,s=r==null?R.create(0):r,c=i==null?R.create(0):i,l=a==null?z.create(D.NA):a,{_variant:u,values:d}=this._getStringValues(t),{_variant:f,values:p}=this._getStringValues(o,!1);o=f;let m=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1),h=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1),g=V(m,h,e,j.create(D.NA)),_=V(m,h,s,j.create(D.NA)),v=V(m,h,c,j.create(D.NA)),y=this._getResultArray(g,u,o,_,v,l,d,p);return m===1&&h===1?y.get(0,0):y.map(e=>e.get(0,0))}_getStringValues(e,t=!0){let n=e,r=[];if(n.isArray())n.iterator(e=>{if(e!=null&&e.isError())return n=e,!1;if(e!=null&&e.isNull()&&t)return n=j.create(D.VALUE),!1;let i=this._getRegExpStringValue(e);if(i===``)return n=j.create(D.VALUE),!1;r.push(i)});else{n.isNull()&&t&&(n=j.create(D.VALUE));let e=this._getRegExpStringValue(n);e===``&&(n=j.create(D.VALUE)),r.push(e)}return{_variant:n,values:r}}_getResultArray(e,t,n,r,i,a,o,s){return e.map((e,c,l)=>{let u=r.get(c,l),d=i.get(c,l),f=this._checkVariantsError(e,t,n,u,d);if(f.isError())return f;if(e.isNull())return j.create(D.VALUE);let p=a;if(p.isArray()){let e=p.getRowCount(),t=p.getColumnCount();if(e>1||t>1)return j.create(D.VALUE);p=p.get(0,0)}let m=`${e.getValue()}`;if(e.isBoolean()&&(m=m.toLocaleUpperCase()),u.isString()&&(u=u.convertToNumberObjectValue(),u.isError()))return u;let h=Math.floor(+u.getValue());if(d.isString()&&(d=d.convertToNumberObjectValue(),d.isError()))return d;let g=Math.floor(+d.getValue());if(g<0||g>1)return j.create(D.VALUE);let _=`${p.getValue()}`;return p.isBoolean()&&(_=_.toLocaleUpperCase()),this._getResult(m,o,s,h,g,_)})}_getResult(e,t,n,r,i,a){let o=new RegExp(n.join(`|`),`g${i?`i`:``}`),s=new RegExp(t.join(`|`),`g${i?`i`:``}`),c=e.split(o),l=1,u=c.map(e=>{let t=e.split(s);return r&&(t=t.filter(e=>e!==``)),l=Math.max(l,t.length),t});return u=u.map(e=>{let t=e;return t.length<l&&(t=t.concat(Array(l-t.length).fill(a))),t}),B.createByArray(u)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return L.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,`\\$&`)}},Cy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g,` `),z.create(t)}};const wy=Object.values(o).filter(e=>[o.TABLE_START,o.TABLE_ROW_START,o.TABLE_CELL_START,o.TABLE_CELL_END,o.TABLE_ROW_END,o.TABLE_END,o.CUSTOM_BLOCK].includes(e));var Ty=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){let{isError:t,errorObject:n,variants:r}=X(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<1||a>1114111)return j.create(D.VALUE);if(a===1114111||a===1114110)return j.create(D.NA);let o=String.fromCharCode(a);return wy.some(e=>e===o)&&(o=``),z.create(o)}},Ey=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 j.create(D.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());let n=t.charCodeAt(0);return R.create(n)}},Dy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 z.create(``);let t=`${e.getValue()}`.toLocaleUpperCase();return z.create(t)}},Oy=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));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 j.create(D.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;let n=+t.getValue();return R.create(n)}},ky=class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,2)}calculate(e,t){let n=t==null?R.create(0):t,r=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),i=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),a=V(r,i,e,j.create(D.NA)),o=V(r,i,n,j.create(D.NA)),s=a.mapValue((e,t,n)=>{let r=o.get(t,n);return e.isError()?e:r.isError()?r:this._handleSingleObject(e,r)});return r===1&&i===1?s.get(0,0):s}_handleSingleObject(e,t){let{isError:n,errorObject:r,variants:i}=X(t);if(n)return r;let[a]=i,o=Math.floor(+a.getValue());if(o<0||o>1)return j.create(D.VALUE);if(e.isNull())return z.create(``);if(e.isBoolean())return e;if(e.isNumber())return R.create(e.getValue());let s=o?`"${e.getValue()}"`:`${e.getValue()}`;return z.create(s)}};const Ay=[[iv,J.ASC],[rv,J.ARRAYTOTEXT],[av,J.BAHTTEXT],[sv,J.CHAR],[cv,J.CLEAN],[lv,J.CODE],[uv,J.CONCAT],[dv,J.CONCATENATE],[fv,J.DBCS],[pv,J.DOLLAR],[mv,J.EXACT],[_v,J.FIND],[wv,J.FINDB],[Tv,J.FIXED],[Ev,J.LEFT],[Dv,J.LEFTB],[Ov,J.LEN],[kv,J.LENB],[Av,J.LOWER],[jv,J.MID],[Mv,J.MIDB],[Rv,J.NUMBERSTRING],[zv,J.NUMBERVALUE],[oy,J.REGEXEXTRACT],[sy,J.REGEXMATCH],[cy,J.REGEXREPLACE],[Bv,J.PROPER],[ly,J.REPLACE],[uy,J.REPLACEB],[dy,J.REPT],[fy,J.RIGHT],[py,J.RIGHTB],[my,J.SEARCH],[hy,J.SEARCHB],[gy,J.SUBSTITUTE],[_y,J.T],[vy,J.TEXT],[yy,J.TEXTAFTER],[by,J.TEXTBEFORE],[xy,J.TEXTJOIN],[Sy,J.TEXTSPLIT],[Cy,J.TRIM],[Ty,J.UNICHAR],[Ey,J.UNICODE],[Dy,J.UPPER],[Oy,J.VALUE],[ky,J.VALUETOTEXT]],jy=[];let My=function(e){return e}({});function Ny(e){return e.map(e=>e.map(e=>typeof e==`number`?aa(e):e))}function Py(e,t=!1){if(e.isReferenceObject()){let n=e.toArrayValueObject().toValue();return t?Ny(n):n}else if(e.isArray()){let n=e.toValue();return t?Ny(n):n}else if(e.isNumber()){let n=e.getValue();return t?aa(n):n}return e.getValue()}const Fy=[[class extends Z{constructor(...e){super(...e),E(this,`minParams`,1),E(this,`maxParams`,1)}calculate(e){if(e.isArray()){let t=e.mapValue(e=>this._handleSingleObject(e));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t=gv(e),n=encodeURIComponent(t).replace(/[!~'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return z.create(n)}},ro.ENCODEURL]];var Iy=`@univerjs/engine-formula`,Ly=`0.19.0`,Ry=class extends s{constructor(...e){super(...e),E(this,`_allSubjects`,[]),E(this,`_computingStatus$`,new Se(!0)),E(this,`computingStatus$`,this._computingStatus$.pipe(De())),E(this,`_computingSubscription`,void 0)}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(e=>{e.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{let 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=Ee(this._allSubjects).pipe(ke(e=>e.every(e=>e))).subscribe(e=>this._computingStatus$.next(e))}};let zy=class extends s{constructor(e,t){super(),this._commandService=e,this._globalComputingSrv=t,E(this,`_computingCompleted$`,new Ce(e=>{this._commandService.onCommandExecuted(t=>{if(t.id!==wr.id)return;let n=t.params;if(n.stageInfo)return e.next(n.stageInfo.stage===Wa.IDLE||n.stageInfo.stage===Wa.CALCULATION_COMPLETED)})}).pipe(De(),Ae()));let n=new c,r=new Se(!0);n.add(this._globalComputingSrv.pushComputingStatusSubject(r)),n.add(this._computingCompleted$.subscribe(e=>r.next(e))),n.add(()=>r.complete()),this.disposeWithMe(n)}};zy=dr([P(0,l),P(1,f(Ry))],zy);let By=class extends s{constructor(e,t,n,r){super(),this._commandService=e,this._functionService=t,this._configService=n,this._dataSyncPrimaryController=r,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Pr,zn,Fr,yr,br,xr,Sr,Ar,jr,Cr,wr,Tr,Mr,Nr,Er,Dr,Or,kr,hr,gr,_r,vr,Ir,Lr,Br,Vr,Hr,Rn].forEach(e=>{var t;this._commandService.registerCommand(e),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)})}_registerFunctions(){var e;let t=this._configService.getConfig(Ur),n=[...ws,...Kl,...ql,...mu,...Hu,...qd,..._p,...Vp,...sm,...Gm,...Cg,...jg,...nv,...Ay,...jy,...Fy].concat((e=t==null?void 0:t.function)==null?[]:e).map(e=>{let t=e[0],n=e[1];return new t(n)});this._functionService.registerExecutors(...n)}};By=dr([P(0,l),P(1,uo),P(2,u),P(3,x(Me))],By);let Vy=class extends s{constructor(e,t,n){super(),this._commandService=e,this._dependencyManagerService=t,this._featureCalculationManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(e=>{let{unitId:t,subUnitId:n,featureIds:r}=e;this._dependencyManagerService.removeFeatureFormulaDependency(t,n,r)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===vr.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,i,n)}else if(e.id===_r.id){let t=e.params;if(t==null)return;let{featureId:n,calculationParam:r}=t,{unitId:i,subUnitId:a}=r;this._dependencyManagerService.removeFeatureFormulaDependency(i,a,[n])}else if(e.id===Lr.id){let t=e.params;if(t==null)return;this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,t.formulaIdList)}else if(e.id===Ir.id){let t=e.params;if(t==null)return;let n=t.formulaMap,r=[];Object.keys(n).forEach(e=>{r.push(e)}),this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,r)}else if(e.id===Pr.id){let t=e.params.formulaData;Object.keys(t).forEach(e=>{let n=t[e];if(n!==void 0){if(n===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(n).forEach(t=>{let r=n[t];if(r!==void 0){if(r===null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new b(r).forValue((n,r)=>{this._dependencyManagerService.removeFormulaDependency(e,t,n,r)})}})}})}else e.id===hr.id&&this._handleSetDefinedName(e)}))}_handleSetDefinedName(e){let t=e.params;if(t==null)return;let{unitId:n,name:r}=t;this._dependencyManagerService.removeFormulaDependencyByDefinedName(n,r)}};Vy=dr([P(0,l),P(1,Xo),P(1,Jo),P(2,Xo)],Vy);let Hy=class extends s{constructor(e,t){super(),this._commandService=e,this._featureCalculationManagerService=t,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===_r.id){let t=e.params;if(t==null)return;let{featureId:n,calculationParam:r}=t,{unitId:i,subUnitId:a}=r;this._featureCalculationManagerService.register(i,a,n,r)}else if(e.id===vr.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._featureCalculationManagerService.remove(r,i,n)}}))}};Hy=dr([P(0,l),P(1,Xo)],Hy);let Uy=class extends s{constructor(e,t,n){super(),this._commandService=e,this._otherFormulaManagerService=t,this._dependencyManagerService=n,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Ir.id){let t=e.params;if(t==null)return;let n={[t.unitId]:{[t.subUnitId]:t.formulaMap}};this._otherFormulaManagerService.batchRegister(n)}else if(e.id===Lr.id){let t=e.params;if(t==null)return;let n={};t.formulaIdList.forEach(e=>n[e]=!0);let r={[t.unitId]:{[t.subUnitId]:n}};this._otherFormulaManagerService.batchRemove(r)}}))}};Uy=dr([P(0,l),P(1,Qo),P(2,Jo)],Uy);var Wy=class extends s{constructor(...e){super(...e),E(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 Gy=se(`univer.formula.active-dirty-manager.service`);let Ky=function(e){return e[e.NOT_REGISTER=1]=`NOT_REGISTER`,e[e.SUCCESS=2]=`SUCCESS`,e[e.WAIT=3]=`WAIT`,e[e.ERROR=4]=`ERROR`,e}({}),qy=function(e){return e.DEFAULT=`default`,e.DATA_VALIDATION=`dv`,e.DATA_VALIDATION_CUSTOM=`dv-custom`,e.CONDITIONAL_FORMATTING=`cf`,e.DOC=`doc`,e.SLIDE=`slide`,e}({}),Jy=class extends s{constructor(e,t,n){super(),this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=n,E(this,`_formulaCacheMap`,new Map),E(this,`_formulaChangeWithRange$`,new we),E(this,`formulaChangeWithRange$`,this._formulaChangeWithRange$.asObservable()),E(this,`_formulaResult$`,new we),E(this,`formulaResult$`,this._formulaResult$.asObservable()),E(this,`calculateStarted$`,new Se(!1)),this._initFormulaRegister(),this._initFormulaCalculationResultChange()}dispose(){super.dispose(),this._formulaChangeWithRange$.complete(),this._formulaResult$.complete(),this.calculateStarted$.complete()}_ensureCacheMap(e,t){let n=this._formulaCacheMap.get(e);n||(n=new Map,this._formulaCacheMap.set(e,n));let r=n.get(t);return r||(r=new Map,n.set(t,r)),r}_createFormulaId(e,t,n,r){return`formula.${e}_${t}_${n}_${r}_${ce(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Ln.id,{commandId:Ln.id,getDirtyData(e){return{dirtyUnitOtherFormulaMap:e.params}}});let e=e=>{let{unitId:t,subUnitId:n,formulaText:r,formulaId:i,ranges:a}=e;if(!this._ensureCacheMap(t,n).has(i))return;let o={unitId:t,subUnitId:n,formulaMap:{[i]:{f:r,ranges:a}}};this._commandService.executeCommand(Ir.id,o,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Ln.id,{[t]:{[n]:{[i]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe(Te(()=>this.calculateStarted$.pipe(Oe(e=>e)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe(Oe(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Tr.id){let{unitOtherData:t}=e.params,n={};for(let e in t){let r=t[e],i={};n[e]=i;for(let t in r){let n=this._ensureCacheMap(e,t),a=r[t],o=[];i[t]=o;for(let e in a){let t=a[e];if(n.has(e)){let r=n.get(e);if(!r)continue;r.result||(r.result={});let i=new b(t),a=new b(r.result);i.forValue((e,t,n)=>{a.setValue(e,t,n)}),r.status=Ky.SUCCESS,r.callbacks.forEach(e=>{e(t)}),r.callbacks.clear(),o.push(r)}}}}this._formulaResult$.next(n)}}))}registerFormulaWithRange(e,t,n,r=[{startRow:0,endRow:0,startColumn:0,endColumn:0}],i,a=qy.DEFAULT,o=``){let s=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(s,{result:void 0,status:Ky.WAIT,formulaId:s,callbacks:new Set,extra:i}),this._formulaChangeWithRange$.next({unitId:e,subUnitId:t,formulaText:n,formulaId:s,ranges:r}),s}deleteFormula(e,t,n){let r={unitId:e,subUnitId:t,formulaIdList:n};this._commandService.executeCommand(Lr.id,r,{onlyLocal:!0});let i=this._ensureCacheMap(e,t);n.forEach(e=>i.delete(e))}getFormulaValue(e,t,n){let r=this._ensureCacheMap(e,t),i=r.get(n);return i?i.status===Ky.SUCCESS||i.status===Ky.ERROR?Promise.resolve(i):new Promise(e=>{i.callbacks.add(()=>{e(r.get(n))})}):Promise.resolve(null)}getFormulaValueSync(e,t,n){return this._ensureCacheMap(e,t).get(n)}markFormulaDirty(e,t,n){let r=this.getFormulaValueSync(e,t,n);r&&(r.status=Ky.WAIT,this._commandService.executeCommand(Ln.id,{[e]:{[t]:{[n]:!0}}},{onlyLocal:!0}))}};Jy=dr([P(0,l),P(1,Gy),P(2,f(h))],Jy);let Yy=class extends S{constructor(e=Kr,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=he({},Kr,this._config);this._configService.setConfig(Ur,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var e;xe(this._injector,[[By]]),(e=this._config)!=null&&e.notExecuteFormula||xe(this._injector,[[Uy],[Hy],[Vy],[ds]])}onRendered(){var e;(e=this._config)!=null&&e.notExecuteFormula||xe(this._injector,[[ls],[os]])}_initialize(){let e=!this._config.notExecuteFormula,t=[[uo,{useClass:fo}],[pr,{useClass:fr}],[Gy,{useClass:Wy}],[Jy],[Ua,{useClass:Ha}],[ui,{useClass:li}],[zr,{useClass:Rr}],[Ry],[ai],[By],[zy]];e&&t.push([Qo,{useClass:Zo}],[qa,{useClass:Ka}],[fi,{useClass:di}],[Xo,{useClass:Yo}],[ds],[Uy],[Vy],[Hy],[bo],[Go],[pi],[$a],[yo],[ko],[Mo],[Fo],[ho],[Ro],[Bo],[Ho],[Wo]),t.forEach(e=>this._injector.add(e))}_initializeWithOverride(){var e;this._injector.add([ni,{useClass:ni}]),(e=this._config)!=null&&e.notExecuteFormula||[[ls,{useClass:us}],[Jo,{useClass:qo}],[os,{useClass:ss}]].forEach(e=>this._injector.add(e))}};E(Yy,`pluginName`,`UNIVER_ENGINE_FORMULA_PLUGIN`),E(Yy,`packageName`,Iy),E(Yy,`version`,Ly),Yy=dr([P(1,f(p)),P(2,u)],Yy);export{Wy as ActiveDirtyManagerService,B as ArrayValueObject,$a as AstRootNodeFactory,Go as AstTreeBuilder,xa as AsyncArrayObject,Xl as AsyncCustomFunction,ba as AsyncObject,Z as BaseFunction,ya as BaseReferenceObject,Xe as BaseValueObject,Ne as BooleanValue,L as BooleanValueObject,ds as CalculateController,us as CalculateFormulaService,Yl as CustomFunction,cs as DEFAULT_INTERVAL_COUNT,Fn as DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME,Pn as DEFAULT_TOKEN_LET_FUNCTION_NAME,Mn as DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER,An as DEFAULT_TOKEN_TYPE_PARAMETER,jn as DEFAULT_TOKEN_TYPE_ROOT,fr as DefinedNamesService,Ko as DependencyManagerBaseService,qo as DependencyManagerService,Wr as ENGINE_FORMULA_CYCLE_REFERENCE_COUNT,Ur as ENGINE_FORMULA_PLUGIN_CONFIG_KEY,Gr as ENGINE_FORMULA_RETURN_DEPENDENCY_TREE,Ve as ERROR_TYPE_SET,D as ErrorType,j as ErrorValueObject,Cs as FUNCTION_NAMES_ARRAY,zl as FUNCTION_NAMES_COMPATIBILITY,Jl as FUNCTION_NAMES_CUBE,pu as FUNCTION_NAMES_DATABASE,eo as FUNCTION_NAMES_DATE,U as FUNCTION_NAMES_ENGINEERING,W as FUNCTION_NAMES_FINANCIAL,to as FUNCTION_NAMES_INFORMATION,no as FUNCTION_NAMES_LOGICAL,G as FUNCTION_NAMES_LOOKUP,K as FUNCTION_NAMES_MATH,q as FUNCTION_NAMES_STATISTICAL,J as FUNCTION_NAMES_TEXT,My as FUNCTION_NAMES_UNIVER,ro as FUNCTION_NAMES_WEB,Yo as FeatureCalculationManagerService,di as FormulaCurrentConfigService,ai as FormulaDataModel,ss as FormulaDependencyGenerator,rs as FormulaDependencyTree,is as FormulaDependencyTreeModel,es as FormulaDependencyTreeType,ns as FormulaDependencyTreeVirtual,Wa as FormulaExecuteStageType,Ga as FormulaExecutedStateType,Ky as FormulaResultStatus,Ka as FormulaRuntimeService,yo as FunctionNodeFactory,fo as FunctionService,Dt as FunctionType,Ry as GlobalComputingStatusService,Ha as HyperlinkEngineFormulaService,Gy as IActiveDirtyManagerService,ls as ICalculateFormulaService,pr as IDefinedNamesService,Jo as IDependencyManagerService,Xo as IFeatureCalculationManagerService,fi as IFormulaCurrentConfigService,os as IFormulaDependencyGenerator,qa as IFormulaRuntimeService,uo as IFunctionService,Ua as IHyperlinkEngineFormulaService,Qo as IOtherFormulaManagerService,ui as ISheetRowFilteredService,zr as ISuperTableService,bo as Interpreter,ko as LambdaNodeFactory,Mo as LambdaParameterNodeFactory,Do as LambdaValueObjectObject,pi as Lexer,F as LexerNode,ni as LexerTreeBuilder,Mg as NEW_EXCEL_FUNCTIONS,I as NullValueObject,R as NumberValueObject,Ge as OPERATOR_TOKEN_SET,Fo as OperatorNodeFactory,qy as OtherFormulaBizType,Zo as OtherFormulaManagerService,Ln as OtherFormulaMarkDirty,ho as PrefixNodeFactory,Sa as RangeReferenceObject,Ro as ReferenceNodeFactory,Rn as RegisterFunctionMutation,Jy as RegisterOtherFormulaService,gr as RemoveDefinedNameMutation,vr as RemoveFeatureCalculationMutation,Lr as RemoveOtherFormulaMutation,Vr as RemoveSuperTableMutation,Je as SUFFIX_TOKEN_SET,zn as SetArrayFormulaDataMutation,Or as SetCellFormulaDependencyCalculationMutation,kr as SetCellFormulaDependencyCalculationResultMutation,hr as SetDefinedNameMutation,mr as SetDefinedNameMutationFactory,_r as SetFeatureCalculationMutation,wr as SetFormulaCalculationNotificationMutation,Tr as SetFormulaCalculationResultMutation,yr as SetFormulaCalculationStartMutation,Cr as SetFormulaCalculationStopMutation,Pr as SetFormulaDataMutation,Er as SetFormulaDependencyCalculationMutation,Dr as SetFormulaDependencyCalculationResultMutation,xr as SetFormulaStringBatchCalculationMutation,Sr as SetFormulaStringBatchCalculationResultMutation,Fr as SetImageFormulaDataMutation,Ir as SetOtherFormulaMutation,Mr as SetQueryFormulaDependencyAllMutation,Nr as SetQueryFormulaDependencyAllResultMutation,Ar as SetQueryFormulaDependencyMutation,jr as SetQueryFormulaDependencyResultMutation,Br as SetSuperTableMutation,Hr as SetSuperTableOptionMutation,br as SetTriggerFormulaCalculationStartMutation,li as SheetRowFilteredService,z as StringValueObject,Bo as SuffixNodeFactory,Rr as SuperTableService,Ho as UnionNodeFactory,Yy as UniverFormulaEnginePlugin,Wo as ValueNodeFactory,ga as ValueObjectFactory,k as compareToken,On as convertUnitDataToRuntime,hs as deserializeRangeForR1C1,Zn as deserializeRangeWithSheet,Jr as deserializeRangeWithSheetWithCache,et as excelDateSerial,gi as extractFormulaError,ws as functionArray,Kl as functionCompatibility,ql as functionCube,mu as functionDatabase,Hu as functionDate,qd as functionEngineering,_p as functionFinancial,Vp as functionInformation,sm as functionLogical,Gm as functionLookup,Cg as functionMath,jg as functionMeta,nv as functionStatistical,Ay as functionText,jy as functionUniver,Fy as functionWeb,so as generateAstNode,To as generateExecuteAstNodeData,as as generateRandomDependencyTreeId,Zr as generateStringWithSequence,Un as getAbsoluteRefTypeWitString,Hn as getAbsoluteRefTypeWithSingleString,Py as getObjectValue,tr as getRangeWithRefsString,ki as handleNumfmtInCell,Xn as handleRefStringInfo,At as includeFormulaLexerToken,oi as initSheetFormulaData,kt as isFormulaLexerToken,Et as isInDirtyRange,Dn as isReferenceString,$n as isReferenceStringWithEffectiveColumn,nr as isReferenceStrings,Mt as matchRefDrawToken,A as matchToken,rr as needsQuoting,jt as normalizeSheetName,O as operatorToken,Ye as prefixToken,ar as quoteSheetName,Xr as sequenceNodeType,Gn as serializeRange,Jn as serializeRangeToRefString,Kn as serializeRangeWithSheet,qn as serializeRangeWithSpreadsheet,Yn as singleReferenceToGrid,ur as splitTableStructuredRef,ra as strip,aa as stripErrorMargin,or as unquoteSheetName};