@univerjs/engine-formula 0.19.0 → 0.20.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/cjs/index.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@univerjs/core`),l=require(`rxjs`),u=require(`@flatten-js/interval-tree`);u=s(u);let d=require(`decimal.js`);d=s(d);let f=require(`@univerjs/rpc`),p=function(e){return e.FALSE=`FALSE`,e.TRUE=`TRUE`,e}({}),m=function(e){return e[e.SUCCESS=0]=`SUCCESS`,e[e.ERROR=1]=`ERROR`,e}({}),h=function(e){return e.ALL=`#All`,e.DATA=`#Data`,e.HEADERS=`#Headers`,e.TOTALS=`#Totals`,e.THIS_ROW=`#This Row`,e}({}),g=function(e){return e[e.FRONT=0]=`FRONT`,e[e.BACK=1]=`BACK`,e}({});function _(e){"@babel/helpers - typeof";return _=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},_(e)}function v(e,t){if(_(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function y(e){var t=v(e,`string`);return _(t)==`symbol`?t:t+``}function b(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var x=class{constructor(e){b(this,`_cache`,void 0),this._cache=new c.LRUMap(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:(0,c.hashAlgorithm)(e).toString()}};let S=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 C=new Set(Object.values(S)),w=[...new Set(Object.values(S).map(e=>e.length))];var ee=class{constructor(){b(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 T=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}({}),E=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 te=new Map([[T.NOT_EQUAL,4],[T.LESS_THAN,4],[T.GREATER_THAN_OR_EQUAL,4],[T.EQUALS,4],[T.GREATER_THAN,4],[T.LESS_THAN_OR_EQUAL,4],[T.CONCATENATE,3],[T.PLUS,2],[T.MINUS,2],[T.DIVIDED,1],[T.MULTIPLY,1],[T.POWER,0]]),ne=new Set(te.keys()),re=new Set([T.EQUALS,T.NOT_EQUAL,T.GREATER_THAN,T.GREATER_THAN_OR_EQUAL,T.LESS_THAN,T.LESS_THAN_OR_EQUAL]);let D=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}({}),ie=function(e){return e.PERCENTAGE=`%`,e.POUND=`#`,e}({});const ae=new Set([ie.PERCENTAGE,ie.POUND]);let oe=function(e){return e.AT=`@`,e.MINUS=`-`,e.PLUS=`+`,e}({});var se=class extends ee{constructor(e){super(),this._rawValue=e,b(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 O.create(S.VALUE)}max(){return O.create(S.VALUE)}min(){return O.create(S.VALUE)}count(){return O.create(S.VALUE)}countA(){return O.create(S.VALUE)}countBlank(){return O.create(S.VALUE)}getNegative(){return O.create(S.VALUE)}getReciprocal(){return O.create(S.VALUE)}plus(e){return O.create(S.VALUE)}minus(e){return O.create(S.VALUE)}multiply(e){return O.create(S.VALUE)}divided(e){return O.create(S.VALUE)}mod(e){return O.create(S.VALUE)}map(e){return O.create(S.NAME)}mapValue(e){return O.create(S.NAME)}compare(e,t,n=!1){return O.create(S.NAME)}isEqual(e){return this.compare(e,E.EQUALS)}isNotEqual(e){return this.compare(e,E.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,E.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,E.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,E.LESS_THAN)}isGreaterThan(e){return this.compare(e,E.GREATER_THAN)}concatenateFront(e){return O.create(S.NAME)}concatenateBack(e){return O.create(S.NAME)}plusBy(e){return O.create(S.VALUE)}minusBy(e){return O.create(S.VALUE)}multiplyBy(e){return O.create(S.VALUE)}dividedBy(e){return O.create(S.VALUE)}modInverse(e){return O.create(S.VALUE)}compareBy(e,t,n=!1){return O.create(S.NAME)}concatenate(e,t=g.FRONT){let n=this.getValue().toString();if(typeof e==`string`)t===g.FRONT?n=e+n:n+=e;else if(typeof e==`number`)t===g.FRONT?n=e.toString()+n:n+=e.toString();else if(typeof e==`boolean`){let r=e?`TRUE`:`FALSE`;t===g.FRONT?n=r+n:n+=r}return n}pow(e){return O.create(S.VALUE)}powInverse(e){return O.create(S.VALUE)}sqrt(){return O.create(S.VALUE)}cbrt(){return O.create(S.VALUE)}cos(){return O.create(S.VALUE)}cosh(){return O.create(S.VALUE)}acos(){return O.create(S.VALUE)}acosh(){return O.create(S.VALUE)}sin(){return O.create(S.VALUE)}sinh(){return O.create(S.VALUE)}asin(){return O.create(S.VALUE)}asinh(){return O.create(S.VALUE)}tan(){return O.create(S.VALUE)}tanh(){return O.create(S.VALUE)}atan(){return O.create(S.VALUE)}atan2(e){return O.create(S.VALUE)}atan2Inverse(e){return O.create(S.VALUE)}atanh(){return O.create(S.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return O.create(S.VALUE)}log10(){return O.create(S.VALUE)}exp(){return O.create(S.VALUE)}abs(){return O.create(S.VALUE)}round(e){return O.create(S.VALUE)}roundInverse(e){return O.create(S.VALUE)}floor(e){return O.create(S.VALUE)}floorInverse(e){return O.create(S.VALUE)}ceil(e){return O.create(S.VALUE)}ceilInverse(e){return O.create(S.VALUE)}convertToNumberObjectValue(){return O.create(S.VALUE)}convertToBooleanObjectValue(){return O.create(S.VALUE)}};const ce=new x(1e3);var O=class e extends se{static create(t,n=``){let r=`${t}-${n}`,i=ce.get(r);if(i)return i;let a=new e(t,n);return ce.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 le=`yyyy/mm/dd;@`,ue=1440*60*1e3;function de(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)/ue;return r>n&&(i+=1),Math.floor(i)+1}function fe(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)/ue;return r>n&&(i+=1),i+1}function k(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Math.floor(e)-1;return r>(n-t)/ue&&--r,new Date(t+r*ue)}function pe(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)/ue&&--r,r<0&&(r=e),new Date(t+r*ue)}function me(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 he(e){return c.numfmt.parseDate(e)}function ge(e){return c.numfmt.parseTime(e)}function _e(e){return c.numfmt.getFormatInfo(e).isDate}const ve={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 ye(e){return!!(typeof e==`string`&&/^[0|1]{7}/.test(e)||ve[Number(e)])}function be(e){if(!ye(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 ve[Number(e)]||[]}function xe(e,t,n=1,r){let i=be(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=Ce(t);i.includes(n)||c++}return o>=a?c:-c}function Se(e,t,n=1,r){let i=be(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 O.create(S.NUM);if(r&&r.length>0&&r.some(e=>Math.floor(e)===n)){s++;continue}let c=Ce(n);if(i.includes(c)){s++;continue}o=n}return o}function A(e){if(e.isError())return e;let t=e.getValue();if(e.isString()){let e;if(he(`${t}`))e=he(`${t}`).v;else if(ge(`${t}`))e=ge(`${t}`).v;else if((0,c.isRealNum)(t))e=+t;else return O.create(S.VALUE);return e instanceof Date&&(e=fe(e)),+e<0||+e>2958465?O.create(S.NUM):+e}else{let t=+e.getValue();return t<0||t>2958465?O.create(S.NUM):t}}function Ce(e){let t=Math.floor(e)===60,n=k(e),r=Date.UTC(1900,1,28),i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());return!t&&i<=r&&(n=new Date(i-ue)),n.getUTCDay()}function we(e,t,n){switch(n){case 0:return Te(e,t);case 1:return Ee(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 De(e,t);default:return{days:Math.abs(t-e),yearDays:365}}}function Te(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=k(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;i===2?k(e+1).getUTCMonth()+1===3&&(a=30):a===31&&(a=30),l===31&&(a<30?(o=k(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 Ee(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=k(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=de(e),l=de(t),a===1900&&(c+=1)}else{let e=new Date(Date.UTC(r,0,1)),t=new Date(Date.UTC(a,11,31));c=de(e),l=de(t),r===1900&&(c+=1)}return{days:o,yearDays:(l-c+1)/s}}function De(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=k(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 Oe(e){return e%4==0&&e%100!=0||e%400==0}function ke(e){return e%4==0&&e%100!=0||e%400==0||e===1900}const Ae=[31,29,31,30,31,30,31,31,30,31,30,31],je=[31,28,31,30,31,30,31,31,30,31,30,31];function Me(e,t){return Oe(e)?Ae[t]:je[t]}function Ne(e){return ke(e)?366:365}function Pe(e,t){switch(t){case 0:case 2:case 4:return 360;case 1:return Ne(k(e).getUTCFullYear());case 3:return 365;default:return-1}}function Fe(e,t,n){return Me(e,t)===n}function Ie(e,t){let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return Fe(n,r,i)?(e.setUTCDate(1),e.setUTCMonth(e.getUTCMonth()+t),n=e.getUTCFullYear(),r=e.getUTCMonth(),e.setUTCDate(Me(n,r))):e.setUTCMonth(e.getUTCMonth()+t),e}function Le(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 Re=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 ze=[...Object.values(E),...Object.values(T),...Object.values(D),...Object.values(ie),...Object.values(oe)];function Be(e){return ze.includes(e)}function Ve(e){for(let t of ze)if(e.indexOf(t)>-1)return!0;return!1}function He(e){return e[0]===`'`&&e[e.length-1]===`'`?e.substring(1,e.length-1):e}function Ue(e){return Be(e)&&e!==D.CLOSE_BRACES&&e!==D.CLOSE_BRACKET&&e!==D.SINGLE_QUOTATION&&e!==D.DOUBLE_QUOTATION||e===` `}const We=new Set([T.PLUS,T.MINUS,T.MULTIPLY,T.DIVIDED,T.CONCATENATE,T.POWER,T.EQUALS,T.NOT_EQUAL,T.GREATER_THAN,T.GREATER_THAN_OR_EQUAL,T.LESS_THAN,T.LESS_THAN_OR_EQUAL,D.OPEN_BRACKET,D.COMMA,D.COLON,D.OPEN_BRACES,D.OPEN_SQUARE_BRACKET]);function Ge(e){return We.has(e)}const Ke=new Set([T.PLUS,T.MINUS,T.MULTIPLY,T.DIVIDED,T.CONCATENATE,T.POWER,T.EQUALS,T.NOT_EQUAL,T.GREATER_THAN,T.GREATER_THAN_OR_EQUAL,T.LESS_THAN,T.LESS_THAN_OR_EQUAL,D.OPEN_BRACKET,D.COMMA,D.COLON,D.OPEN_BRACES,D.OPEN_SQUARE_BRACKET,ie.PERCENTAGE,ie.POUND]);function qe(e){return Ke.has(e)}const Je=`\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]`,Ye=new RegExp(Je),Xe=`\\s*?:\\s*?`,Ze=`[A-Za-z]+`,Qe=`[1-9][0-9]*`,$e=`'?(${Je})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`,et=`\\\$?${Ze}\\\$?${Qe}`,tt=`^(${oe.AT})?${$e}${et}${Xe}${et}$`,nt=new RegExp(tt),rt=`^${$e}\\s*?${et}(${ie.POUND})?$`,it=new RegExp(rt),at=`^${$e}\\\$?${Qe}${Xe}\\\$?${Qe}$`,ot=new RegExp(at),st=`^${$e}\\\$?${Ze}${Xe}\\\$?${Ze}$`,ct=new RegExp(st),lt=`^${$e}\\s*?\\\$?${Qe}$`,ut=new RegExp(lt),dt=`^${$e}\\s*?\\\$?${Ze}$`,ft=new RegExp(dt),pt=`((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+`,mt=`\\[#.+\\]\\s*?,\\s*?`,ht=`\\[((?<!#).)*\\]`,gt=`${ht}${Xe}${ht}`,_t=`^(${Je})?${pt}$`,vt=`^(${Je})?${pt}(${ht}|\\[${mt}${ht}\\])+$`,yt=`^(${Je})?${pt}(\\[${gt}\\])?$|^${pt}(\\[${mt}${gt}\\])?$`,bt=`^(${Je})?${pt}\\[\\s*#([^\\]]+)\\s*\\]$`,xt=new RegExp(_t),St=new RegExp(vt),Ct=new RegExp(yt),wt=new RegExp(bt),Tt=RegExp(`{.*?}`,`g`);function Et(e){return it.lastIndex=0,it.test(e)}function Dt(e){return nt.lastIndex=0,nt.test(e)}function Ot(e){return ot.lastIndex=0,ot.test(e)}function kt(e){return ct.lastIndex=0,ct.test(e)}function At(e){return ut.lastIndex=0,ut.test(e)}function jt(e){return ft.lastIndex=0,ft.test(e)}function Mt(e){return xt.lastIndex=0,xt.test(e)}function Nt(e){return St.lastIndex=0,St.test(e)}function Pt(e){return Ct.lastIndex=0,Ct.test(e)}function Ft(e){return wt.lastIndex=0,wt.test(e)}function It(e){return Tt.lastIndex=0,Tt.test(e)}function Lt(e){return Et(e)||Dt(e)||Ot(e)||kt(e)}function Rt(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 c.ObjectMatrix(i)})}),t}function zt(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 Bt=`LO_1`,Vt=`LAMBDA`,Ht=new Set([`RAND`,`RANDBETWEEN`,`NOW`,`TODAY`]),Ut={type:c.CommandType.MUTATION,id:`sheet.mutation.data-validation-formula-mark-dirty`,handler(){return!0}},Wt={id:`formula.mutation.register-function`,type:c.CommandType.MUTATION,handler:()=>!0},Gt={id:`formula.mutation.set-array-formula-data`,type:c.CommandType.MUTATION,handler:(e,t)=>!0},Kt=/[^0-9]/g,qt=/[^A-Za-z]/g;function Jt(e){let t=e[0]===`$`,n=e.substring(1),r=n.indexOf(`$`)>-1;return c.Tools.isStringNumber(n)&&t&&!r&&(t=!1,r=!0),t&&r?c.AbsoluteRefType.ALL:t?c.AbsoluteRefType.COLUMN:r?c.AbsoluteRefType.ROW:c.AbsoluteRefType.NONE}function Yt(e){let t=e.split(`!`);t.length>1&&(e=t[t.length-1]);let n=e.split(`:`);return n.length>1?{startAbsoluteRefType:Jt(n[0]),endAbsoluteRefType:Jt(n[1])}:{startAbsoluteRefType:Jt(n[0])}}function Xt(e=c.AbsoluteRefType.NONE){let t=``,n=``;return e===c.AbsoluteRefType.ROW?t=`$`:e===c.AbsoluteRefType.COLUMN?n=`$`:e===c.AbsoluteRefType.ALL&&(t=`$`,n=`$`),{rowAbsoluteString:t,columnAbsoluteString:n}}function Zt(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i,startAbsoluteRefType:a,endAbsoluteRefType:o,rangeType:s=c.RANGE_TYPE.NORMAL}=e,l=Xt(a),u=Xt(o);if(s===c.RANGE_TYPE.ROW||s===c.RANGE_TYPE.ALL)return`${`${l.rowAbsoluteString}${n+1}`}:${`${u.rowAbsoluteString}${i+1}`}`;if(s===c.RANGE_TYPE.COLUMN)return`${`${l.columnAbsoluteString}${c.Tools.chatAtABC(t)}`}:${`${u.columnAbsoluteString}${c.Tools.chatAtABC(r)}`}`;let d=`${l.columnAbsoluteString}${c.Tools.chatAtABC(t)}${l.rowAbsoluteString}${n+1}`,f=`${u.columnAbsoluteString}${c.Tools.chatAtABC(r)}${u.rowAbsoluteString}${i+1}`;return d===f?d:`${d}:${f}`}function Qt(e,t){return`${dn(e)}!${Zt(t)}`}function $t(e,t,n){return un(e)||un(t)?`'[${fn(e)}]${fn(t)}'!${Zt(n)}`:`[${e}]${t}!${Zt(n)}`}function en(e){let{unitId:t,sheetName:n,range:r}=e;return t!=null&&t.length>0&&n!=null&&n.length>0?$t(t,n,r):n!=null&&n.length>0?Qt(n,r):Zt(r)}function tn(e){return{row:Number.parseInt(e.replace(Kt,``))-1,column:c.Tools.ABCatNum(e.replace(qt,``)),absoluteRefType:Jt(e)}}function nn(e){let t=Ye.exec(e),n=``;t!=null&&(n=t[0].trim(),n=pn(n.slice(1,n.length-1)),e=e.replace(Ye,``));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=pn(i),a=e.substring(r+1)):a=e,{refBody:a,sheetName:i,unitId:n}}function rn(e){let{refBody:t,sheetName:n,unitId:r}=nn(e),i=t.indexOf(`:`);if(i===-1){let e=tn(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=tn(a),l=tn(o),u=s.row>l.row?l.row:s.row,d=s.column>l.column?l.column:s.column,f=s.row>l.row?s.row:l.row,p=s.column>l.column?s.column:l.column,m=c.RANGE_TYPE.NORMAL;return Number.isNaN(u)&&Number.isNaN(f)?m=c.RANGE_TYPE.COLUMN:Number.isNaN(d)&&Number.isNaN(p)&&(m=c.RANGE_TYPE.ROW),{unitId:r,sheetName:n,range:{startRow:u,startColumn:d,endRow:f,endColumn:p,startAbsoluteRefType:s.absoluteRefType,endAbsoluteRefType:l.absoluteRefType,rangeType:m}}}const an=[`LOG10`];function on(e){let t=sn(e);if(!Lt(t)||an.includes(t.toUpperCase().trim()))return!1;let{range:n}=rn(t);return!(n.endColumn>=c.MAX_COLUMN_COUNT)}function sn(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===oe.AT||i===oe.MINUS||i===oe.PLUS))continue;else t.push(i),n=!0}return t.join(``)}function cn(e,t){let n=(e==null?void 0:e.split(`,`))||[];return e===``||n.length===0||!ln(e)?[]:n.map(e=>{let n=rn(e);return{unitId:n.unitId,sheetId:t(n.sheetName),range:n.range,sheetName:n.sheetName}})}function ln(e){return((e==null?void 0:e.split(`,`))||[]).every(e=>on(e.trim()))}function un(e){return e.length===0?!1:!!(Ve(e)||mn(e)||hn(e)||gn(e)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e))}function dn(e){return un(e)?`'${fn(e)}'`:e}function fn(e){return e.replace(/'/g,`''`)}function pn(e){return e.replace(/''/g,`'`)}function mn(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>c.MAX_ROW_COUNT)return!1;let a=(0,c.columnLabelToNumber)(n);return!(a<1||a>c.MAX_COLUMN_COUNT)}function hn(e){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e)}function gn(e){return!/^\p{Letter}/u.test(e.charAt(0))}function _n(e){let t=e.indexOf(`[`);return t===-1?{tableName:e,struct:``}:{tableName:e.slice(0,t),columnStruct:e.slice(t)}}function j(e,t){return function(n,r){t(n,r,e)}}function vn(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 yn=class extends c.Disposable{constructor(e){super(),this._univerInstanceService=e,b(this,`_definedNameMap`,{}),b(this,`_nameCacheMap`,{}),b(this,`_update$`,new l.Subject),b(this,`update$`,this._update$.asObservable()),b(this,`_currentRange`,{unitId:``,sheetId:``,range:{startRow:0,endRow:0,startColumn:0,endColumn:0}}),b(this,`_currentRange$`,new l.Subject),b(this,`currentRange$`,this._currentRange$.asObservable()),b(this,`_focusRange$`,new l.Subject),b(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}=nn(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 Zt(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}};yn=vn([j(0,c.IUniverInstanceService)],yn);const bn=(0,c.createIdentifier)(`univer.formula.defined-names.service`),xn=(e,t)=>{let{unitId:n,id:r}=t;return{...e.get(bn).getValueById(n,r),unitId:n}},Sn={id:`formula.mutation.set-defined-name`,type:c.CommandType.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(bn),{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}},Cn={id:`formula.mutation.remove-defined-name`,type:c.CommandType.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(bn),{unitId:r,id:i}=t;return n.removeDefinedName(r,i),!0}},wn={id:`formula.mutation.set-feature-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},Tn={id:`formula.mutation.remove-feature-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},En={id:`formula.mutation.set-formula-calculation-start`,type:c.CommandType.MUTATION,handler:()=>!0},Dn={id:`formula.mutation.set-trigger-formula-calculation-start`,type:c.CommandType.MUTATION,handler:()=>!0},On={id:`formula.mutation.set-formula-string-batch-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},kn={id:`formula.mutation.set-formula-string-batch-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},An={id:`formula.mutation.set-formula-calculation-stop`,type:c.CommandType.MUTATION,handler:()=>!0},jn={id:`formula.mutation.set-formula-calculation-notification`,type:c.CommandType.MUTATION,handler:()=>!0},Mn={id:`formula.mutation.set-formula-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},Nn={id:`formula.mutation.set-formula-dependency-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},Pn={id:`formula.mutation.set-formula-dependency-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},Fn={id:`formula.mutation.set-cell-formula-dependency-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},In={id:`formula.mutation.set-cell-formula-dependency-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},Ln={id:`formula.mutation.set-query-formula-dependency`,type:c.CommandType.MUTATION,handler:()=>!0},Rn={id:`formula.mutation.set-query-formula-dependency-result`,type:c.CommandType.MUTATION,handler:()=>!0},zn={id:`formula.mutation.set-query-formula-dependency-all`,type:c.CommandType.MUTATION,handler:()=>!0},Bn={id:`formula.mutation.set-query-formula-dependency-all-result`,type:c.CommandType.MUTATION,handler:()=>!0},Vn={id:`formula.mutation.set-formula-data`,type:c.CommandType.MUTATION,handler:(e,t)=>!0},Hn={id:`formula.mutation.set-image-formula-data`,type:c.CommandType.MUTATION,handler:(e,t)=>!0},Un={id:`formula.mutation.set-other-formula`,type:c.CommandType.MUTATION,handler:()=>!0},Wn={id:`formula.mutation.remove-other-formula`,type:c.CommandType.MUTATION,handler:()=>!0};var Gn=class extends c.Disposable{constructor(){super(),b(this,`_tableMap`,new Map),b(this,`_tableOptionMap`,new Map),b(this,`_update$`,new l.Subject),b(this,`update$`,this._update$.asObservable()),this.registerTableOptionMap(h.ALL,h.ALL),this.registerTableOptionMap(h.DATA,h.DATA),this.registerTableOptionMap(h.HEADERS,h.HEADERS),this.registerTableOptionMap(h.TOTALS,h.TOTALS),this.registerTableOptionMap(h.THIS_ROW,h.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 Kn=(0,c.createIdentifier)(`univer.formula.super-table.service`),qn={id:`formula.mutation.set-super-table`,type:c.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r,reference:i}=t;return e.get(Kn).registerTable(n,r,i),!0}},Jn={id:`formula.mutation.remove-super-table`,type:c.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r}=t;return e.get(Kn).remove(n,r),!0}},Yn={id:`formula.mutation.set-super-table-option`,type:c.CommandType.MUTATION,handler:(e,t)=>{let{tableOption:n,tableOptionType:r}=t;return e.get(Kn).registerTableOptionMap(n,r),!0}},Xn=`engine-formula.config`;Symbol(Xn);const Zn={},Qn=new x(1e5);function $n(e){let t=Qn.get(e);if(t)return t;let n=rn(e);return Qn.set(e,n),rn(e)}function er(){Qn.clear()}let tr=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 nr(e){let t=``;for(let n of e)typeof n==`string`?t+=n:t+=n.token;return t}var M=class e{constructor(){b(this,`_parent`,void 0),b(this,`_token`,`R_1`),b(this,`_children`,[]),b(this,`_lambdaId`,void 0),b(this,`_functionDefinitionPrivacyVar`,void 0),b(this,`_lambdaParameter`,``),b(this,`_startIndex`,-1),b(this,`_endIndex`,-1),b(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}},rr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.FUNCTION=1]=`FUNCTION`,e[e.LAMBDA=2]=`LAMBDA`,e}(rr||{});const ir=2e3,ar=new x(ir),or=new x(ir);var sr=class extends c.Disposable{constructor(...e){super(...e),b(this,`_currentLexerNode`,new M),b(this,`_upLevel`,0),b(this,`_segment`,``),b(this,`_bracketState`,[]),b(this,`_openBracketNormalIndexStack`,[]),b(this,`_squareBracketState`,0),b(this,`_bracesState`,0),b(this,`_singleQuotationState`,0),b(this,`_doubleQuotationState`,0),b(this,`_lambdaState`,!1),b(this,`_colonState`,!1),b(this,`_formulaErrorCount`,0),b(this,`_tableBracketState`,!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),ar.clear(),or.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===S.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`&&!Be(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===D.CLOSE_BRACKET||r===` `)&&n>=0;)r===D.CLOSE_BRACKET&&t++,r=e[--n];let i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===S.VALUE)return 0;let a=i[0];if(typeof a==`string`)return 0;let o=a.getParent(),s=0;for(i[1]===D.OPEN_BRACKET&&s++;o;){let e=o.getToken();e!==`P_1`&&e!==D.COLON&&o.getStartIndex()!==-1&&e.toUpperCase()!==`LAMBDA`&&(t===0?s+=1:t--),o=o.getParent()}return s}sequenceNodesBuilder(e){let t=or.get(e);if(t)return[...t];let n=this._getSequenceArray(e);if(n.length===0)return;let r=this.getSequenceNode(n);return or.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)===T.EQUALS&&(a=T.EQUALS);for(let e=0,a=i.length;e<a;e++){let o=i[e];if(typeof o!=`string`&&o.nodeType===tr.REFERENCE){let{token:s,endIndex:c}=o,l=$n(s);if(l==null)continue;let{range:u,sheetName:d,unitId:f}=l,p=en({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}${nr(i)}`}moveFormulaRefOffset(e,t,n,r=!1){let i=this.sequenceNodesBuilder(e);if(i==null)return e;let a=[];for(let e=0,o=i.length;e<o;e++){let o=i[e];if(typeof o==`string`||o.nodeType!==tr.REFERENCE){a.push(o);continue}let{token:s}=o,l=$n(s),{sheetName:u,unitId:d}=l,f=l.range;if(!r&&f.startAbsoluteRefType===c.AbsoluteRefType.ALL&&f.endAbsoluteRefType===c.AbsoluteRefType.ALL){a.push(o);continue}else f=(0,c.moveRangeByOffset)(f,t,n,r);let p=``;p=(0,c.isValidRange)(f)?en({range:f,unitId:d,sheetName:u}):S.REF,a.push({...o,token:p})}return`=${nr(a)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;let e=this._currentLexerNode.getChildren()[0];return e instanceof M?!0:!!(this._passArrayOperator(e)||ne.has(e)||ae.has(e)||e===oe.AT||e===D.COMMA||e===D.COLON||e===D.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 M?!1:!!ne.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:l}=a;if(l===D.DOUBLE_QUOTATION&&(n=!0),(s!==``||r===0)&&r!==i-1){t.push(l);continue}let u=(o==null?void 0:o.segment)||``,d=r-u.length,f=r-1,p=r-1;if(r===i-1&&this._isLastMergeString(l)&&(u+=l,f+=1),u===``||te.has(u)){t.push(l);continue}let m=u.trim(),h=sn(m);n===!0&&m[m.length-1]===D.DOUBLE_QUOTATION&&m[0]!==D.OPEN_BRACES?(n=!1,this._processPushSequenceNode(t,tr.STRING,u,d,f,p)):Et(h)&&on(h)?this._processPushSequenceNode(t,tr.REFERENCE,u,d,f,p):c.Tools.isStringNumber(m)?this._processPushSequenceNode(t,tr.NUMBER,u,d,f,p):m.length>0&&this._processPushSequenceNode(t,tr.FUNCTION,u,d,f,p),(r!==i-1||!this._isLastMergeString(l))&&t.push(l)}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===D.DOUBLE_QUOTATION||c.Tools.isStringNumber(e)||!Be(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()===D.CLOSE_BRACES&&i!=null&&typeof i!=`string`&&i.nodeType===tr.FUNCTION&&i.token.trim().substring(0,1)===D.OPEN_BRACES){i.nodeType=tr.ARRAY,i.token+=n,i.endIndex+=n.length,r++;continue}t.push(n)}else{let i=e[r+1],a=e[r+2];i===D.COLON&&typeof n!=`string`&&a!=null&&typeof a!=`string`&&on((n.token+i+a.token).trim())&&(n.nodeType=tr.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(on(i.trim())){let e=r.length,a=n.startIndex,o=n.startIndex+e-1,s={nodeType:tr.NORMAL,token:r,startIndex:a,endIndex:o},c={nodeType:tr.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=ar.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===S.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===S.VALUE))return a;let l=this._getTopNode(this._currentLexerNode);if(l&&(this._currentLexerNode=l),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return S.VALUE;ar.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===tr.REFERENCE||l===tr.FUNCTION){l===tr.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||S.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+=S.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===S.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 M)a=this._suffixExpressionHandler(n),r.push(n);else{let a=n.trim();if(a===``)continue;if(ne.has(a)){if(a===T.PLUS&&this._deletePlusForPreNode(t[e-1]))continue;if(a!==T.PLUS&&a!==T.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===D.OPEN_BRACKET)break;let t=te.get(e),n=te.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===D.OPEN_BRACKET)i.push(n);else if(a===D.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 M)&&(n===D.OPEN_BRACKET||n===D.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===D.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===D.CLOSE_BRACKET||e instanceof M}_checkOpenBracket(e){return e===D.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof M?!1:ne.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof M)){let t=e.trim();if(ne.has(t)||t===D.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new M}_resetSegment(){this._segment=``}_openBracket(e=rr.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 M)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 M)&&this.isColonOpen()){let e=new M;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 M;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&&Ge(n))return!0;if(ae.has(n)){let n=this._findSecondLastNonSpaceToken(e,t);if(n==null||qe(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===D.OPEN_BRACKET||e===D.COMMA||e===T.EQUALS||e===``}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!ne.has(e)}_getSequenceArray(e){let t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new M,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!==ie.POUND)return!0;let i=n[++r];for(;i===` `;)i=n[++r];return!!Be(i)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let n=0;n<w.length;n++){let r=w[n],i=t.slice(e,e+r).join(``).toUpperCase();if(C.has(i))return i}}_nodeMaker(e,t,n){let r=e.replace(/\r\n$|\r|\n/g,` `);r.substring(0,1)===T.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===ie.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(o,i)){let e=this._findErrorObject(o,i);if(e==null)return S.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===D.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(rr.FUNCTION),this._closeLambda();let n=i[o+1];if(n&&n===D.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return S.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(rr.NORMAL),this._openBracketNormalIndex(),this._resetSegment();else if(e===D.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===rr.NORMAL)this._pushNodeToChildren(e);else if(t===rr.FUNCTION){let e=i[o+1];if(e&&e===D.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return S.VALUE;this._newAndPushCurrentLexerNode(`L_1`,o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return S.VALUE}else return S.VALUE;this._closeBracket()}else if(e===D.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(e),this._openBraces(),!this._formulaSpellCheck())return S.VALUE}else if(e===D.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(e),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(e===D.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(e),this._openSquareBracket();else if(e===D.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===D.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{let e=i[o+1];e&&e===D.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(e)}else if(e===D.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{let n=i[o+1];if(n&&n===D.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===D.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred();let e=this._getCurrentBracket();if(e===rr.FUNCTION||e==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&e!=null)return S.VALUE;this._newAndPushCurrentLexerNode(`P_1`,o)}else{let e=new M;e.setToken(`CUBE`);let t=new M;t.setToken(`P_1`),t.changeToParent(e);let n=this._currentLexerNode.getParent();if(n&&n.getToken()===D.COLON){let r=n.getParent();if(!r)return S.VALUE;n.changeToParent(t),r.setChildren([]),e.changeToParent(r)}else return S.VALUE;this._changeCurrentBracket(rr.FUNCTION),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=e,this._newAndPushCurrentLexerNode(`P_1`,o)}}else if(e===D.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){let t=new M;t.setToken(e);let n=new M;n.setToken(`P_1`),n.setParent(t);let r=new M;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===oe.MINUS&&(e=new M,e.setToken(oe.MINUS),e.setIndex(o-this._segment.length,o-this._segment.length),s++),l===oe.AT||u===oe.AT){r=new M,r.setToken(oe.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 M;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(ae.has(e)&&this._checkSimilarErrorToken(e,o,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);let t=new M;t.setToken(e),t.setIndex(o-1,o-1);let n=this._getLastChildCurrent();if(n instanceof M)n.changeToParent(t);else if(n===D.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(ne.has(e)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let n=this._segment.trim();if(e===T.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(T.MINUS),this._addSequenceArray(t,e,o),this._resetSegment(),o++;continue}else if(this._unexpectedEndingToken(n))if(r===T.PLUS){this._pushSegment(T.MINUS),this._addSequenceArray(t,e,o),this._addSequenceArray(t,T.PLUS,o+1),o+=2;continue}else{this._pushSegment(T.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===T.LESS_THAN||e===T.GREATER_THAN){let r=i[o+1];if(r&&ne.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 S.VALUE}_isScientificNotation(e,t,n){let r=e[t-2];if(r&&Number.isNaN(Number(r))||!(n===T.MINUS||n===T.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 cr(e,t,n,r,i,a,o){let s=(o==null?void 0:o.f)||``,l=(o==null?void 0:o.si)||``,u=(0,c.isFormulaString)(s),d=(0,c.isFormulaId)(l),f=e.getValue(i,a),p=(f==null?void 0:f.f)||``,m=(f==null?void 0:f.si)||``,h=(f==null?void 0:f.x)||0,g=(f==null?void 0:f.y)||0;function _(){if((0,c.isFormulaString)(p)&&(0,c.isFormulaId)(m)&&h===0&&g===0){var e;let t=n==null||(e=n[m])==null?void 0:e.f;t?r.set(m,t):r.set(m,p)}}u&&d?(m!==l&&_(),e.setValue(i,a,{f:s,si:l}),n[l]={f:s,r:i,c:a},t.setValue(i,a,{f:s,si:l})):u&&!d?(p!==s&&_(),e.setValue(i,a,{f:s}),t.setValue(i,a,{f:s})):!u&&d?(m!==l&&_(),e.setValue(i,a,{f:``,si:l})):!u&&!d&&e.getValue(i,a)&&(_(),e.realDeleteValue(i,a),t.setValue(i,a,null))}function lr(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||c.Rectangle.intersects(o,i)&&a.push(o)});let{startRow:o,startColumn:s,endRow:l,endColumn:u}=i;for(let e=o;e<=l;e++)for(let n=s;n<=u;n++){let r=!1,i=(0,c.cellToRange)(e,n);a.some(e=>c.Rectangle.contains(e,i)?(r=!0,!0):!1),r||t.realDeleteValue(e,n)}}let ur=class extends c.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,b(this,`_arrayFormulaRange`,{}),b(this,`_arrayFormulaCellData`,{}),b(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 c.ObjectMatrix(o),l=new c.ObjectMatrix;if(((i=this._arrayFormulaCellData[t])==null?void 0:i[e])!=null){var u;l=new c.ObjectMatrix((u=this._arrayFormulaCellData[t])==null?void 0:u[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++)l.setValue(e,t,null);s.realDeleteValue(e,t)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=l.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 c.ObjectMatrix((r=this._arrayFormulaRange[t])==null?void 0:r[e]),s=new c.ObjectMatrix((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(c.UniverInstanceType.UNIVER_SHEET);return t.length===0||t.forEach(t=>{let n=t.getUnitId();e[n]={},t.getSheets().forEach(t=>{let r=t.getCellMatrix();dr(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?{}:(dr(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 c.ObjectMatrix(n[e]),a=new c.ObjectMatrix((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 c.ObjectMatrix),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 c.ObjectMatrix(a);o.getValue(n,r)&&(o.realDeleteValue(n,r),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}getCalculateData(){let e=this._univerInstanceService.getAllUnitsForType(c.UniverInstanceType.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 c.ObjectMatrix(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(c.UniverInstanceType.UNIVER_SHEET),t={};for(let n of e){let e=n.getUnitId(),r=n.getSheets();t[e]={};for(let n of r){let r=n.getSheetId();t[e][r]={};let i=n.getRowCount()-1,a={};for(let e=0;e<=i;e++)n.getRowVisible(e)||(a[e]={hd:c.BooleanNumber.TRUE});t[e][r]=a}}return t}updateFormulaData(e,t,n){let r=new c.ObjectMatrix(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 l=new c.ObjectMatrix(s[t]||{}),u=new c.ObjectMatrix;return r.forValue((e,t,n)=>{cr(l,u,i,a,e,t,n)}),l.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``;if((0,c.isFormulaId)(o)){let s=i==null?void 0:i[o],d=a.get(o);if(s&&!(0,c.isFormulaString)(r)){let n=s.f,r=t-s.c,i=e-s.r;l.setValue(e,t,{f:n,si:o,x:r,y:i}),u.setValue(e,t,{f:n,si:o,x:r,y:i})}else if(typeof d==`string`){let r=(n==null?void 0:n.x)||0,i=(n==null?void 0:n.y)||0,s=this._lexerTreeBuilder.moveFormulaRefOffset(d,r,i);a.set(o,{r:e,c:t,f:s}),l.setValue(e,t,{f:s,si:o}),u.setValue(e,t,{f:s,si:o})}else if(typeof d==`object`){let n=t-d.c,r=e-d.r;l.setValue(e,t,{f:d.f,si:o,x:n,y:r}),u.setValue(e,t,{f:d.f,si:o,x:n,y:r})}}}),u.getMatrix()}updateArrayFormulaRange(e,t,n){var r;let i=(r=this._arrayFormulaRange[e])==null?void 0:r[t];if(!i)return;let a=new c.ObjectMatrix(i);new c.ObjectMatrix(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 c.ObjectMatrix(a),s=(i=this._arrayFormulaCellData[e])==null?void 0:i[t];if(!s)return;let l=new c.ObjectMatrix(s);new c.ObjectMatrix(n).forValue((e,t,n)=>{lr(o,l,e,t)})}updateImageFormulaData(e,t,n){var r;let i=(r=this._unitImageFormulaData[e])==null?void 0:r[t];i&&new c.ObjectMatrix(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:l,si:u}=s;if((0,c.isFormulaString)(l))return l;if((0,c.isFormulaId)(u)){let n=null;return o.forValue((r,i,a)=>{if(a==null)return!0;let{f:o,si:s}=a;if((0,c.isFormulaString)(o)&&u===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=(0,c.isFormulaString)(r==null?void 0:r.f)||(0,c.isFormulaId)(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 l=s[n].slice(-1)[0];l&&l.endRow===t-1?l.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.RANGE_TYPE.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;(0,c.isFormulaString)(i)&&(0,c.isFormulaId)(a)&&(n[a]={f:i,r:e,c:t})}),n}};ur=vn([j(0,c.IUniverInstanceService),j(1,(0,c.Inject)(sr))],ur);function dr(e,t,n,r){e[t]||(e[t]={}),e[t][n]||(e[t][n]={});let i=new Map,a=new c.ObjectMatrix(e[t][n]);r.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``,s=(0,c.isFormulaString)(r),l=(0,c.isFormulaId)(o);s&&l?(a.setValue(e,t,{f:r,si:o}),i.set(o,{f:r,r:e,c:t})):s&&!l?a.setValue(e,t,{f:r}):!s&&l&&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((0,c.isFormulaId)(o)&&!(0,c.isFormulaString)(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 fr=Symbol(`EMPTY_CELL`),pr=new class{constructor(){b(this,`_cache`,new Map),b(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=fr);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=fr);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 u.default,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 mr=class extends c.Disposable{constructor(...e){super(...e),b(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 hr=(0,c.createIdentifier)(`univer.formula.sheet-row-filtered.service`);let gr=class extends c.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=n,this._sheetRowFilteredService=r,b(this,`_unitData`,{}),b(this,`_unitStylesData`,{}),b(this,`_arrayFormulaCellData`,{}),b(this,`_arrayFormulaRange`,{}),b(this,`_formulaData`,{}),b(this,`_sheetNameMap`,{}),b(this,`_forceCalculate`,!1),b(this,`_clearDependencyTreeCache`,{}),b(this,`_dirtyRanges`,[]),b(this,`_dirtyNameMap`,{}),b(this,`_dirtyDefinedNameMap`,{}),b(this,`_dirtyUnitFeatureMap`,{}),b(this,`_dirtyUnitOtherFormulaMap`,{}),b(this,`_excludedCell`,void 0),b(this,`_sheetIdToNameMap`,{}),b(this,`_executeUnitId`,``),b(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(c.UniverInstanceType.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=Rt(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=Rt(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(c.UniverInstanceType.UNIVER_SHEET),t=e==null?void 0:e.getActiveSheet();return this._executeUnitId=e==null?void 0:e.getUnitId(),this._executeSubUnitId=t==null?void 0:t.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(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 c.ObjectMatrix({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][n].rowData=e[t][n])}};gr=vn([j(0,c.IUniverInstanceService),j(1,(0,c.Inject)(c.LocaleService)),j(2,(0,c.Inject)(ur)),j(3,(0,c.Inject)(hr))],gr);const _r=(0,c.createIdentifier)(`univer.formula.current-data.service`);let vr=class extends c.Disposable{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}};vr=vn([j(0,bn),j(1,(0,c.Inject)(sr)),j(2,_r)],vr);function yr(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 br(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 c.BuildTextUtils.transform.getPlainText(n)}return(t=e==null?void 0:e.v)==null?0:t}function xr(e,t=!1){return!t&&!((0,c.isFormulaString)(e==null?void 0:e.f)||(0,c.isFormulaId)(e==null?void 0:e.si))?null:typeof(e==null?void 0:e.v)==`string`&&C.has(e.v)?e.v:null}function Sr(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 Cr=function(e){return e[e.MIN=0]=`MIN`,e[e.MAX=1]=`MAX`,e}({}),wr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.MIN=1]=`MIN`,e[e.MAX=2]=`MAX`,e}({});function Tr(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(e,t)=>e.localeCompare(t)}function Er(e){return e.indexOf(`*`)>-1||e.indexOf(`?`)>-1}function Dr(e,t){let n=Ar(t).replace(/~?[*?]/g,e=>e.startsWith(`~`)?`\\${e.substring(1)}`:e===`*`?`.*`:e===`?`?`.`:e);return RegExp(`^${n}$`).test(e)}function Or(e){return e.replace(/~?[*?]/g,e=>e.startsWith(`~`)?e.substring(1):` `)}function kr(e,t,n){let r=!1;switch(n){case E.EQUALS:r=Dr(e,t);break;case E.NOT_EQUAL:r=!Dr(e,t);break;case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:r=Dr(e,t)||e>Or(t);break;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:r=e<Or(t);break;default:break}return r}function Ar(e){return e.replace(/[.+^${}()|[\]\\]/g,`\\$&`)}function jr(e){switch(e){case 1:return wr.MAX;case 0:return wr.NORMAL;case-1:return wr.MIN;default:return wr.NORMAL}}function Mr(e){return e===-2?Cr.MAX:Cr.MIN}var Nr=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}(Nr||{});Nr.Currency,Nr.Date,Nr.Time,Nr.Custom,Nr.Fraction,Nr.General,Nr.Custom,Nr.Number,Nr.Percentage,Nr.Scientific,Nr.Text,Nr.Time,Nr.Custom;function Pr(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 Fr=new x(1e5);function Ir(){Fr.clear()}const Lr=new Map([[c.LocaleType.EN_US,`$`],[c.LocaleType.RU_RU,`₽`],[c.LocaleType.VI_VN,`₫`],[c.LocaleType.ZH_CN,`¥`],[c.LocaleType.ZH_TW,`NT$`],[c.LocaleType.FR_FR,`€`],[c.LocaleType.FA_IR,`﷼`],[c.LocaleType.KO_KR,`₩`],[c.LocaleType.ES_ES,`€`],[c.LocaleType.CA_ES,`€`]]);function Rr(e){return Lr.get(e)||`$`}function zr(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${Rr(e)}"#,##0${r}_);[Red]("${Rr(e)}"#,##0${r})`}function Br(e,t,n=2){return c.numfmt.format(zr(e,n),t)}const Vr=new x(1e5);function Hr(e){let t=e;t.startsWith(`"`)&&t.endsWith(`"`)&&(t=t.slice(1,-1));let n=Vr.get(t);if(n)return{isNumberPattern:!0,value:n.value,pattern:n.pattern};let r=(0,c.getNumfmtParseValueFilter)(t);return r&&r.z?Ur(t,r.v,r.z):{isNumberPattern:!1}}function Ur(e,t,n){return Vr.set(e,{value:t,pattern:n}),{isNumberPattern:!0,value:t,pattern:n}}function Wr(){Vr.clear()}function Gr(e){let t;switch(e){case E.EQUALS:t=E.EQUALS;break;case E.GREATER_THAN:t=E.LESS_THAN;break;case E.GREATER_THAN_OR_EQUAL:t=E.LESS_THAN_OR_EQUAL;break;case E.LESS_THAN:t=E.GREATER_THAN;break;case E.LESS_THAN_OR_EQUAL:t=E.GREATER_THAN_OR_EQUAL;break;case E.NOT_EQUAL:t=E.NOT_EQUAL;break}return t}function Kr(e,t){let n=e+t;return Number.isSafeInteger(n)?n:new d.default(e).add(t).toNumber()}function qr(e,t){let n=e-t;return Number.isSafeInteger(n)?n:new d.default(e).sub(t).toNumber()}function Jr(e,t){let n=e*t;return Number.isSafeInteger(n)?n:new d.default(e).mul(t).toNumber()}function Yr(e,t){let n=e/t;return Number.isSafeInteger(n)?n:new d.default(e).div(t).toNumber()}function Xr(e,t){let n=10**Math.trunc(t),r=$r(e,n);return Math.round(Jr(e,n)+r)/n}function Zr(e,t){let n=10**Math.trunc(t),r=$r(e,n);return Math.floor(Jr(e,n)+r)/n}function Qr(e,t){let n=10**Math.trunc(t),r=$r(e,n);return Math.ceil(Jr(e,n)-r)/n}function $r(e,t){return 2**-52*Math.max(1,Math.abs(Jr(e,t)))}function ei(e,t){return e-t*Math.floor(e/t)}function ti(e,t){return e**t}function ni(e){return Math.sqrt(e)}function ri(e,t){return e===t}function ii(e,t){return e>t}function ai(e,t){return e>=t}function oi(e,t){return e<t}function si(e,t){return e<=t}function ci(e,t=15){return Math.floor(Math.abs(e)).toString().length>=t?e:Number.parseFloat(e.toPrecision(t))}function li(e,t,n=2**-52){return Math.abs(e-t)<n}function ui(e,t=12,n=1e-10){let r=ci(e,t);return li(e,r,n)?r:ci(e)}function di(e){return e-Math.trunc(e)}var N=class e extends se{static create(){return this._instance=this._instance||new e(0),this._instance}isNull(){return!0}plus(e){return F.create(0).plus(e)}minus(e){return F.create(0).minus(e)}multiply(e){return F.create(0).multiply(e)}divided(e){return F.create(0).divided(e)}mod(e){return F.create(0).mod(e)}compare(e,t){return e.isString()?I.create(``).compare(e,t):e.isBoolean()?P.create(!1).compare(e,t):F.create(0).compare(e,t)}concatenateFront(e){return e.isArray()?e.concatenateBack(I.create(``)):I.create(this.concatenate(e.getValue(),g.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(I.create(``)):I.create(this.concatenate(e.getValue(),g.BACK))}plusBy(e){return F.create(0).plusBy(e)}minusBy(e){return F.create(0).minusBy(e)}multiplyBy(e){return F.create(0).multiplyBy(e)}dividedBy(e){return F.create(0).dividedBy(e)}compareBy(e,t){return typeof e==`string`?I.create(``).compareBy(e,t):typeof e==`boolean`?P.create(!1).compareBy(e,t):F.create(0).compareBy(e,t)}pow(e){return F.create(0).pow(e)}sqrt(){return F.create(0).sqrt()}cbrt(){return F.create(0).cbrt()}cos(){return F.create(0).cos()}cosh(){return F.create(0).cosh()}acos(){return F.create(0).acos()}acosh(){return F.create(0).acosh()}sin(){return F.create(0).sin()}sinh(){return F.create(0).sinh()}asin(){return F.create(0).asin()}asinh(){return F.create(0).asinh()}tan(){return F.create(0).tan()}tanh(){return F.create(0).tanh()}atan(){return F.create(0).atan()}atan2(e){return F.create(0).atan2(e)}atanh(){return F.create(0).atanh()}log(){return O.create(S.NUM)}log10(){return O.create(S.NUM)}exp(){return F.create(0).exp()}abs(){return F.create(0).abs()}round(e){return F.create(0).round(e)}floor(e){return F.create(0).floor(e)}ceil(e){return F.create(0).ceil(e)}convertToNumberObjectValue(){return F.create(0)}convertToBooleanObjectValue(){return P.create(!1)}};b(N,`_instance`,void 0);var P=class e extends se{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),b(this,`_value`,!1),this._value=e}getValue(){return this._value}isBoolean(){return!0}getNegative(){let e=this.getValue(),t=0;return e&&(t=1),F.create(-t)}getReciprocal(){return this.getValue()?F.create(1):O.create(S.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,Gr(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=F.create(t?1:0);return this._convertToNumber().compare(e,n)}return e.create(r)}_compareString(e){switch(e){case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!0;case E.EQUALS:case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.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),F.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 hi(this.getValue())}convertToBooleanObjectValue(){return this}};b(P,`_instanceTrue`,void 0),b(P,`_instanceFalse`,void 0);var F=class e extends se{static create(t,n=``){let r=new e(t);return n&&r.setPattern(n),r}constructor(e){super(e),b(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 O.create(S.DIV_BY_ZERO);if(typeof r==`string`)return O.create(S.VALUE);if(typeof r==`number`){if(r===0)return O.create(S.DIV_BY_ZERO);if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(n))return O.create(S.NUM);let t=ei(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}if(typeof r==`boolean`){let t=r?1:0;return t===0?O.create(S.DIV_BY_ZERO):e.create(ei(n,t))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):I.create(this.concatenate(e.getValue(),g.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):I.create(this.concatenate(e.getValue(),g.BACK))}isDateFormat(){let e=this.getPattern();return c.numfmt.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Gr(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 O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let i=Kr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.NUM)}minusBy(t){if(typeof t==`string`&&t.trim()===``)return O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let i=qr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.NUM)}multiplyBy(t){if(typeof t==`string`&&t.trim()===``)return O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let i=Jr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.NUM)}dividedBy(t){if(typeof t==`string`&&t.trim()===``)return O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);if(r===0)return O.create(S.DIV_BY_ZERO);let i=Yr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.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)),P.create(i)}_compareString(e){switch(e){case E.EQUALS:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!1;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.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 E.EQUALS:return ri(e,t);case E.GREATER_THAN:return ii(e,t);case E.GREATER_THAN_OR_EQUAL:return ai(e,t);case E.LESS_THAN:return oi(e,t);case E.LESS_THAN_OR_EQUAL:return si(e,t);case E.NOT_EQUAL:return!ri(e,t)}}_compareBoolean(e){switch(e){case E.EQUALS:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!1;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.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 O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(i))return O.create(S.NUM);if(n===0)return i<0?O.create(S.DIV_BY_ZERO):i===0?O.create(S.NUM):e.create(0);let a=ti(n,i);return Number.isFinite(a)?e.create(a):O.create(S.NUM)}sqrt(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=ni(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}cbrt(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.cbrt(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}cos(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.cos(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}cosh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.cosh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}acos(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.acos(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}acosh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.acosh(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}sin(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.sin(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}sinh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.sinh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}asin(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.asin(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}asinh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.asinh(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}tan(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.tan(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}tanh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.tanh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}atan(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.atan(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}atan2(t){if(t.isArray())return t.atan2Inverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);if(n===0&&r===0)return O.create(S.DIV_BY_ZERO);let t=Math.atan2(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Math.atan2(n,r?1:0)):this}atanh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.atanh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}log(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return O.create(S.NUM);let n=Math.log(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}log10(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return O.create(S.NUM);let n=Math.log10(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}exp(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.exp(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}abs(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.abs(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}round(t){if(t.isArray())return t.roundInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let t=n<0?-Xr(Math.abs(n),r):Xr(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Xr(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 O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let t=n<0?-Zr(Math.abs(n),r):Zr(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Zr(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 O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let t=n<0?-Qr(Math.abs(n),r):Qr(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Qr(n,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return pi(!0)}_compareInfinity(e,t,n){let r=!1;switch(n){case E.EQUALS:r=e===t;break;case E.GREATER_THAN:r=e>t;break;case E.GREATER_THAN_OR_EQUAL:r=e>=t;break;case E.LESS_THAN:r=e<t;break;case E.LESS_THAN_OR_EQUAL:r=e<=t;break;case E.NOT_EQUAL:r=e!==t;break}return r}};const fi=new x(1e5);var I=class e extends se{static create(t,n){let r=fi.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),fi.set(t,i),i}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!c.Tools.diffValue(e.getImageInfo(),t.imageInfo))}constructor(e){super(e),b(this,`_value`,void 0),b(this,`_isHyperlink`,!1),b(this,`_hyperlinkUrl`,``),b(this,`_isImage`,!1),b(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(),g.FRONT))}concatenateBack(t){return t.isArray()?t.concatenateFront(this):e.create(this.concatenate(t.getValue(),g.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,Gr(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()),Er(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 P.create(i)}_compareString(e,t,n){switch(n){case E.EQUALS:return e===t;case E.GREATER_THAN:return e>t;case E.GREATER_THAN_OR_EQUAL:return e>=t;case E.LESS_THAN:return e<t;case E.LESS_THAN_OR_EQUAL:return e<=t;case E.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case E.NOT_EQUAL:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!0;case E.EQUALS:case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case E.EQUALS:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!1;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.NOT_EQUAL:return!0}}convertToNumberObjectValue(){let e=this.getValue(),t=(0,c.getNumfmtParseValueFilter)(e);return t&&t.z?hi(t.v,t.z):hi(e)}convertToBooleanObjectValue(){return P.create(!0)}_checkWildcard(e,t){let n=kr(this.getValue().toLocaleLowerCase(),e,t);return P.create(n)}};function pi(e){if(typeof e==`boolean`)return P.create(e);let t=!1;if(typeof e==`string`){let n=e.toLocaleUpperCase();n===p.TRUE?t=!0:n===p.FALSE&&(t=!1)}else t=e===1;return P.create(t)}function mi(e){let t=e.toString();return t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`&&(t=t.slice(1,-1),t=t.replace(/""/g,`"`)),I.create(t)}function hi(e,t=``){if(typeof e==`boolean`){let n=0;return e&&(n=1),F.create(n,t)}else if(typeof e==`number`)return Number.isFinite(e)?F.create(e,t):O.create(S.NUM);else if((0,c.isRealNum)(e))return F.create(Number(e),t);return O.create(S.VALUE)}var L=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}(L||{}),gi=function(e){return e[e.PRODUCT=0]=`PRODUCT`,e[e.ROW=1]=`ROW`,e[e.COLUMN=2]=`COLUMN`,e[e.SINGLE=3]=`SINGLE`,e}(gi||{});function _i(e){return``}function vi(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]=bi.create(a,t)}}return n}function yi(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 R=class e extends se{static create(t){return new e(t)}static createByArray(t){return new e({calculateValueList:vi(t),rowCount:t.length,columnCount:t[0].length||0,unitId:``,sheetId:``,row:-1,column:-1})}constructor(e){super(typeof e==`string`?e:_i(e)),b(this,`_values`,[]),b(this,`_rowCount`,-1),b(this,`_columnCount`,-1),b(this,`_unitId`,``),b(this,`_sheetId`,``),b(this,`_currentRow`,-1),b(this,`_currentColumn`,-1),b(this,`_sliceCache`,new Map),b(this,`_flattenCache`,void 0),b(this,`_defaultValue`,null),b(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||N.create()}getLastCell(){let{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||N.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[[N.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=N.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=wr.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,E.EQUALS):n.isEqual(e),(u==null?void 0:u.getValue())===!0)return i=n,o={row:c,column:l},!1;t===wr.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===wr.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=Cr.MIN,n=wr.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=Cr.MIN,i=wr.MIN){let a=Tr(),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===Cr.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===Cr.MAX&&(p=-p),p===0){u=n;break}p<0?(d=n,c=n+1):(f=n,l=n-1)}if(i===wr.NORMAL)return u===-1?void 0:n[u];if(i===wr.MIN)return u===-1?r===Cr.MIN?n[d]:n[f]:n[u];if(i===wr.MAX)return u===-1?r===Cr.MIN?n[f]:n[d]:n[u]}sum(){let e=F.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=F.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=F.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=F.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=F.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=F.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,L.PLUS)}minus(e){return this._batchOperator(e,L.MINUS)}multiply(e){return this._batchOperator(e,L.MULTIPLY)}divided(e){return this._batchOperator(e,L.DIVIDED)}mod(e){return this._batchOperator(e,L.MOD)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,n){return this._batchOperator(e,L.COMPARE,t,n)}concatenateFront(e){return this._batchOperator(e,L.CONCATENATE_FRONT)}concatenateBack(e){return this._batchOperator(e,L.CONCATENATE_BACK)}map(e){return this.mapValue((t,n,r)=>t==null?N.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]=O.create(S.VALUE);else{let i=n[r]||this._defaultValue;i?t[r]=e(i,a,r):t[r]=N.create()}}r.push(t)}return this._createNewArray(r,t,n)}pow(e){return this._batchOperator(e,L.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,L.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)||N.create();if(t.sortByRow(0),n%2==0){let e=t.get(0,n/2)||N.create(),r=t.get(0,n/2-1)||N.create();return e.plus(r).divided(F.create(2))}return t.get(0,(n-1)/2)||N.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(F.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,L.ROUND)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,L.FLOOR)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,L.CEIL)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return yi(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){let t=Tr();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(N.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(P.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===L.COMPARE){let{rowsInCache:d,rowsNotInCache:f}=pr.canUseCache(s,c,t+u,l,l+o-1);if(d.length>0){if(i===E.EQUALS&&!(e.isString()&&Er(e.getValue()))){let r=pr.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]=P.create(!0)})}else{let r=pr.getCellValuePositions(s,c,t+u);r!=null&&r.forEach((r,s)=>{let c=N.create();C.has(s)?c=O.create(s):typeof s==`string`?c=I.create(s):typeof s==`number`?c=F.create(s):typeof s==`boolean`&&(c=P.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);pr.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);pr.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 L.PLUS:n[i][t]=d.plus(e);break;case L.MINUS:n[i][t]=d.minus(e);break;case L.MULTIPLY:n[i][t]=d.multiply(e);break;case L.DIVIDED:n[i][t]=d.divided(e);break;case L.MOD:n[i][t]=d.mod(e);break;case L.COMPARE:l?n[i][t]=d.compare(e,l,u):n[i][t]=O.create(S.VALUE);break;case L.CONCATENATE_FRONT:n[i][t]=d.concatenateFront(e);break;case L.CONCATENATE_BACK:n[i][t]=d.concatenateBack(e);break;case L.POW:n[i][t]=d.pow(e);break;case L.ROUND:n[i][t]=d.round(e);break;case L.FLOOR:n[i][t]=d.floor(e);break;case L.ATAN2:n[i][t]=d.atan2(e);break;case L.CEIL:n[i][t]=d.ceil(e);break}else n[i][t]=O.create(S.NA);!d||d!=null&&d.isNull()?pr.set(a,o,t+c,fr,i+s):pr.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===gi.SINGLE?this.getValueOrDefault(0,0):s===gi.ROW?this.getValueOrDefault(0,o):s===gi.COLUMN?this.getValueOrDefault(l,0):this.getValueOrDefault(l,o);let u;if(u=c===gi.SINGLE?e.getValueOrDefault(0,0):c===gi.ROW?e.getValueOrDefault(0,o):c===gi.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 L.PLUS:i[o]=a.plus(u);break;case L.MINUS:i[o]=a.minus(u);break;case L.MULTIPLY:i[o]=a.multiply(u);break;case L.DIVIDED:i[o]=a.divided(u);break;case L.MOD:i[o]=a.mod(u);break;case L.COMPARE:n?i[o]=a.compare(u,n,r):i[o]=O.create(S.VALUE);break;case L.CONCATENATE_FRONT:i[o]=a.concatenateFront(u);break;case L.CONCATENATE_BACK:i[o]=a.concatenateBack(u);break;case L.POW:i[o]=a.pow(u);break;case L.ROUND:i[o]=a.round(u);break;case L.ATAN2:i[o]=a.atan2(u);break;case L.FLOOR:i[o]=a.floor(u);break;case L.CEIL:i[o]=a.ceil(u);break}else i[o]=O.create(S.NA)}o.push(i)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?gi.SINGLE:e.getRowCount()===1?gi.ROW:e.getColumnCount()===1?gi.COLUMN:gi.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(bi.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)}},bi=class{static create(e,t=!1){if(e==null)return N.create();if(typeof e==`boolean`)return P.create(e);if(typeof e==`string`){let n=e.toLocaleUpperCase().trim();if(C.has(n))return O.create(n);if(n===p.TRUE||n===p.FALSE)return pi(e);if((0,c.isRealNum)(e)&&Number(e).toString()===e.trim())return F.create(Number(e));if(!t){let{isNumberPattern:t,value:n,pattern:r}=Hr(e);if(t)return F.create(n,r)}let r=e.replace(/\n/g,``).replace(/\r/g,``);return!xi(r)&&It(r)?R.create(r):mi(e)}return typeof e==`number`?hi(e):O.create(S.VALUE)}};function xi(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)}const Si=new x(1e4);var Ci=class extends ee{constructor(e){super(),this._token=e,b(this,`_forcedSheetId`,``),b(this,`_forcedSheetName`,``),b(this,`_defaultSheetId`,``),b(this,`_rangeData`,{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1}),b(this,`_unitData`,{}),b(this,`_unitStylesData`,{}),b(this,`_filteredOutRows`,[]),b(this,`_defaultUnitId`,``),b(this,`_forcedUnitId`,``),b(this,`_runtimeData`,{}),b(this,`_arrayFormulaCellData`,{}),b(this,`_arrayFormulaRange`,{}),b(this,`_runtimeArrayFormulaCellData`,{}),b(this,`_runtimeArrayFormulaRange`,{}),b(this,`_runtimeFeatureCellData`,{}),b(this,`_refOffsetX`,0),b(this,`_refOffsetY`,0),b(this,`_currentRow`,void 0),b(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=(0,c.moveRangeByOffset)(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(O.create(S.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(O.create(S.REF),s,n);let i=this.getCellData(s,n),c=!1;if(yr(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=F.create(t,e)}}if(c=e(l,s,n),c===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return O.create(S.VALUE);let{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return F.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=F.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 O.create(S.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){let t=br(e);if(C.has(t))return O.create(t);if(e.t===c.CellValueType.NUMBER){let n=this._getPatternByCell(e);return(0,c.isTextFormat)(n)?I.create(t.toString()):hi(t,n)}return e.t===c.CellValueType.STRING||e.t===c.CellValueType.FORCE_STRING?I.create(t.toString()):e.t===c.CellValueType.BOOLEAN?pi(t):bi.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 c.ObjectMatrix(this.getCurrentActiveArrayFormulaRange()),s=new c.ObjectMatrix(this.getCurrentRuntimeActiveArrayFormulaRange()),l=(r==null?void 0:r.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t);if(l)return l;if(l=i==null?void 0:i.getValue(e,t),l){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:l}return n==null?void 0:n.cellData.getValue(e,t)}getRuntimeFeatureCellValue(e,t){return Sr(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):O.create(S.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=Si.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=N.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=R.create(d);return e&&Si.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 R.create(e)}},wi=class extends ee{constructor(e){super(),this._promise=e}isAsyncObject(){return!0}async getValue(){return this._promise}},Ti=class extends ee{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 R.create(n)}},Ei=class extends Ci{constructor(e,t,n){super(``),this.setRangeData(e),t&&this.setForcedSheetIdDirect(t),n&&this.setForcedUnitIdDirect(n)}isRange(){return!0}},Di=class extends Ci{constructor(e){super(e);let t=$n(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName),this.setRangeData(t.range)}isCell(){return!0}unionBy(e){if(!e.isCell())return O.create(S.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 Ei(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}},Oi=class extends Ci{constructor(e){super(e);let t=$n(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.RANGE_TYPE.COLUMN};this.setRangeData(n)}isColumn(){return!0}unionBy(e){if(!e.isColumn())return O.create(S.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return O.create(S.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.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${D.COLON}${t.getToken()}`),this}},ki=class extends Ci{constructor(e){super(e);let t=$n(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.RANGE_TYPE.ROW};this.setRangeData(n)}isRow(){return!0}unionBy(e){if(!e.isRow())return O.create(S.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return O.create(S.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.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${D.COLON}${t.getToken()}`),this}};function z(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?N.create():r);continue}let t=n.get(s,o);e.push(t)}o.push(e)}return Ai(o,e,t)}function Ai(e,t,n,r=``,i=``){let a={calculateValueList:e,rowCount:t,columnCount:n,unitId:r,sheetId:i,row:-1,column:-1};return R.create(a)}function ji(e){let t=[E.EQUALS,E.NOT_EQUAL,E.GREATER_THAN_OR_EQUAL,E.GREATER_THAN,E.LESS_THAN_OR_EQUAL,E.LESS_THAN];for(let n of t)if(e.startsWith(n)){let t=e.substring(n.length);return[n,bi.create(t)]}return[E.EQUALS,bi.create(e)]}function Mi(e,t,n,r){if(!n)if(t.isString()){let[e,r]=ji(`${t.getValue()}`);n=e,t=r}else n=E.EQUALS;return e.compare(t,n,r)}function Ni(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=z(c,l,e),s=z(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()?pi(e.getValue()&&r.getValue()):P.create(!1)})}function Pi(e){let t=e.getValue(),n=0;return t&&(n=1),F.create(n)}function Fi(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 Ii(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:c.CellValueType.STRING,...n,...r};if(e.isValueObject()){let t=e,i=t.getValue();return t.isNumber()?{v:i,t:c.CellValueType.NUMBER,...n,...r}:t.isBoolean()?{v:i?1:0,t:c.CellValueType.BOOLEAN,...n,...r}:t.isString()?{v:i,t:c.CellValueType.STRING,...n,...r}:t.isNull()?{v:null,...n,...r}:{v:i,t:c.CellValueType.STRING,...n,...r}}}function Li(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 Ri(e,t){if(e.length===0||e.length%2!=0)return{isError:!0,errorObject:O.create(S.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:O.create(S.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:O.create(S.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 zi(e){return e.isArray()?e:R.createByArray([[e.getValue()]])}function Bi(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=z(r,i,a,O.create(S.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=Mi(n,c);if(a&&(l=Vi(l,n,c)),i===void 0){i=l;continue}i=Ni(i,l)}let l;if(n===`COUNTIFS`){let e=0;i.iterator(t=>{t!=null&&t.isBoolean()&&t.getValue()===!0&&e++}),l=F.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?R.create(`0`):e.max()}else if(n===`MINIFS`){let e=o.pick(i);l=e.getColumnCount()===0?R.create(`0`):e.min()}c[t]||(c[t]=[]),c[t][r]=l}),c}function Vi(e,t,n){let[r,i]=ji(`${n.getValue()}`);return e.mapValue((e,n,a)=>{let o=t.get(n,a);if(o&&Hi(o,i))return e;if(o!=null&&o.isError()&&i.isError()&&o.getValue()===i.getValue())return P.create(!0);if(r===E.EQUALS||r===E.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===E.EQUALS)return P.create(!1);if(r===E.NOT_EQUAL)return P.create(!0)}return P.create(!1)})}function Hi(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 Ui=function(e){return e[e.CELL=0]=`CELL`,e[e.COLUMN=1]=`COLUMN`,e[e.ROW=2]=`ROW`,e}({});function Wi(e,t){let n;switch(t){case Ui.COLUMN:n=new Oi(e);break;case Ui.ROW:n=new ki(e);break;case Ui.CELL:default:n=new Di(e);break}return n}function Gi(e,t){let n;return n=e.isCell()&&t.isCell()||e.isRow()&&t.isRow()||e.isColumn()&&t.isColumn()?e.unionBy(t):O.create(S.NAME),n}let Ki=class extends c.Disposable{constructor(e){super(),this._univerInstanceService=e}generateCellValue(e,t){if(t.trim()===``)return{v:``};let n=e;if(e.startsWith(`#`)&&Lt(e.slice(1))){let{unitId:t,sheetName:r,range:i}=rn(e.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(c.UniverInstanceType.UNIVER_SHEET);if(t===``||t===a.getUnitId())if(r===``)n=`#gid=${a.getActiveSheet().getSheetId()}&range=${Zt(i)}`;else{let e=a.getSheetBySheetName(r);e&&(n=`#gid=${e.getSheetId()}&range=${Zt(i)}`)}}else c.Tools.isLegalUrl(e)&&(n=c.Tools.normalizeUrl(e));return{p:c.RichTextBuilder.create().insertLink(t,n).getData()}}};Ki=vn([j(0,c.IUniverInstanceService)],Ki);const qi=(0,c.createIdentifier)(`univer.formula.hyperlink-engine-formula.service`);let Ji=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}({}),Yi=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}({}),Xi=class extends c.Disposable{constructor(e,t){super(),this._currentConfigService=e,this._hyperlinkEngineFormulaService=t,b(this,`_formulaExecuteStage`,Ji.IDLE),b(this,`_stopState`,!1),b(this,`_currentRow`,-1),b(this,`_currentColumn`,-1),b(this,`_currentRowCount`,-1/0),b(this,`_currentColumnCount`,-1/0),b(this,`_currentSubUnitId`,``),b(this,`_currentUnitId`,``),b(this,`_runtimeData`,{}),b(this,`_runtimeOtherData`,{}),b(this,`_unitArrayFormulaRange`,{}),b(this,`_unitArrayFormulaEmbeddedMap`,{}),b(this,`_runtimeArrayFormulaCellData`,{}),b(this,`_runtimeClearArrayFormulaCellData`,{}),b(this,`_runtimeFeatureRange`,{}),b(this,`_runtimeFeatureCellData`,{}),b(this,`_runtimeImageFormulaData`,[]),b(this,`_functionsExecutedState`,Yi.INITIAL),b(this,`_functionDefinitionPrivacyVar`,new Map),b(this,`_totalFormulasToCalculate`,0),b(this,`_completedFormulasCount`,0),b(this,`_totalArrayFormulasToCalculate`,0),b(this,`_completedArrayFormulasCount`,0),b(this,`_formulaCycleIndex`,0),b(this,`_isCycleDependency`,!1),b(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=Yi.SUCCESS}markedAsNoFunctionsExecuted(){this._functionsExecutedState=Yi.NOT_EXECUTED}markedAsStopFunctionsExecuted(){this._functionsExecutedState=Yi.STOP_EXECUTION}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=Yi.INITIAL}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(Ji.IDLE)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=Ji.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(){Ir(),Wr(),er()}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 c.ObjectMatrix);let l=s[a];this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});let u=this._unitArrayFormulaRange[o];(u[a]===null||u[a]===void 0)&&(u[a]={});let d=new c.ObjectMatrix(u[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});let f=this._runtimeArrayFormulaCellData[o];f[a]==null&&(f[a]=new c.ObjectMatrix);let p=f[a];this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});let m=this._runtimeClearArrayFormulaCellData[o];m[a]==null&&(m[a]=new c.ObjectMatrix);let h=m[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){let s=e,{startRow:c,startColumn:u,endRow:f,endColumn:m}=s.getRangePosition();if(c===f&&u===m){let e=s.getFirstCell(),r=this._getValueObjectOfRuntimeData(e);l.setValue(t,n,r),h.setValue(t,n,r),pr.set(o,a,n,e.getValue(),t,!0);return}let g={startRow:t,startColumn:n,endRow:f-c+t,endColumn:m-u+n};if(d.setValue(t,n,g),this._checkIfArrayFormulaRangeHasData(o,a,t,n,g)||this._checkIfArrayFormulaExceeded(r,i,g)){let e=this._getValueObjectOfRuntimeData(O.create(S.SPILL));l.setValue(t,n,e),h.setValue(t,n,e),pr.set(o,a,n,S.SPILL,t,!0);let r=this._currentConfigService.getUnitData();s.iterator((i,s,l)=>{var d;let f=s-c+t,m=l-u+n,h=(d=r[o])==null||(d=d[a])==null?void 0:d.cellData.getValue(f,m);if(s===c&&l===u)p.setValue(t,n,e);else if(h!=null)h.v==null&&(h.v=``),p.setValue(f,m,h);else if(this._isInOtherArrayFormulaRange(o,a,t,n,f,m))return!0;else p.setValue(f,m,{v:``})})}else{let e=O.create(S.SPILL);s.iterator((r,i,s)=>{pr.set(o,a,n-u+s,r?r.getValue():0,t-c+i,!0);let d=this._getValueObjectOfRuntimeData(r);if(i===c&&s===u){if(r!=null&&r.isError()&&r.isEqualType(e))return h.setValue(t,n,{}),l.setValue(t,n,{...this._getValueObjectOfRuntimeData(e)}),!1;l.setValue(t,n,{...d})}let f=i-c+t,m=s-u+n;p.setValue(f,m,d)})}}else{let r=this._getValueObjectOfRuntimeData(e);if(l.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})}pr.set(o,a,n,e.getValue(),t,!0),h.setValue(t,n,r)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):Ii(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(){Si.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(!yr(o)||this._isInOtherArrayFormulaRange(e,t,n,r,i,a)||!yr(s)||!yr(c))return!0}return!1}_getRuntimeFeatureCellValue(e,t,n,r){return Sr(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 l=!1;return new c.ObjectMatrix(s).forValue((o,s,c)=>{var u;if(o===n&&s===r)return;let d=this._isInArrayFormulaRange(c,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)!==S.SPILL&&(l=!0)}),l}_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:Le(i,e,t,n,r)}};Xi=vn([j(0,_r),j(1,qi)],Xi);const Zi=(0,c.createIdentifier)(`univer.formula.runtime.service`);let B=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 Qi=new Map([[B.REFERENCE,7],[B.VALUE,9],[B.OPERATOR,8],[B.FUNCTION,6],[B.LAMBDA,1],[B.LAMBDA_PARAMETER,2],[B.ROOT,10],[B.UNION,3],[B.PREFIX,4],[B.SUFFIX,5]]);var $i=class{constructor(e){this._token=e,b(this,`_children`,[]),b(this,`_definedNames`,void 0),b(this,`_parent`,void 0),b(this,`_valueObject`,void 0),b(this,`_calculateState`,!1),b(this,`_async`,!1),b(this,`_address`,!1),b(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 B.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(m.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}},ea=class e extends $i{constructor(e){super(e),b(this,`_errorValueObject`,void 0),this._errorValueObject=O.create(e)}get nodeType(){return B.ERROR}static create(t){return new e(t)}getValue(){return this._errorValueObject}},ta=class{get zIndex(){return 0}dispose(){}create(e,t,n){let r;return r=e instanceof M?e.getToken():e,new $i(r)}},na=class extends $i{get nodeType(){return B.ROOT}execute(){let e=this.getChildren();if(e.length>1){this.setValue(O.create(S.VALUE));return}let t=e[0];t==null?this.setValue(O.create(S.VALUE)):this.setValue(t.getValue())}},ra=class extends ta{get zIndex(){return Qi.get(B.ROOT)||100}checkAndCreateNodeType(e){if(e instanceof M&&e.getToken()===`R_1`)return new na(`R_1`)}};let ia=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}({}),V=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}({}),H=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}({}),aa=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}({}),oa=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}({}),U=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}({}),W=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}({}),G=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}({}),K=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}({}),sa=function(e){return e.ENCODEURL=`ENCODEURL`,e.FILTERXML=`FILTERXML`,e.WEBSERVICE=`WEBSERVICE`,e}({});const ca=[ia,V,H,aa,oa,U,W,G,K,sa],la=new Set(ca.flatMap(e=>Object.values(e)).filter(e=>/^[A-Z]{1,3}$/.test(e)).filter(e=>{let t=(0,c.columnLabelToNumber)(e);return t>0&&t<=c.MAX_COLUMN_COUNT})),ua=new x(5e3);function da(e,t,n,r,i){let a=ua.get(`${e}${t}`);if(a&&!fa(a,i))return a;let o=n.treeBuilder(t);return C.has(o)?ea.create(o):(a=r.parse(o),a==null?(console.error(`generateAstNode astNode is null`),ea.create(o)):(ua.set(`${e}${t}`,a),a))}function fa(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 pa(e,t,n){return!!(t!=null&&fa(t,n))}const ma=(0,c.createIdentifier)(`univer.formula-function.service`);var ha=class extends c.Disposable{constructor(...e){super(...e),b(this,`_functionExecutors`,new Map),b(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(0,c.toDisposable)(()=>{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){ua.forEach((t,n)=>{e.forEach(e=>{n.includes(e)&&ua.delete(n)})})}};let ga=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 _a=class extends $i{constructor(e,t,n){super(t),this._runtimeService=e,this._operatorString=t,this._functionExecutor=n}get nodeType(){return B.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error(`PrefixNode execute value is null`),this.setValue(O.create(S.VALUE));return}this._operatorString===oe.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(F.create(0),e)):t=this._operatorString===oe.AT?this._handlerAT(e):O.create(S.VALUE),this.setValue(t)}_handlerAT(e){if(!e.isReferenceObject())return O.create(S.VALUE);let t=e;if(t.isCell())return O.create(S.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?O.create(S.VALUE):s===a&&i>=o&&i<=c?t.getCellByColumn(i):o===c&&r>=a&&r<=s?t.getCellByRow(r):t.isTable()?t.getCellByPosition(r):O.create(S.VALUE)}};let va=class extends ta{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Qi.get(B.PREFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof M))return;let t=e.getToken(),n=t.trim();if(n.charAt(0)===`"`&&n.charAt(n.length-1)===`"`)return;let r=``;if(n===oe.MINUS)r=ga.MINUS;else if(n===oe.AT)return new _a(this._runtimeService,n);else return;let i=this._functionService.getExecutor(r);return i?new _a(this._runtimeService,n,i):(console.error(`No function ${t}`),ea.create(S.NAME))}};va=vn([j(0,ma),j(1,Zi)],va);function ya(e,t,n){let r,i,a=e,o=a[0],s=0;if(o===oe.MINUS){let e=t.getExecutor(ga.MINUS);r=new _a(n,oe.MINUS,e),s++}else o===oe.AT&&(i=new _a(n,oe.AT),r&&i.setParent(r),s++);return s>0&&(a=a.slice(s)),{tokenTrim:a,minusPrefixNode:r,atPrefixNode:i}}var ba=class extends $i{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 B.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(m.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 bi.create(e);let n=vi(e);return R.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 O.create(S.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 O.create(S.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)}},xa=class extends $i{constructor(e=`Error`){super(e)}get nodeType(){return B.FUNCTION}async executeAsync(){return this.setValue(O.create(S.NAME)),Promise.resolve(m.SUCCESS)}execute(){this.setValue(O.create(S.NAME))}};let Sa=class extends ta{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 Qi.get(B.FUNCTION)||100}create(e){let t=this._functionService.getExecutor(e);return t?new ba(e,t,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${e}`),ea.create(S.NAME))}checkAndCreateNodeType(e){if(typeof e==`string`)return;let{tokenTrim:t,minusPrefixNode:n,atPrefixNode:r}=ya(e.getToken().trim(),this._functionService,this._runtimeService),i=this._isParentUnionNode(e);if(!Number.isNaN(Number(t))&&!i)return ea.create(S.VALUE);let a=t.toUpperCase();if(!(i&&la.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())===D.COLON}};Sa=vn([j(0,ma),j(1,_r),j(2,Zi),j(3,bn),j(4,(0,c.Inject)(c.Injector)),j(5,(0,c.Inject)(ur))],Sa);let Ca=class extends c.Disposable{constructor(e){super(),this._runtimeService=e}async executeAsync(e){if(!e||!e.node)return Promise.resolve(O.create(S.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(O.create(S.VALUE)):Promise.resolve(i)}execute(e){if(!e||!e.node)return O.create(S.VALUE);let t=e.node,n=e.refOffsetX,r=e.refOffsetY;this._execute(t,n,r);let i=t.getValue();return i==null?O.create(S.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(m.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===B.REFERENCE&&e.setRefOffset(t,n),e.nodeType===B.FUNCTION&&e.isAsync()?await e.executeAsync():e.execute(),Promise.resolve(m.SUCCESS)}_execute(e,t=0,n=0){if(this._runtimeService.isStopExecution())return m.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===B.REFERENCE&&e.setRefOffset(t,n),e.execute(),m.SUCCESS}};Ca=vn([j(0,Zi)],Ca);function wa(e){return e instanceof M?e.getToken()===`L_1`:!1}function Ta(e){return e instanceof M?e.getToken()===Bt:!1}function Ea(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(!(wa(a)&&e!==0))if(i instanceof M)Ea(i,t,n);else{let a=i.trim();if(n.has(a)){let i=new M;i.setToken(`LR_1`),i.setLambdaId(t),i.setLambdaPrivacyVar(n),i.setLambdaParameter(a),r[e]=i}}}}function Da(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}function Oa(e,t=0,n=0){return{node:e,refOffsetX:t,refOffsetY:n}}function ka(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:ka(i)}var Aa=class e extends se{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,b(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 O.create(S.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let n;if(this._interpreter.checkAsyncNode(this._lambdaNode))n=new wi(this._interpreter.executeAsync(Oa(this._lambdaNode)));else{let e=this._interpreter.execute(Oa(this._lambdaNode));n=e.isReferenceObject()?e.toArrayValueObject():e}return this._lambdaNode.setNotEmpty(!0),n}executeCustom(...e){let t=e.map(e=>bi.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=ka(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}},ja=class extends $i{constructor(e,t,n,r,i){super(e),this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=r,this._runtimeService=i,b(this,`_isNotEmpty`,!0)}get nodeType(){return B.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(Aa.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{let e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let Ma=class extends ta{constructor(e,t){super(),this._runtimeService=e,this._interpreter=t}get zIndex(){return Qi.get(B.LAMBDA)||100}create(e){let t=e.getChildren(),n=t[0],r=t.slice(1,-1),i=t[t.length-1];if(!(n instanceof M&&i instanceof M))return ea.create(S.NAME);if(n.getToken()===`L_1`){let e=n.getChildren();if(r.length!==e.length)return ea.create(S.VALUE)}else r=t.slice(0,-1);let a=(0,c.generateRandomId)(8),o=new Map;for(let e=0;e<r.length;e++){let t=r[e];if(t instanceof M){let e=t.getChildren()[0];t.setToken(Bt),o.set(e.trim(),void 0)}else return ea.create(S.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(a,o),this._updateLambdaStatement(i,a,o),new ja(e.getToken(),a,this._interpreter,[...o.keys()],this._runtimeService)}checkAndCreateNodeType(e){if(e instanceof M&&e.getToken().trim().toUpperCase()===`LAMBDA`)return this.create(e)}_updateLambdaStatement(e,t,n){Ea(e,t,n)}};Ma=vn([j(0,Zi),j(1,(0,c.Inject)(Ca))],Ma);function Na(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(n)return Na(n.get(r))}var Pa=class extends $i{constructor(e,t,n){super(e),this._lambdaParameter=t,this._currentLambdaPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return B.LAMBDA_PARAMETER}execute(){let e=Na(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(e)this.setValue(e.getValue());else{let e=this.getValue();(e==null||e.isError())&&this.setValue(O.create(S.NAME))}}},Fa=class extends ta{get zIndex(){return Qi.get(B.LAMBDA_PARAMETER)||100}create(e){let t=e.getFunctionDefinitionPrivacyVar(),n=e.getLambdaParameter();return t?new Pa(e.getToken(),n,t):new ea(S.NAME)}checkAndCreateNodeType(e){if(e instanceof M&&e.getToken().trim()===`LR_1`)return this.create(e)}},Ia=class extends $i{constructor(e){super(e),this._operatorString=e}get nodeType(){return B.NULL}execute(){this.setValue(N.create())}},La=class extends $i{constructor(e,t,n){super(e),this._functionExecutor=t,this._runtimeService=n}get nodeType(){return B.OPERATOR}execute(){let e=this.getChildren();this._functionExecutor.name===ga.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!==T.MINUS&&a!==T.PLUS){this.setValue(O.create(S.VALUE));return}r==null&&(r=N.create()),i==null&&(i=N.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 Ra=class extends ta{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Qi.get(B.OPERATOR)||100}create(e){let t=``,n=e;n===T.PLUS?t=ga.PLUS:n===T.MINUS?t=ga.MINUS:n===T.MULTIPLY?t=ga.MULTIPLY:n===T.DIVIDED?t=ga.DIVIDED:n===T.CONCATENATE?t=K.CONCATENATE:n===T.POWER?t=W.POWER:re.has(n)&&(t=ga.COMPARE);let r=this._functionService.getExecutor(t);return r?new La(n,r,this._runtimeService):(console.error(`No function ${e}`),ea.create(S.NAME))}checkAndCreateNodeType(e){if(e instanceof M)return;let t=e.trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&ne.has(t))return this.create(t)}};Ra=vn([j(0,ma),j(1,Zi)],Ra);var za=class extends Ci{constructor(e,t,n,r){super(e),this._tableData=t,this._columnDataString=n,this._tableOptionMap=r,b(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 h.ALL:f=u,p=d;break;case h.DATA:f=u+1,p=d;break;case h.HEADERS:f=u,p=u;break;case h.TOTALS:f=d,p=d;break;case h.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:h.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:h.DATA}}let c=this._stripOuterBracketOnce(s),l=this._findCommaAtTopLevel(c);if(c.length===0)return{startColumn:a,endColumn:o,type:h.DATA};if(l===-1){if(c.startsWith(`#`)){let e=this._mapSection(c);return e===void 0?{startColumn:a,endColumn:o,type:h.DATA}:{startColumn:a,endColumn:o,type:e}}let{startColumn:e,endColumn:n}=this._parseColumnOrRange(c,t,a);return{startColumn:e,endColumn:n,type:h.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===D.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?h.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===D.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)}},Ba=class extends $i{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,b(this,`_refOffsetX`,0),b(this,`_refOffsetY`,0)}get nodeType(){return B.REFERENCE}execute(){let e=this._currentConfigService,t=this._runtimeService,n=this._tableReferenceObject||Wi(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(O.create(S.NAME)):this.setValue(n)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}};let Va=class extends ta{constructor(e,t,n,r){super(),this._currentConfigService=e,this._formulaRuntimeService=t,this._functionService=n,this._superTableService=r}get zIndex(){return Qi.get(B.REFERENCE)||100}checkAndCreateNodeType(e){let t=!1,n,r=!1;if(e instanceof M){var i;t=!0,n=e.getToken().trim(),((i=e.getParent())==null||(i=i.getParent())==null?void 0:i.getToken().trim())===D.COLON&&(r=!0)}else n=e.trim();let{tokenTrim:a,minusPrefixNode:o,atPrefixNode:s}=ya(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 Ba(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(Et(e))return s(Ui.CELL);let l=t&&this._checkParentIsUnionOperator(r);return l&&At(e)?s(Ui.ROW):l&&jt(e)?s(Ui.COLUMN):this._getTableReferenceNode(e,t,n,!1)}_getTableReferenceNode(e,t,n,r=!1){if(!this._checkTokenIsTableReference(e)&&!r)return;let{tableName:i,columnStruct:a}=_n(e),o=this._getTableMap();if(!t&&o!=null&&o.has(i)){let t=a,r=o.get(i),s=this._superTableService.getTableOptionMap();return new Ba(this._currentConfigService,this._formulaRuntimeService,e,Ui.COLUMN,n,new za(e,r,t,s))}}_checkTokenIsTableReference(e){return Mt(e)||Nt(e)||Pt(e)||Ft(e)}_checkParentIsUnionOperator(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken().trim())===D.COLON}};Va=vn([j(0,_r),j(1,Zi),j(2,ma),j(3,Kn)],Va);var Ha=class extends $i{constructor(e,t,n,r){super(n),this._currentConfigService=e,this._lexer=t,this._operatorString=n,this._functionExecutor=r}get nodeType(){return B.SUFFIX}execute(){var e;let t=(e=this.getChildren()[0])==null?void 0:e.getValue(),n;if(t==null){this.setValue(O.create(S.ERROR));return}if(this._operatorString===ie.PERCENTAGE){if(t.isReferenceObject()&&(t=t.toArrayValueObject()),n=this._functionExecutor.calculate(t,F.create(100)),n.isNumber()){let e=Number(n.getValue());n=F.create(e,`0.00%`)}}else n=this._operatorString===ie.POUND?this._handlerPound(t):O.create(S.VALUE);this.setValue(n)}_handlerPound(e){var t;if(!e.isReferenceObject()||!e.isCell())return O.create(S.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),O.create(S.VALUE)}};let Ua=class extends ta{constructor(e,t,n){super(),this._functionService=e,this._lexer=t,this._currentConfigService=n}get zIndex(){return Qi.get(B.SUFFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof M))return;let t=e.getToken().trim();if(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)return;let n=``;if(t===ie.PERCENTAGE)n=ga.DIVIDED;else if(t===ie.POUND)return new Ha(this._currentConfigService,this._lexer,t);else return;let r=this._functionService.getExecutor(n);return r?new Ha(this._currentConfigService,this._lexer,t,r):(console.error(`No function ${e}`),ea.create(S.NAME))}};Ua=vn([j(0,ma),j(1,(0,c.Inject)(vr)),j(2,_r)],Ua);var Wa=class extends $i{constructor(e){super(e)}get nodeType(){return B.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(O.create(S.VALUE));return}let a;a=this.getToken()===D.COLON?this._unionFunction(r,i):O.create(S.NAME),this.setValue(a)}_unionFunction(e,t){return e.isError()||t.isError()||!e.isReferenceObject()||!t.isReferenceObject()?O.create(S.REF):(e=e,t=t,Gi(e,t))}};let Ga=class extends ta{constructor(e){super(),this._functionService=e}get zIndex(){return Qi.get(B.UNION)||100}create(e){return new Wa(e)}checkAndCreateNodeType(e){if(!(e instanceof M))return;let t=e.getToken().trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&t===D.COLON)return this.create(t)}};Ga=vn([j(0,ma)],Ga);var Ka=class extends $i{constructor(e){super(e)}get nodeType(){return B.VALUE}execute(){let e=this.getParent(),t=!0;if((e==null?void 0:e.nodeType)===B.FUNCTION){var n,r;t=(n=(r=e.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(e))==null?!0:n}this.setValue(bi.create(this.getToken(),t))}},qa=class extends ta{get zIndex(){return Qi.get(B.VALUE)||100}_checkValueNode(e){if(Number.isNaN(Number(e))){let t=e.trim(),n=t.charAt(0),r=t.charAt(t.length-1);if(C.has(t)||n===`"`&&r===`"`||n===`{`&&r===`}`)return this.create(t);let i=t.toUpperCase();if(i===p.TRUE||i===p.FALSE)return this.create(i)}else return this.create(e)}create(e){return new Ka(e)}checkAndCreateNodeType(e){if(!(e instanceof M))return this._checkValueNode(e)}};let Ja=class extends c.Disposable{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,b(this,`_astNodeFactoryList`,[]),this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){let t=new na(`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 ea.create(S.VALUE);let n=t.getLambdaId(),r=new na(`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 M){Ea(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 M;r.setToken(Vt);let i=new M;i.setToken(`L_1`);let a=[...t];for(let e=0;e<n;e++){let t=a[e];if(!(t instanceof M))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?ea.create(S.ERROR):this._parse(n,t)}if(o===`P_1`){if(a=t,r===0)return new Ia(`R_1`).setParent(t),a}else{if(o===`L_1`){let n=this._lambdaParameterHandler(e,t);return n===!1&&(n=ea.create(S.ERROR)),n}if(a=this._checkAstNode(e),a==null)return ea.create(S.NAME)}let s=n[0];for(let e=0;e<r;e++){let t=n[e];if(wa(s)){if(e!==0&&e!==r-1)continue}else if(Ta(t)&&e!==r-1)continue;let o=null;if(t instanceof M){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 ea.create(S.NAME)}if(o=this._parse(t,a),o===a)continue}else o=this._checkAstNode(t);if(o==null)return ea.create(S.NAME);if(o=Da(o),o==null||(o==null?void 0:o.nodeType)===B.ERROR)return o;switch(o.nodeType){case B.FUNCTION:{let e=o.getToken().trim().toUpperCase();Ht.has(e)&&o.setForcedCalculateFunction(),i.push(o);break}case B.LAMBDA:i.push(o);break;case B.LAMBDA_PARAMETER:i.push(o);break;case B.OPERATOR:{let e=i.pop(),t=i.pop();t&&t.setParent(o),e&&e.setParent(o),i.push(o);break}case B.REFERENCE:i.push(o);break;case B.ROOT:i.push(o);break;case B.UNION:i.push(o);break;case B.VALUE:i.push(o);break;case B.PREFIX:i.push(o);break;case B.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 xa: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(c.sortRules)}};Ja=vn([j(0,Zi),j(1,(0,c.Inject)(ra)),j(2,(0,c.Inject)(Sa)),j(3,(0,c.Inject)(Ma)),j(4,(0,c.Inject)(Fa)),j(5,(0,c.Inject)(Ra)),j(6,(0,c.Inject)(va)),j(7,(0,c.Inject)(Va)),j(8,(0,c.Inject)(Ua)),j(9,(0,c.Inject)(Ga)),j(10,(0,c.Inject)(qa))],Ja);var Ya=class extends c.Disposable{constructor(...e){super(...e),b(this,`_otherFormulaData`,new Map),b(this,`_featureFormulaData`,new Map),b(this,`_formulaData`,new Map),b(this,`_definedNameMap`,new Map),b(this,`_otherFormulaDataMainData`,new Set),b(this,`_dependencyRTreeCache`,new c.RTree),b(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.`)}},Xa=class extends Ya{constructor(...e){super(...e),b(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 c.ObjectMatrix),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 c.ObjectMatrix),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 Za=(0,c.createIdentifier)(`univer.formula.dependency-manager.service`);var Qa=class extends c.Disposable{constructor(...e){super(...e),b(this,`_referenceExecutorMap`,new Map),b(this,`_onChanged$`,new l.Subject),b(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 $a=(0,c.createIdentifier)(`univer.formula.feature-calculation-manager.service`);var eo=class extends c.Disposable{constructor(...e){super(...e),b(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 to=(0,c.createIdentifier)(`univer.formula.other-formula-manager.service`);let no=function(e){return e[e.DEFAULT=0]=`DEFAULT`,e[e.ADDED=1]=`ADDED`,e[e.SKIP=2]=`SKIP`,e}({}),ro=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 io=class{constructor(){b(this,`_state`,no.DEFAULT),b(this,`type`,ro.NORMAL_FORMULA),b(this,`treeId`,void 0),b(this,`children`,new Set),b(this,`parents`,new Set)}resetState(){this._state=no.DEFAULT}setAdded(){this._state=no.ADDED}isAdded(){return this._state===no.ADDED}setSkip(){this._state=no.SKIP}isSkip(){return this._state===no.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)}},ao=class extends io{constructor(...e){super(...e),b(this,`refTree`,void 0),b(this,`refOffsetX`,-1),b(this,`refOffsetY`,-1),b(this,`isCache`,!1),b(this,`isDirty`,!1),b(this,`addressFunctionNodes`,[]),b(this,`getDirtyData`,void 0),b(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:(0,c.moveRangeByOffset)(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}},oo=class extends io{constructor(e){super(),b(this,`isCache`,!1),b(this,`featureId`,void 0),b(this,`featureDirtyRanges`,[]),b(this,`refOffsetX`,0),b(this,`refOffsetY`,0),b(this,`formulaId`,void 0),b(this,`subUnitId`,``),b(this,`unitId`,``),b(this,`rangeList`,[]),b(this,`formula`,``),b(this,`row`,-1),b(this,`column`,-1),b(this,`rowCount`,-1/0),b(this,`columnCount`,-1/0),b(this,`isDirty`,!1),b(this,`node`,void 0),b(this,`addressFunctionNodes`,[]),b(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!==ro.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}}]}},so=class{constructor(e){if(b(this,`children`,new Set),b(this,`parents`,new Set),b(this,`treeId`,-1),b(this,`formula`,``),b(this,`refOffsetX`,0),b(this,`refOffsetY`,0),b(this,`row`,-1),b(this,`column`,-1),b(this,`unitId`,``),b(this,`subUnitId`,``),b(this,`rangeList`,[]),b(this,`refTreeId`,void 0),b(this,`formulaId`,void 0),b(this,`featureId`,void 0),b(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 co(e){return e.getLastTreeId()||0}const lo=(0,c.createIdentifier)(`engine-formula.dependency-generator`);let uo=class extends c.Disposable{constructor(e,t,n,r,i,a,o,s,l,u){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=l,this._lexerTreeBuilder=u,b(this,`_updateRangeFlattenCache`,new Map),b(this,`_dependencyRTreeCacheForAddressFunction`,new c.RTree),b(this,`_executedAddressFunctionNodeIds`,new Set),b(this,`_formulaDependencyTreeModel`,new Map),this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),ua.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(c.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){ua.forEach((t,n)=>{n.startsWith(e)&&ua.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,co(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 oo(t||co(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=ro.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=da(r,c,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:f,firstColumn:p}=this._getFirstCellOfRange(l),m=this._dependencyManagerService.getOtherFormulaDependency(r,e,t),h=new oo((m==null?void 0:m.getValue(0,0))||co(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=ro.OTHER_FORMULA,h.isCache=u,n.push(h),this._dependencyManagerService.addOtherFormulaDependency(r,e,t,h),this._dependencyManagerService.addFormulaDependencyByDefinedName(h);continue}let l=new ao;l.treeId=(m==null?void 0:m.getValue(o,s))||co(this._dependencyManagerService),l.refTree=h,l.refOffsetX=o,l.refOffsetY=s,l.isCache=u,l.type=ro.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 c.ObjectMatrix(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 oo(co(this._dependencyManagerService)),u=i[e][t];return l.node=da(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 ao;return i.treeId=co(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===B.UNION||e.nodeType===B.PREFIX&&e.getToken()===oe.AT||e.nodeType===B.SUFFIX&&e.getToken()===ie.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===B.UNION)for(let e of r.getChildren())e.nodeType===B.FUNCTION&&e.isAddress()&&this._nodeTraversalRef(e,t);continue}else r.nodeType===B.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===B.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 c.RTree;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||pa(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 so(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 so(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===ro.FEATURE_FORMULA||e===ro.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}}};uo=vn([j(0,_r),j(1,Zi),j(2,to),j(3,$a),j(4,(0,c.Inject)(c.IUniverInstanceService)),j(5,(0,c.Inject)(Ca)),j(6,(0,c.Inject)(Ja)),j(7,(0,c.Inject)(vr)),j(8,Za),j(9,(0,c.Inject)(sr))],uo);const fo=(0,c.createIdentifier)(`engine-formula.calculate-formula.service`);let po=class extends c.Disposable{constructor(e,t,n,r,i,a,o){super(),this._configService=e,this._lexer=t,this._currentConfigService=n,this._runtimeService=r,this._formulaDependencyGenerator=i,this._interpreter=a,this._astTreeBuilder=o,b(this,`_executionInProgressListener$`,new l.Subject),b(this,`executionInProgressListener$`,this._executionInProgressListener$.asObservable()),b(this,`_executionCompleteListener$`,new l.Subject),b(this,`executionCompleteListener$`,this._executionCompleteListener$.asObservable()),b(this,`_executeLock`,new c.AsyncLock),b(this,`_isCalculateTreeModel`,!1)}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),Si.clear(),pr.clear(),ce.clear(),fi.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(Ji.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(),Si.clear(),this._runtimeService.isCycleDependency());e++);this._runtimeService.setFormulaExecuteStage(Ji.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),pr.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:(Si.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 c.ObjectMatrix(i[e]);if(a==null)return!0;let o=new c.ObjectMatrix;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(Ji.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Ji.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Ji.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Ji.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let r=[],i=this._configService.getConfig(Xn),a=(i==null?void 0:i.intervalCount)||500,o=t.length;for(let i=0;i<o;i++){var s;let o=t[i],l=o.nodeData,u=o.getDirtyData;if(i%a===0&&(await new Promise(e=>{let t=(0,c.requestImmediateMacroTask)(e);r.push(t)}),e?(this._runtimeService.setFormulaExecuteStage(Ji.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(Ji.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||l==null&&u==null)){this._runtimeService.setFormulaExecuteStage(Ji.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 d;if(u!=null&&o.featureId!=null){let{runtimeCellData:e,dirtyRanges:t}=u(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(o.featureId,e),this._runtimeService.setRuntimeFeatureRange(o.featureId,t)}else l!=null&&(d=n.checkAsyncNode(l.node)?await n.executeAsync(l):n.execute(l),o.formulaId==null?this._runtimeService.setRuntimeData(d):this._runtimeService.setRuntimeOtherData(o.formulaId,o.refOffsetX,o.refOffsetY,d));(s=l.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(S).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)}};po=vn([j(0,c.IConfigService),j(1,(0,c.Inject)(vr)),j(2,_r),j(3,Zi),j(4,lo),j(5,(0,c.Inject)(Ca)),j(6,(0,c.Inject)(Ja))],po);let mo=class extends c.Disposable{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===An.id)this._calculateFormulaService.stopFormulaExecution();else if(e.id===En.id)this._calculate(e.params);else if(e.id===Gt.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===On.id)this._calculateFormulaString(e.params);else if(e.id===Nn.id)this._generateAllDependencyTreeJson();else if(e.id===Fn.id)this._generateCellDependencyTreeJson(e.params);else if(e.id===Ln.id){let t=e.params;this._queryFormulaDependencyJson(t)}else if(e.id===zn.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(Rn.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(e){let{unitRanges:t}=e,n=await this._calculateFormulaService.getDependentsAndInRangeFormulas(t);this._commandService.executeCommand(Bn.id,{result:n},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){let e=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(Pn.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(In.id,{result:a},{onlyLocal:!0})}async _calculateFormulaString(e){let{formulas:t}=e,n=await this._calculateFormulaService.executeFormulas(t);this._commandService.executeCommand(kn.id,{result:n},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(e=>{let t=e.functionsExecutedState;switch(t){case Yi.NOT_EXECUTED:this._applyTreeResult(e);break;case Yi.STOP_EXECUTION:break;case Yi.SUCCESS:this._applyResult(e);break;case Yi.INITIAL:break}this._commandService.executeCommand(jn.id,{functionsExecutedState:t},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(e=>{this._commandService.executeCommand(jn.id,{stageInfo:e},{onlyLocal:!0})})}async _applyTreeResult(e){let{dependencyTreeModelData:t}=e;t.length>0&&this._commandService.executeCommand(Pn.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(Gt.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:o},{onlyLocal:!0})),s&&s.length>0&&this._commandService.executeCommand(Hn.id,{imageFormulaData:s},{onlyLocal:!0}),this._applyTreeResult(e),this._commandService.executeCommand(Mn.id,{unitData:zt(t),unitOtherData:n},{onlyLocal:!0})}};mo=vn([j(0,c.ICommandService),j(1,fo),j(2,(0,c.Inject)(ur))],mo);const ho=/[\[\]]/g;function go(e,t){return ho.test(e)?t+Number(e.replace(ho,``)):Number(e)-1}function _o(e,t=0,n=0){e=e.toLocaleUpperCase();let r=e.split(/[RC]/),i=r[1],a=r[2];return{row:go(i,t),column:go(a,n),absoluteRefType:c.AbsoluteRefType.NONE}}function vo(e,t=0,n=0){let{refBody:r,sheetName:i,unitId:a}=nn(e),o=r.indexOf(`:`);if(o===-1){let e=_o(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=_o(s,t,n),u=_o(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 yo(e){let t=bo(e.startRow,e.startAbsoluteRefType,!0),n=bo(e.startColumn,e.startAbsoluteRefType,!1),r=bo(e.endRow,e.endAbsoluteRefType,!0),i=bo(e.endColumn,e.endAbsoluteRefType,!1);return t===r&&n===i?`R${t}C${n}`:`R${t}C${n}:R${r}C${i}`}function bo(e,t=c.AbsoluteRefType.ALL,n){switch(e+=1,t){case c.AbsoluteRefType.ALL:return`${e}`;case c.AbsoluteRefType.ROW:return n?`${e}`:`[${e}]`;case c.AbsoluteRefType.COLUMN:return n?`[${e}]`:`${e}`;case c.AbsoluteRefType.NONE:return`[${e}]`}}function xo(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return O.create(S.VALUE);t=e.get(0,0)}return t.isError(),t}function So(...e){for(let t=0;t<e.length;t++){let n=xo(e[t]);if(n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}function q(...e){for(let t=0;t<e.length;t++){let n=xo(e[t]);if(n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:O.create(S.VALUE)};e[t]=n}return{isError:!1,variants:e}}function Co(...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:O.create(S.NA)};if(n=xo(e[t]),n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:O.create(S.VALUE)};e[t]=n}return{isError:!1,variants:e}}function J(...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 Y=class{constructor(e){this._name=e,b(this,`_unitId`,void 0),b(this,`_subUnitId`,void 0),b(this,`_row`,-1),b(this,`_column`,-1),b(this,`_definedNames`,void 0),b(this,`_locale`,void 0),b(this,`_sheetOrder`,void 0),b(this,`_sheetNameMap`,void 0),b(this,`_formulaDataModel`,void 0),b(this,`_rowCount`,-1),b(this,`_columnCount`,-1),b(this,`needsExpandParams`,!1),b(this,`needsReferenceObject`,!1),b(this,`needsLocale`,!1),b(this,`needsSheetsInfo`,!1),b(this,`needsFormulaDataModel`,!1),b(this,`needsSheetRowColumnCount`,!1),b(this,`needsFilteredOutRows`,!1),b(this,`minParams`,-1),b(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 O.create(S.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?O.create(S.VALUE):t;if(n.isString()){let e=Number(n.getValue());return Number.isNaN(e)?O.create(S.REF):e}else if(n.isNumber())return n.getValue();return O.create(S.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 O.create(S.NA);let o;return o=n.getRowCount()===1?n.get(0,a)||N.create():n.get(a,0)||N.create(),o.isNull()?F.create(0):o}_getOneFirstByRaw(e){return e.length===0?O.create(S.NA):e[0][0]||O.create(S.NA)}_getOneLastByRaw(e){return e.length===0?O.create(S.NA):e[e.length-1][e[0].length-1]||O.create(S.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,E.EQUALS));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,n,r=wr.MIN,i=!1){let a=t.orderSearch(e,r,i);if(a==null)return O.create(S.NA);let o=n.get(a.row,a.column)||N.create();return o.isNull()?O.create(S.NA):o}binarySearchExpand(e,t,n,r=0,i,a){let o=t.binarySearch(e,i,a);return o==null?O.create(S.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?O.create(S.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,E.EQUALS),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?O.create(S.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}orderSearchExpand(e,t,n,r=wr.MIN,i=!1,a=0){let o=t.orderSearch(e,r,i);return o==null?O.create(S.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 Ai(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Pi(e)),e.isString()){let t=Number(e.getValue());e=F.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){let n=e.getForcedUnitId()||e.getDefaultUnitId()||``,r=e.getForcedSheetId()||e.getDefaultUnitId()||``,i=en({unitId:n,sheetName:e.getForcedSheetName(),range:t}),a;return a=Et(i)?new Di(i):At(i)?new ki(i):jt(i)?new Oi(i):new Ei(t,r,n),this._setReferenceDefault(e,a)}_setReferenceDefault(e,t){if(this.unitId==null||this.subUnitId==null)return O.create(S.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}},wo=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;let{isError:r,errorObject:i,variants:a}=So(t,n);if(r)return i;let{isError:o,errorObject:s,variants:c}=J(...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 O.create(S.NUM);if(d===0||f===0)return O.create(S.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])}},To=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 R.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}};let Eo=function(e){return e.ARRAY_CONSTRAIN=`ARRAY_CONSTRAIN`,e.FLATTEN=`FLATTEN`,e}({});const Do=[[wo,Eo.ARRAY_CONSTRAIN],[To,Eo.FLATTEN]];let Oo;(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)})()})(Oo||(Oo={}));function ko(e){return/^[01]{1,10}$/.test(e)}function Ao(e){return/^[0-7]{1,10}$/.test(e)}function jo(e){return/^[0-9A-Fa-f]{1,10}$/.test(e)}function Mo(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 No(e){return 1-Mo(e)}function Po(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=No(r)-t;r+=e/(1.1283791670955126*Math.exp(-r*r)-r*e)}return e<1?r:-r}function Fo(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 Io(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 Lo(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 Ro(e,t){let n=Lo(e,t);return n===0?0:Math.abs(e*t)/n}function zo(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}=Ko(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 Bo(e){let t=zo(e);return t===0?null:e.length===1?[[1/t]]:Ho(e).map(e=>e.map(e=>e/t))}function Vo(e,t,n){return e.filter((e,n)=>n!==t).map(e=>e.filter((e,t)=>t!==n))}function Ho(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)*zo(Vo(e,r,i));n[i][r]=t===0?0:t}return n}function Uo(e,t){return e.map(e=>t[0].map((n,r)=>e.reduce((e,n,i)=>e+n*t[i][r],0)))}function Wo(e){return e[0].map((t,n)=>e.map(e=>e[n]))}function Go(e){let{smallPivotDetected:t,luMatrix:n,permutation:r}=Ko(e);return t?null:qo(n,r)}function Ko(e){let t=Wo(e),n=t.length,r=t[0].length,i=!0,a=!1,o=Jo(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 qo(e,t){let n=t.length,r=Jo(n,n,0);for(let e=0;e<n;e++)r[e][e]=1;let i=Jo(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 Jo(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 Yo(e){let t=Xo(e);if(!t)return null;let{matrixU:n,matrixS:r,matrixV:i}=t,a=Wo(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 Uo(i,Uo(o,a))}function Xo(e){let t=Wo(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=Qo(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=Qo(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=$o(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=$o(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=Qo(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=Zo(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=Zo(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=Zo(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=Zo(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 Zo(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 Qo(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 $o(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 es=new Map([[`I`,1],[`V`,5],[`X`,10],[`L`,50],[`C`,100],[`D`,500],[`M`,1e3]]),ts=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`]]),ns=[[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 rs(e,t,n){return e<=0?0:e>=1?1:os(e,t,n)}function is(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)/cs(t,n):Math.exp((t-1)*Math.log(e)+(n-1)*Math.log(1-e)-ls(t,n))}function as(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=-ls(t,n),a,o,s;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(a=os(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 os(e,t,n){let r=e===0||e===1?0:Math.exp(Ts(t+n)-Ts(t)-Ts(n)+t*Math.log(e)+n*Math.log(1-e));return e<(t+1)/(t+n+2)?r*ss(e,t,n)/t:1-r*ss(1-e,n,t)/n}function ss(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 cs(e,t){return e+t>170?Math.exp(ls(e,t)):xs(e)*xs(t)/xs(e+t)}function ls(e,t){return Ts(e)+Ts(t)-Ts(e+t)}function us(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+=ds(i,t,n);return r}function ds(e,t,n){return n===0||n===1?t*n===e?1:0:Io(t,e)*n**e*(1-n)**(t-e)}function fs(e,t){return e<=0?0:Es(t/2,e/2)}function ps(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)-Ts(t/2))}function ms(e,t){return e<=0?0:e>=1?1/0:2*Ds(e,t/2)}function hs(e,t,n){return e<0?0:os(t*e/(t*e+n),t/2,n/2)}function gs(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/cs(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 _s(e,t,n){return e<=0?0:e>=1?1/0:n/(t*(1/as(e,t/2,n/2)-1))}function vs(e,t){return e<0?0:1-Math.exp(-t*e)}function ys(e,t){return e<0?0:t*Math.exp(-t*e)}function bs(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 xs(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 Ss(e,t,n){return e<=0?0:Es(t,e/n)}function Cs(e,t,n){return e<0?0:e===0&&t===1?1/n:Math.exp((t-1)*Math.log(e)-e/n-Ts(t)-t*Math.log(n))}function ws(e,t,n){return e<=0?0:e>=1?1/0:n*Ds(e,t)}function Ts(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 Es(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=Ts(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 Ds(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=Ts(t),i,a;for(let o=0;o<12;o++){if(n<=0)return 0;if(i=Es(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 Os(e,t,n,r){let i=0;for(let a=0;a<=e;a++)i+=ks(a,t,n,r);return i}function ks(e,t,n,r){return t-e>r-n?0:Io(n,e)*Io(r-n,t-e)/Io(r,t)}function As(e,t,n){return e<0?0:.5+.5*Mo((Math.log(e)-t)/Math.sqrt(2*n*n))}function js(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 Ms(e,t,n){return Math.exp(Ls(e,t,n))}function Ns(e,t,n){if(e<0)return 0;let r=0;for(let i=0;i<=e;i++)r+=Ps(i,t,n);return r}function Ps(e,t,n){return e<0?0:Io(e+t-1,t-1)*n**t*(1-n)**e}function Fs(e,t,n){return .5*(1+Mo((e-t)/Math.sqrt(2*n*n)))}function Is(e,t,n){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(n)-(e-t)**2/(2*n*n))}function Ls(e,t,n){return-1.4142135623730951*n*Po(2*e)+t}function Rs(e,t){let n=0;for(let r=0;r<=e;r++)n+=zs(r,t);return n}function zs(e,t){return Math.exp(-t)*t**e/Fo(e)}function Bs(e,t){let n=.5*os(t/(e**2+t),t/2,.5);return e<0?n:1-n}function Vs(e,t){let n=(1+e**2/t)**(-(t+1)/2);return 1/(Math.sqrt(t)*cs(.5,t/2))*n}function Hs(e,t){let n=as(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}function Us(e,t,n,r,i){let a=[],o=[],s=!0;for(let l=0;l<n;l++){let n=Math.floor(l/r),u=l%r,d=Math.floor(l/i),f=l%i,p=e.isArray()?e.get(n,u):e,m=t.isArray()?t.get(d,f):t;if(p.isError())return{isError:!0,errorObject:p,array1Values:a,array2Values:o,noCalculate:s};if(m.isError())return{isError:!0,errorObject:m,array1Values:a,array2Values:o,noCalculate:s};if(p.isNull()||m.isNull()||p.isBoolean()||m.isBoolean())continue;let h=p.getValue(),g=m.getValue();!(0,c.isRealNum)(h)||!(0,c.isRealNum)(g)||(a.push(+h),o.push(+g),s=!1)}return{isError:!1,errorObject:null,array1Values:a,array2Values:o,noCalculate:s}}function Ws(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:O.create(S.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:O.create(S.REF)}}return{isError:!1,errorObject:null}}function Gs(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 O.create(S.VALUE);r[i].push(+n.getValue())}}return r}function Ks(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 qs(e,t,n,r){let i=t;r&&(i=t.map(e=>Math.log(e)));let a,o;return n?{slope:a,intercept:o}=Js(e,i):{slope:a,intercept:o}=Ys(e,i),r&&(a=Math.exp(a),o=Math.exp(o)),Number.isNaN(a)&&!n&&(a=0),{slope:a,intercept:o,Y:i}}function Js(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 Ys(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 Xs(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=Wo(o),s=Wo(s),c=Wo(c)),r&&(s=s.map(e=>[...e,1]));let l=Wo(s),u=Uo(l,s),d=Uo(l,o),f=Go(u);if(!f&&(f=Yo(u),!f))return O.create(S.NA);let p=Uo(f,d);r||p.push([0]),p=Wo(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 Zs(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 X=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 Qs(e,t){let n=e[t];return n?n.hd===c.BooleanNumber.TRUE:!1}function $s(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(`${W.SUBTOTAL}(`)>-1||e.indexOf(`${W.AGGREGATE}(`)>-1))return!0}return!1}function ec(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 F.create(n[0])}function tc(e,t){let{type:n,ignoreRowHidden:r,ignoreErrorValues:i,ignoreNested:a,formulaDataModel:o}=e,s=[],l=0,u=0,d=0,f=0,p=0,m=0,h=1,g={},_=1,v=0;for(let e=0;e<t.length;e++){var y;let b=t[e],x=b.getFilteredOutRows(),S=b.getRowData(),C=b.getUnitId(),w=b.getSheetId(),ee=(y=b.getUnitData()[C])==null||(y=y[w])==null?void 0:y.cellData,T;if(b.iterator((e,t,y)=>{if(x.includes(t)||r&&Qs(S,t)||a&&$s(ee,t,y,w,C,o))return!0;if(n===X.COUNT)return e!=null&&e.isNumber()&&l++,!0;if(n===X.COUNTA)return e!=null&&!e.isNull()&&u++,!0;if(e!=null&&e.isError())return i?!0:(T=e,!1);if(!e||e.isNull()||e.isBoolean()||e.isString())return!0;let b=e.getValue();if(!(0,c.isRealNum)(b))return!0;if(b=+b,f++,n===X.MAX)return p=f===1?b:Math.max(p,b),!0;if(n===X.MIN)return m=f===1?b:Math.min(m,b),!0;if(n===X.MODE_SNGL)return g[b]?(g[b].count++,g[b].count>_&&(_=g[b].count)):g[b]={count:1,order:v++},!0;d+=b,h*=b,s.push(e)}),T!=null&&T.isError())return T}switch(n){case X.AVERAGE:return f===0?O.create(S.DIV_BY_ZERO):F.create(d/f);case X.COUNT:return F.create(l);case X.COUNTA:return F.create(u);case X.MAX:return F.create(p);case X.MIN:return F.create(m);case X.PRODUCT:return F.create(f===0?0:h);case X.STDEV:case X.STDEV_S:return f<2?O.create(S.DIV_BY_ZERO):Ai([s],1,f).std(1);case X.STDEVP:case X.STDEV_P:return f===0?O.create(S.DIV_BY_ZERO):Ai([s],1,f).std();case X.SUM:return F.create(d);case X.VAR:case X.VAR_S:return f<2?O.create(S.DIV_BY_ZERO):Ai([s],1,f).var(1);case X.VARP:case X.VAR_P:return f===0?O.create(S.DIV_BY_ZERO):Ai([s],1,f).var();case X.MEDIAN:return f===0?O.create(S.NUM):rc(s.map(e=>+e.getValue()));case X.MODE_SNGL:return v===0||_===1?O.create(S.NA):ec(g,_);default:return O.create(S.VALUE)}}function nc(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(),l=e.getRowData(),u=e.getUnitId(),d=e.getSheetId(),f=(s=e.getUnitData()[u])==null||(s=s[d])==null?void 0:s.cellData,p;if(e.iterator((e,s,m)=>{if(t.includes(s)||r&&Qs(l,s))return!0;if(e!=null&&e.isError())return i?!0:(p=e,!1);if(a&&n&&$s(f,s,m,d,u,n)||!e||e.isNull()||e.isBoolean()||e.isString())return!0;let h=e.getValue();if(!(0,c.isRealNum)(h))return!0;o.push(+h)}),p)return p}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();(0,c.isRealNum)(a)&&o.push(+a)}}return o.length===0?O.create(S.NUM):o}function rc(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 F.create(n)}function ic(e,t){if(t<1||t>e.length)return O.create(S.NUM);e.sort((e,t)=>t-e);let n=Math.ceil(t);return F.create(e[n-1])}function ac(e,t){if(t<1||t>e.length)return O.create(S.NUM);e.sort((e,t)=>e-t);let n=Math.floor(t);return F.create(e[n-1])}function oc(e,t){let n=e.length;if(t<0||t>1)return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t*(n-1),i=Math.floor(r),a=r-i;if(a===0)return F.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return F.create(o)}function sc(e,t){let n=e.length;if(t<1/(n+1)||t>1-1/(n+1))return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t*(n+1)-1,i=Math.floor(r),a=r-i;if(a===0)return F.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return F.create(o)}function cc(e,t){let n=e.length;if(t<0||t>4)return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t/4*(n-1),i=Math.floor(r),a=r-i;if(a===0)return F.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return F.create(o)}function lc(e,t){let n=e.length;if(t<=0||t>=4)return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t/4;if(r<1/(n+1)||r>1-1/(n+1))return O.create(S.NUM);let i=r*(n+1)-1,a=Math.floor(i),o=i-a;if(o===0)return F.create(e[a]);let s=e[a]+o*(e[a+1]-e[a]);return F.create(s)}var uc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.create(1):i;a.isNull()&&(a=F.create(0)),o.isNull()&&(o=F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.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}=J(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 O.create(S.NUM);let v=as(p,m,h)*(_-g)+g;return F.create(v)}},dc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?us(d,f,p):ds(d,f,p),F.create(h)}},fc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=0;for(;f<=l&&!(us(f,l,u)>=d);)f++;return F.create(f)}},pc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=1-fs(s,c);return F.create(l)}},mc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=ms(1-s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},hc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.NA);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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 O.create(S.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-fs(i,a);return F.create(o)}},gc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let g=Math.abs(Ls(p/2,0,1)*m/Math.sqrt(h));return F.create(g)});return r===1&&i===1?c.get(0,0):c}},_c=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return O.create(S.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 F.create(s/n)}},vc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?vs(l,u):ys(l,u),F.create(f)}},yc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=1-hs(l,u,d);return F.create(f)}},bc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=_s(1-l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},xc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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-hs(i/c,a,l));return u>1&&(u=2-u),F.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:O.create(S.VALUE),variance:t,ns1:n}:{isError:!0,errorObject:O.create(S.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 l=i.getValue();(0,c.isRealNum)(l)&&(a.push(+l),o+=+l)}if(a.length<=1)return{isError:!0,errorObject:O.create(S.DIV_BY_ZERO),variance:t,ns1:n};let s=o/a.length,l=0;for(let e=0;e<a.length;e++)l+=(a[e]-s)**2;return n=a.length-1,t=l/n,t===0?{isError:!0,errorObject:O.create(S.DIV_BY_ZERO),variance:t,ns1:n}:{isError:!1,errorObject:null,variance:t,ns1:n}}},Sc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?Ss(d,f,p):Cs(d,f,p),F.create(h)}},Cc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=ws(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},wc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Ms(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},Tc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(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 O(S.NA):ec(t,r)}},Ec=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?Fs(d,f,p):Is(d,f,p),F.create(h)}},Dc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Ls(l,u,d);return F.create(f)}},Oc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0||a>=1)return O.create(S.NUM);let o=Ls(a,0,1);return F.create(o)}},kc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return oc(e,+a.getValue())}},Ac=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?F.create(3):n;i.isNull()&&(i=F.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=z(a,o,t,O.create(S.NA)),c=z(a,o,i,O.create(S.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 O)return e;let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NA);if(u===1)return c===e[0]?F.create(1):O.create(S.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?O.create(S.NUM):(d=Zr(d,l),F.create(d)):O.create(S.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();(0,c.isRealNum)(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},jc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?Rs(l,u):zs(l,u),F.create(f)}},Mc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return cc(e,Math.floor(+a.getValue()))}},Nc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std()}},Pc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std(1)}},Fc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Math.abs(Hs(s/2,c));return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Ic=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(u,d,n,O.create(S.NA)),p=z(u,d,r,O.create(S.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}=J(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)?O.create(S.NUM):y===1&&i?a:y!==1&&c instanceof O?c:y!==1&&l instanceof O?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 O.create(S.DIV_BY_ZERO);let{isError:i,errorObject:a,x:o,degFreedom:s}=this._getTDistParamByArrayValues(e,t,r);if(i)return a;let c=Bs(-o,s);return n===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?O.create(S.NUM):F.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 O.create(S.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:O.create(S.VALUE),array1Values:[],array2Values:[]};if(n*r!==i*a)return{isError:!0,errorObject:O.create(S.NA),array1Values:[],array2Values:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,array1Values:[],array2Values:[]}:f||u.length<2?{isError:!0,errorObject:O.create(S.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:O.create(S.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:O.create(S.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:O.create(S.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))}}},Lc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var()}},Rc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var(1)}},zc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.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)?O.create(S.NUM):F.create(g)}},Bc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(i,a,t,O.create(S.NA)),s=n?z(i,a,n,O.create(S.NA)):void 0,c=o.mapValue((e,t,i)=>{if(r instanceof O)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?O.create(S.NA):r.length===1?O.create(S.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}=J(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}=J(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 O.create(S.NUM);let f=1-Fs((l/c-s)/(d/Math.sqrt(c)),0,1);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.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();(0,c.isRealNum)(a)&&t.push(+a)}return t}},Vc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.create(1):i;a.isNull()&&(a=F.create(0)),o.isNull()&&(o=F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.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}=J(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 O.create(S.NUM);let v=rs((p-g)/(_-g),m,h);return F.create(v)}};let Z=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 Hc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h=ks(d,f,p,m);return Number.isNaN(h)&&(h=0),F.create(h)}},Uc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=As(l,u,d);return F.create(f)}},Wc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Ps(l,u,d);return F.create(f)}},Gc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Fs(+i.getValue(),0,1);return F.create(a)}},Kc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(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?F.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=z(c,l,r,O.create(S.NA)),d=z(c,l,s,O.create(S.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return O.create(S.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 O.create(S.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?O.create(S.NA):F.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=O.create(S.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}}},qc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Bs(-l,u);return d===2&&(f*=2),Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}};const Jc=[[Vc,Z.BETADIST],[uc,Z.BETAINV],[dc,Z.BINOMDIST],[pc,Z.CHIDIST],[mc,Z.CHIINV],[hc,Z.CHITEST],[gc,Z.CONFIDENCE],[_c,Z.COVAR],[fc,Z.CRITBINOM],[vc,Z.EXPONDIST],[yc,Z.FDIST],[bc,Z.FINV],[xc,Z.FTEST],[Sc,Z.GAMMADIST],[Cc,Z.GAMMAINV],[Hc,Z.HYPGEOMDIST],[Uc,Z.LOGNORMDIST],[wc,Z.LOGINV],[Tc,Z.MODE],[Wc,Z.NEGBINOMDIST],[Ec,Z.NORMDIST],[Dc,Z.NORMINV],[Gc,Z.NORMSDIST],[Oc,Z.NORMSINV],[kc,Z.PERCENTILE],[Ac,Z.PERCENTRANK],[jc,Z.POISSON],[Mc,Z.QUARTILE],[Kc,Z.RANK],[Pc,Z.STDEV],[Nc,Z.STDEVP],[qc,Z.TDIST],[Fc,Z.TINV],[Ic,Z.TTEST],[Rc,Z.VAR],[Lc,Z.VARP],[zc,Z.WEIBULL],[Bc,Z.ZTEST]],Yc=[];let Xc=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 Zc=class extends Y{isCustom(){return!0}},Qc=class extends Zc{isAsync(){return!0}};function $c(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:O.create(S.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()||(0,c.isRealNum)(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,databaseValues:t}}function el(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:O.create(S.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()||(0,c.isRealNum)(o))&&(o=Math.floor(+o)),typeof o==`number`){if(o<1||o>t[0].length)return{isError:!0,errorObject:O.create(S.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:O.create(S.VALUE),fieldIndex:n};return{isError:!1,errorObject:null,fieldIndex:n}}function tl(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:O.create(S.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()||(0,c.isRealNum)(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,criteriaValues:t}}function nl(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]=ji(`${i}`);if(!bi.create(`${e}`).compare(o,a).getValue()){r=!1;break}}}if(r){o=!0;break}}return o}var rl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f+=t,p++)}return p===0?O.create(S.DIV_BY_ZERO):F.create(f/p)}},il=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)typeof a[e][c]==`number`&&nl(d,a,e)&&f++;return F.create(f)}},al=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&nl(d,a,e)&&f++;return F.create(f)}},ol=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0,p=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&nl(d,a,e)&&(f++,p=e);return f===0?O.create(S.VALUE):f>1?O.create(S.NUM):e.get(p,c)}},sl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f=Math.max(f,t),p++)}return p===0?F.create(0):F.create(f)}},cl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f=Math.min(f,t),p++)}return p===0?F.create(0):F.create(f)}},ll=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f*=t,p++)}return p===0?F.create(0):F.create(f)}},ul=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return O.create(S.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 F.create(_)}},dl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return O.create(S.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 F.create(_)}},fl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&nl(d,a,e)&&(f+=t)}return F.create(f)}},pl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return O.create(S.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 F.create(_)}},ml=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return O.create(S.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 F.create(_)}};let hl=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 gl=[[rl,hl.DAVERAGE],[il,hl.DCOUNT],[al,hl.DCOUNTA],[ol,hl.DGET],[sl,hl.DMAX],[cl,hl.DMIN],[ll,hl.DPRODUCT],[ul,hl.DSTDEV],[dl,hl.DSTDEVP],[fl,hl.DSUM],[pl,hl.DVAR],[ml,hl.DVARP]];var _l=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);p>=0&&p<1899&&(p+=1900);let g=de(new Date(Date.UTC(p,m-1,h)));return g<0?O.create(S.NUM):F.create(g,le)});return r===1&&i===1?c.get(0,0):c}},vl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=A(r);if(typeof o!=`number`)return o;let s=A(i);return typeof s==`number`?s<o||!a.isString()?O.create(S.NUM):this._getResultByUnit(o,s,a):s}_getResultByUnit(e,t,n){let r=k(e),i=r.getUTCFullYear(),a=r.getUTCMonth()+1,o=r.getUTCDate(),s=k(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+=Me(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(de(p))-Math.floor(e);break;default:return O.create(S.NUM)}return F.create(f)}},yl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=he(t);if(n===null&&(n=ge(t)),n){let{v:e,z:t}=n;if(t&&_e(t))return e instanceof Date&&(e=fe(e)),F.create(Math.trunc(+e))}}return O.create(S.VALUE)}},bl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(!me(`${n}`))return O.create(S.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return O.create(S.NUM);if(n===0)return F.create(0);t=k(n)}let r=t.getUTCDate();return F.create(r)}},xl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(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=A(e);if(typeof i!=`number`)return i;let o=A(r);if(typeof o!=`number`)return o;let s=Math.floor(i)-Math.floor(o);return F.create(s)});return n===1&&r===1?o.get(0,0):o}},Sl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?P.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=A(e);if(typeof a!=`number`)return a;if(r.isError())return r;let o=A(r);if(typeof o!=`number`)return o;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let{days:l}=we(a,o,+i.getValue()?4:0),u=o>=a?l:-l;return F.create(u)});return i===1&&a===1?l.get(0,0):l}},Cl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(n,r,t);return i.map((e,t,n)=>{let r=a.get(t,n)||N.create();if(e.isError())return e;if(r.isError())return r;if(e.isString()||e.isBoolean()||r.isString()||r.isBoolean())return O.create(S.VALUE);let i=+e.getValue();if(i<0)return O.create(S.NUM);let o=Math.floor(+r.getValue()),s=k(i),c=s.getUTCFullYear(),l=s.getUTCMonth()+o,u=s.getUTCDate(),d=de(new Date(Date.UTC(c,l,u)));return F.create(d,le)})}},wl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);n=n.get(0,0)}if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return O.create(S.VALUE);r=r.get(0,0)}if(n.isError())return n;if(r.isError())return r;let i=A(n);if(typeof i!=`number`)return i;if(r.isBoolean())return O.create(S.VALUE);let a=k(i),o=i>0?a.getUTCFullYear():1900,s=i>0?a.getUTCMonth():0,c=Math.floor(+r.getValue());if(Number.isNaN(c))return O.create(S.VALUE);let l=de(new Date(Date.UTC(o,s+c+1,0)));return F.create(l)}},Tl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(this,`needsReferenceObject`,!0)}calculate(e,t){let n=t==null?F.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 O.create(S.VALUE);let c=+o.getValue(),{isError:l,errorObject:u,variants:d}=J(s);if(l)return u;let[f]=d,p=Math.floor(+f.getValue());if(c<0||p<1||p>3)return O.create(S.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 F.create(e)}else{let e=fe(m);return F.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:O.create(S.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:O.create(S.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}}},El=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;if(t===0)return F.create(0);let n=pe(t).getUTCHours();return F.create(n)}},Dl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;let n=k(t),r=t>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=de(i),o=Ce(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=de(i),o=Ce(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));let c=Math.ceil((t-s+1)/7);return F.create(c)}},Ol=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;if(t===0)return F.create(0);let n=pe(t).getUTCMinutes();return F.create(n)}},kl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(!me(`${n}`))return O.create(S.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return O.create(S.NUM);if(n===0)return F.create(1);t=k(n)}let r=t.getUTCMonth()+1;return F.create(r)}},Al=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return O.create(S.VALUE);let a=A(r);if(typeof a!=`number`)return a;let o=A(i);if(typeof o!=`number`)return o;if(n)return this._getResultByHolidays(a,o,n);let s=xe(a,o);return F.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return O.create(S.VALUE);let e=A(n);if(typeof e!=`number`)return e;r.push(e)}let i=xe(e,t,1,r);return F.create(i)}},jl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.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()&&!ye(o))return O.create(S.VALUE);if(!ye(o))return O.create(S.NUM)}if(i.isBoolean()||a.isBoolean())return O.create(S.VALUE);let s=A(i);if(typeof s!=`number`)return s;let c=A(a);if(typeof c!=`number`)return c;if(r)return this._getResultByHolidays(s,c,o,r);let l=xe(s,c,o);return F.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return O.create(S.VALUE);let e=A(r);if(typeof e!=`number`)return e;i.push(e)}let a=xe(e,t,n,i);return F.create(a)}},Ml=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){let e=new Date,t=fe(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())));return F.create(t,`yyyy/mm/dd hh:mm`)}},Nl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;if(t===0)return F.create(0);let n=pe(t).getUTCSeconds();return F.create(n)}},Pl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e),o=z(r,i,t),s=z(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)||N.create(),s=n.get(r,i)||N.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 O.create(S.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 F.create(d,`h:mm A/P`)}},Fl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=(0,c.getNumfmtParseValueFilter)(`${e.getValue()}`);if(t){let{v:e,z:n}=t;if(n&&_e(n))return e instanceof Date&&(e=fe(e)),F.create(di(+e))}}return O.create(S.VALUE)}},Il=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(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 O.create(S.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 F.create(r,`yyyy-MM-dd hh:mm:ss AM/PM`)}},Ll=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){let e=new Date,t=de(new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())));return F.create(t,le)}},Rl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(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?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=A(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 O.create(S.NUM);let a=Ce(r),o=this._returnTypeMap[i][a];return F.create(o)}},zl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(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?F.create(1):t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return O.create(S.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 O.create(S.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean())return O.create(S.VALUE);let i=A(n);if(typeof i!=`number`)return i;if(r.isBoolean())return O.create(S.VALUE);let a=Math.floor(+r.getValue());return Number.isNaN(a)?O.create(S.VALUE):a in this._returnTypeMap?this._getResult(i,a):O.create(S.NUM)}_getResult(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=de(i),o=Ce(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=de(i),o=Ce(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 F.create(c)}},Bl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return O.create(S.VALUE);let a=A(r);if(typeof a!=`number`)return a;let o=+i.getValue();if(Number.isNaN(o))return O.create(S.VALUE);if(n)return this._getResultByHolidays(a,o,n);let s=Se(a,o);return typeof s==`number`?F.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return O.create(S.VALUE);let e=A(n);if(typeof e!=`number`)return e;r.push(e)}let i=Se(e,t,1,r);return typeof i==`number`?F.create(i):i}},Vl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.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 O.create(S.VALUE);let s=A(e);if(typeof s!=`number`)return s;let c=+t.getValue();if(Number.isNaN(c))return O.create(S.VALUE);let l=i.getValue();if(i.isBoolean()&&(l=+l),i.isString()&&(!ye(l)||l===`1111111`))return O.create(S.VALUE);if(!ye(l))return O.create(S.NUM);if(r)return this._getResultByHolidays(s,c,l,r);let u=Se(s,c,l);return typeof u==`number`?F.create(u):u}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return O.create(S.VALUE);let e=A(r);if(typeof e!=`number`)return e;i.push(e)}let a=Se(e,t,n,i);return typeof a==`number`?F.create(a):a}},Hl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(!me(`${n}`))return O.create(S.VALUE);t=new Date(`${n}`)}else{let e=+n;if(e<0)return O.create(S.NUM);if(e===0)return F.create(1900);t=k(e)}let r=t.getUTCFullYear();return F.create(r)}},Ul=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.create(0):n,i=xo(e);if(i.isError())return i;let a=xo(t);if(a.isError())return a;if(r=xo(r),r.isError())return r;if(i.isBoolean()||a.isBoolean()||r.isBoolean())return O.create(S.VALUE);let o=A(i);if(typeof o!=`number`)return o;let s=A(a);if(typeof s!=`number`)return s;let c=Math.floor(+r.getValue());if(Number.isNaN(c))return O.create(S.VALUE);if(c<0||c>4)return O.create(S.NUM);let{days:l,yearDays:u}=we(o,s,c),d=l/u;return F.create(d)}};const Wl=[[_l,ia.DATE],[vl,ia.DATEDIF],[yl,ia.DATEVALUE],[bl,ia.DAY],[xl,ia.DAYS],[Sl,ia.DAYS360],[Cl,ia.EDATE],[wl,ia.EOMONTH],[Tl,ia.EPOCHTODATE],[El,ia.HOUR],[Dl,ia.ISOWEEKNUM],[Ol,ia.MINUTE],[kl,ia.MONTH],[Al,ia.NETWORKDAYS],[jl,ia.NETWORKDAYS_INTL],[Ml,ia.NOW],[Nl,ia.SECOND],[Pl,ia.TIME],[Fl,ia.TIMEVALUE],[Il,ia.TO_DATE],[Ll,ia.TODAY],[Rl,ia.WEEKDAY],[zl,ia.WEEKNUM],[Bl,ia.WORKDAY],[Vl,ia.WORKDAY_INTL],[Hl,ia.YEAR],[Ul,ia.YEARFRAC]];var Gl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.besseli(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Kl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.besselj(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},ql=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.besselk(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Jl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.bessely(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Yl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!ko(a))return O.create(S.NUM);let o;return o=a.length===10&&a.substring(0,1)===`1`?Number.parseInt(a.substring(1),2)-512:Number.parseInt(a,2),F.create(o)}},Xl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!ko(s))return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c.toLocaleUpperCase())}},Zl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!ko(s))return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c)}},Ql=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=o&s;return F.create(c)});return n===1&&r===1?o.get(0,0):o}},$l=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)<<BigInt(s):BigInt(o)>>BigInt(-s));return c>0xffffffffffff?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},eu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=Number(BigInt(o)|BigInt(s));return F.create(c)});return n===1&&r===1?o.get(0,0):o}},tu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)>>BigInt(s):BigInt(o)<<BigInt(-s));return c>0xffffffffffff?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},nu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=o^s;return F.create(c)});return n===1&&r===1?o.get(0,0):o}};d.default.prototype.cos=function(){let e=this.toNumber();return new d.default(Math.cos(e))};var Q=class e{static getComplex(e,t,n){let r=new d.default(e).toSignificantDigits(15).toNumber(),i=new d.default(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(b(this,`_inumber`,``),b(this,`_realNum`,0),b(this,`_iNum`,0),b(this,`_suffix`,``),b(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 d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){let e=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),t=d.default.acos(new d.default(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=d.default.cos(this._realNum).mul(d.default.cosh(this._iNum)).toNumber(),n=d.default.sin(this._realNum).mul(d.default.sinh(this._iNum)).negated().toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.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=d.default.cosh(this._realNum).mul(d.default.cos(this._iNum)).toNumber(),n=d.default.sinh(this._realNum).mul(d.default.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.cosh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cot(){if(this._iNum){let t=d.default.cosh(this._iNum*2).sub(d.default.cos(this._realNum*2)),n=d.default.sin(this._realNum*2).div(t).toNumber(),r=d.default.sinh(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.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=d.default.cosh(this._realNum*2).sub(d.default.cos(this._iNum*2)),n=d.default.sinh(this._realNum*2).div(t).toNumber(),r=d.default.sin(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.tanh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csc(){if(this._iNum){let t=d.default.cosh(this._iNum*2).sub(d.default.cos(this._realNum*2)),n=d.default.sin(this._realNum).mul(d.default.cosh(this._iNum)).mul(2).div(t).toNumber(),r=d.default.cos(this._realNum).mul(d.default.sinh(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.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=d.default.cosh(this._realNum*2).sub(d.default.cos(this._iNum*2)),n=d.default.sinh(this._realNum).mul(d.default.cos(this._iNum)).mul(2).div(t).toNumber(),r=d.default.cosh(this._realNum).mul(d.default.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.sinh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Div(t){let n=new d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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=d.default.exp(this._realNum).mul(d.default.cos(this._iNum)).toNumber(),n=d.default.exp(this._realNum).mul(d.default.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}Ln(){let t=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),n=d.default.ln(t).toNumber(),r=d.default.acos(new d.default(this._realNum).div(t)).toNumber();return e.getComplex(n,r,this._suffix)}Log(t){let n=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),r=d.default.ln(n),i=d.default.acos(new d.default(this._realNum).div(n));this._iNum<0&&(i=i.negated());let a=d.default.ln(t),o=new d.default(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=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),r=d.default.acos(new d.default(this._realNum).div(n));this._iNum<0&&(r=r.negated()),n=d.default.pow(n,t),r=r.mul(t);let i=d.default.cos(r).mul(n).toNumber(),a=d.default.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 d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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=d.default.cosh(this._iNum*2).add(d.default.cos(this._realNum*2)),n=d.default.cos(this._realNum).mul(d.default.cosh(this._iNum)).mul(2).div(t).toNumber(),r=d.default.sin(this._realNum).mul(d.default.sinh(this._iNum)).mul(2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.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=d.default.cosh(this._realNum*2).add(d.default.cos(this._iNum*2)),n=d.default.cosh(this._realNum).mul(d.default.cos(this._iNum)).mul(2).div(t).toNumber(),r=d.default.sinh(this._realNum).mul(d.default.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.cosh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sin(){if(this._iNum){let t=d.default.sin(this._realNum).mul(d.default.cosh(this._iNum)).toNumber(),n=d.default.cos(this._realNum).mul(d.default.sinh(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.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=d.default.sinh(this._realNum).mul(d.default.cos(this._iNum)).toNumber(),n=d.default.cosh(this._realNum).mul(d.default.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.sinh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sqrt(){let t=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),n=d.default.sqrt(t),r=d.default.acos(new d.default(this._realNum).div(t));this._iNum<0&&(r=r.negated());let i=n.mul(d.default.cos(r.div(2).toNumber())).toNumber(),a=n.mul(d.default.sin(r.div(2))).toNumber();return e.getComplex(i,a,this._suffix)}Sub(t){let n=new d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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 d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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=d.default.cos(this._realNum*2).add(d.default.cosh(this._iNum*2)),n=d.default.sin(this._realNum*2).div(t).toNumber(),r=d.default.sinh(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=d.default.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=d.default.cosh(this._realNum*2).add(d.default.cos(this._iNum*2)),n=d.default.sinh(this._realNum*2).div(t).toNumber(),r=d.default.sin(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=d.default.tanh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}},ru=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=q(e,t,n==null?I.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 O.create(S.VALUE);let f=Q.getComplex(l,u,d);return typeof f==`number`?F.create(f):I.create(f)}},iu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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]]),b(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`]}),b(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}=q(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 O.create(S.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 O.create(S.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),F.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}}},au=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return O.create(S.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${s}`)||s<-512||s>511)return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c)}},ou=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return O.create(S.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${s}`)||s<-549755813888||s>549755813887)return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c.toLocaleUpperCase())}},su=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return O.create(S.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${s}`)||s<-536870912||s>536870911)return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c)}},cu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e,t==null?F.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 O.create(S.VALUE);let l=s===c?1:0;return F.create(l)}},lu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n;if(t){let{isError:r,errorObject:i,variants:a}=q(e,t);if(r)return i;let[o,s]=a,c=+o.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return O.create(S.VALUE);n=Mo(l)-Mo(c)}else{let{isError:t,errorObject:r,variants:i}=q(e);if(t)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return O.create(S.VALUE);n=Mo(o)}return F.create(n)}},uu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return O.create(S.VALUE);let o=Mo(a);return F.create(o)}},du=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return O.create(S.VALUE);let o=No(a);return F.create(o)}},fu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return O.create(S.VALUE);let o=No(a);return F.create(o)}},pu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t==null?F.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 O.create(S.VALUE);let l=s>=c?1:0;return F.create(l)}},mu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!jo(s))return O.create(S.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 O.create(S.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 O.create(S.NUM);u=`0`.repeat(n-u.length)+u}return I.create(u)}},hu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!jo(a))return O.create(S.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),F.create(o)}},gu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!jo(s))return O.create(S.NUM);let c=Number.parseInt(s,16);if(c>536870911&&c<0xffe0000000)return O.create(S.NUM);let l;if(c>=0xffe0000000)l=(c-0xffc0000000).toString(8);else if(l=c.toString(8),t){if(n<l.length)return O.create(S.NUM);l=`0`.repeat(n-l.length)+l}return I.create(l)}},_u=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Abs();return F.create(o)}},vu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.getINum();return F.create(o)}},yu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);if(a.getRealNum()===0&&a.getINum()===0)return O.create(S.DIV_BY_ZERO);let o=a.Argument();return F.create(o)}},bu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Conjugate();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},xu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Cos();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Su=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Cosh();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Cu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Cot();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},wu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Coth();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Tu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Csc();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Eu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Csch();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Du=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,l=`${o.getValue()}`,u=new Q(s),d=new Q(l);if(u.isError()||d.isError()||u.isDifferentSuffixes(d)||d.getRealNum()===0&&d.getINum()===0)return O.create(S.NUM);let f=u.Div(d);return typeof f==`number`||(0,c.isRealNum)(f)?F.create(+f):I.create(f)}},Ou=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Exp();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},ku=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Ln();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Au=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e);if(n)return r;let[a]=i,o=t==null?F.create(10):t;if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return O.create(S.VALUE);o=o.get(0,0)}let{isError:s,errorObject:l,variants:u}=J(o);if(s)return l;let[d]=u,f=`${a.getValue()}`,p=+d.getValue(),m=new Q(f);if(m.isError()||m.getRealNum()===0&&m.getINum()===0||p<=0)return O.create(S.NUM);let h=m.Log(p);return m.isError()?O.create(S.NUM):typeof h==`number`||(0,c.isRealNum)(h)?F.create(+h):I.create(h)}},ju=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Log(2);return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Mu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Log(10);return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Nu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=new Q(`${a.getValue()}`);if(s.isError())return O.create(S.NUM);let l=+o.getValue();if(Number.isNaN(l))return O.create(S.VALUE);let u=s.Power(l);return s.isError()?O.create(S.NUM):typeof u==`number`||(0,c.isRealNum)(u)?F.create(+u):I.create(u)}},Pu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof O)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 O)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof O?t:typeof t==`number`||(0,c.isRealNum)(t)?F.create(+t):I.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return O.create(S.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new Q(r);if(e.isError())return O.create(S.NUM);n=e.toString()}else{let e=new Q(t),i=new Q(r);if(e.isError()||i.isError())return O.create(S.NUM);if(e.isDifferentSuffixes(i))return O.create(S.VALUE);n=e.Product(i)}return n}},Fu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.getRealNum();return F.create(o)}},Iu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sec();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Lu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sech();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Ru=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sin();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},zu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sinh();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Bu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);if(a.getRealNum()===0&&a.getINum()===0)return F.create(0);let o=a.Sqrt();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Vu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,l=`${o.getValue()}`,u=new Q(s),d=new Q(l);if(u.isError()||d.isError()||u.isDifferentSuffixes(d))return O.create(S.NUM);let f=u.Sub(d);return typeof f==`number`||(0,c.isRealNum)(f)?F.create(+f):I.create(f)}},Hu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof O)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 O)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof O?t:typeof t==`number`||(0,c.isRealNum)(t)?F.create(+t):I.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return O.create(S.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new Q(r);if(e.isError())return O.create(S.NUM);n=e.toString()}else{let e=new Q(t),i=new Q(r);if(e.isError()||i.isError())return O.create(S.NUM);if(e.isDifferentSuffixes(i))return O.create(S.VALUE);n=e.Sum(i)}return n}},Uu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Tan();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Wu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Tanh();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Gu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ao(s))return O.create(S.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 O.create(S.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 O.create(S.NUM);u=`0`.repeat(n-u.length)+u}return I.create(u)}},Ku=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Ao(a))return O.create(S.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),F.create(o)}},qu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ao(s))return O.create(S.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 O.create(S.NUM);l=`0`.repeat(n-l.length)+l}return I.create(l.toLocaleUpperCase())}};const Ju=[[Gl,V.BESSELI],[Kl,V.BESSELJ],[ql,V.BESSELK],[Jl,V.BESSELY],[Yl,V.BIN2DEC],[Xl,V.BIN2HEX],[Zl,V.BIN2OCT],[Ql,V.BITAND],[$l,V.BITLSHIFT],[eu,V.BITOR],[tu,V.BITRSHIFT],[nu,V.BITXOR],[ru,V.COMPLEX],[iu,V.CONVERT],[au,V.DEC2BIN],[ou,V.DEC2HEX],[su,V.DEC2OCT],[cu,V.DELTA],[lu,V.ERF],[uu,V.ERF_PRECISE],[du,V.ERFC],[fu,V.ERFC_PRECISE],[pu,V.GESTEP],[mu,V.HEX2BIN],[hu,V.HEX2DEC],[gu,V.HEX2OCT],[_u,V.IMABS],[vu,V.IMAGINARY],[yu,V.IMARGUMENT],[bu,V.IMCONJUGATE],[xu,V.IMCOS],[Su,V.IMCOSH],[Cu,V.IMCOT],[wu,V.IMCOTH],[Tu,V.IMCSC],[Eu,V.IMCSCH],[Du,V.IMDIV],[Ou,V.IMEXP],[ku,V.IMLN],[Au,V.IMLOG],[Mu,V.IMLOG10],[ju,V.IMLOG2],[Nu,V.IMPOWER],[Pu,V.IMPRODUCT],[Fu,V.IMREAL],[Iu,V.IMSEC],[Lu,V.IMSECH],[Ru,V.IMSIN],[zu,V.IMSINH],[Bu,V.IMSQRT],[Vu,V.IMSUB],[Hu,V.IMSUM],[Uu,V.IMTAN],[Wu,V.IMTANH],[Gu,V.OCT2BIN],[Ku,V.OCT2DEC],[qu,V.OCT2HEX]];function Yu(e,t,n,r){let{days:i}=we($u(e,t,n),e,r);return i}function Xu(e,t,n,r){let i;if(r===1){let r=$u(e,t,n),a=k(r);a=Ie(a,12/n);let o=de(a);i=r<0&&n===1?365:o-r}else i=r===3?365/n:360/n;return i}function Zu(e,t,n){let r=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Ie(i,-12/n);return i=Ie(i,12/n),de(i)}function Qu(e,t,n){let r=0,i=k(e),a=k(t);for(;a>i;)a=Ie(a,-12/n),r++;return r}function $u(e,t,n){let r=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Ie(i,-12/n);return de(i)}function ed(e,t,n,r,i,a){let o=Yu(e,t,i,a),s=Xu(e,t,i,a),c=Qu(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 td(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 nd(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 rd(e,t,n,r,i,a){let o=td(e,n,r,i,a);return(t===1?a===1?0:-r:a===1?nd(e,t-2,o,r,1)-o:nd(e,t-1,o,r,0))*e}function id(e,t){let n=0;for(let r=1;r<=t.length;r++)n+=t[r-1]/(1+e)**r;return n}function ad(e,t,n,r,i,a,o,s,c){let l=cd(n,r,c),u=Xu(e,r,s,c);return l<u?od(e,t,n,r,i,a,o,s,c,l,u):sd(e,t,n,r,i,a,o,s,c,u)}function od(e,t,n,r,i,a,o,s,c,l,u){let d=0,f=Qu(e,t,s),p=cd(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=cd(n,e,c);return d-=100*i/s*m/u,d}function sd(e,t,n,r,i,a,o,s,c,l){let u=0,d=Qu(r,t,s),f=fd(r,e,12/s,!0),p;if(c===2||c===3)p=cd(e,Zu(e,r,s),c);else{let{days:t}=we($u(e,r,s),e,c);p=l-t}u+=o/(1+a/s)**(d+f+p/l);let m=Qu(n,r,s),h=r,g=0,_=0;for(let t=m;t>=1;t--){let r=dd(h,-12/s,!1),i=c===1?cd(r,h,c):l,a=t>1?i:cd(n,h,c);g+=a/i;let o=cd(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 cd(e,t,n){let{days:r}=we(e,t,n);return e<t?r:0}function ld(e,t,n){let r=k(e),i=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),s=Fe(i,a,o),c=k(t),l=c.getUTCFullYear(),u=c.getUTCMonth(),d=c.getUTCDate(),f=Fe(l,u,d);return!(o!==d&&!(s&&f)||Math.abs((l-i)*12+(u-a))%(12/n)!=0)}function ud(e,t,n){return $u(e,t,n)>=0}function dd(e,t,n){let r=k(e);if(r=Ie(r,t),n){let e=Me(r.getUTCFullYear(),r.getUTCMonth());r.setUTCDate(e)}return de(r)}function fd(e,t,n,r){let i=k(e),a=k(t),o=i.getUTCFullYear(),s=i.getUTCMonth(),c=i.getUTCDate(),l=a.getUTCFullYear(),u=a.getUTCMonth(),d=a.getUTCDate(),f=Fe(o,s,c),p=!f&&s!==1&&c>28&&c<Me(o,s)?Fe(l,u,d):f,m=dd(t,0,p),h=r-0+ +(t<m),g=dd(m,n,p);for(;!(n>0?g>=t:g<=t);)g=dd(g,n,p),h++;return h}function pd(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?md(e,t):a}function md(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 O.create(S.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 O.create(S.NUM);if(e===59)return O.create(S.NUM)}s=s,c=c;let u=t(s),d=t(c),f,p;if(Math.abs(u)<n||Math.abs(d)<n)return O.create(S.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 hd(e,t,n,r,i,a,o){let s=Qu(e,t,a),c=Xu(e,t,a,o),l=Yu(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 gd(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 _d=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=o==null?F.create(0):o,l=s==null?P.create(!0):s,{isError:u,errorObject:d,variants:f}=q(e,t,n,r,i,a,c);if(u)return d;let[p,m,h,g,_,v,y]=f,b=A(p);if(typeof b!=`number`)return b;let x=A(m);if(typeof x!=`number`)return x;let C=A(h);if(typeof C!=`number`)return C;let w=+g.getValue(),ee=+_.getValue(),T=Math.floor(+v.getValue()),E=Math.floor(+y.getValue()),te=+l.getValue();return Number.isNaN(w)||Number.isNaN(ee)||Number.isNaN(T)||Number.isNaN(E)||Number.isNaN(te)?O.create(S.VALUE):w<=0||ee<=0||![1,2,4].includes(T)||E<0||E>4||Math.floor(b)>=Math.floor(C)?O.create(S.NUM):this._getResult(b,x,C,w,ee,T,E,te)}_getResult(e,t,n,r,i,a,o,s){let c=$u(e,t,a);if(c<=0)return F.create(0);c=$u(n,t,a);let l=12/a,u=k(t),d=Fe(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),f=dd(t,-l,d);if(n>t&&s)for(f=t;f<n;)f=dd(f,l,d);let p=e>f?e:f,{days:m}=we(p,n,o);if(c>=e){let{days:e}=we(p,n,o?4:0);m=e}n<p&&(m=-m);let h=Xu(f,t,a,o),g=m/h,_=f,v=e;for(;_>e;){v=_,_=dd(_,-l,d),p=e>_?e:_;let{days:t}=we(p,v,o);if(o===0)m=v>=p||e<=_?t:-t,h=Xu(_,v,a,o);else if(m=v<p?-t:t,o===3)h=365/a;else{let{days:e}=we(_,v,o);h=v<_?-e:e}g+=e<=_?s?1:0:m/h}let y=i*r/a*g;return F.create(y)}},vd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=q(e,t,n,r,i==null?F.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=A(c);if(typeof p!=`number`)return p;let m=A(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 O.create(S.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>Math.floor(m))return O.create(S.NUM);if(Math.floor(p)===Math.floor(m))return F.create(0);let{days:v,yearDays:y}=we(p,m,_),b=g*h*v/y;return F.create(b)}},yd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let{isError:s,errorObject:c,variants:l}=q(e,t,n,r,i,a,o==null?F.create(0):o);if(s)return c;let[u,d,f,p,m,h,g]=l,_=A(d);if(typeof _!=`number`)return _;let v=A(f);if(typeof v!=`number`)return v;let y=+u.getValue(),b=+p.getValue(),x=+m.getValue(),C=+h.getValue(),w=Math.floor(+g.getValue());return Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(C)||Number.isNaN(w)?O.create(S.VALUE):y<=0||b<0||y<b||Math.floor(_)>Math.floor(v)||x<0||C<=0||![0,1,3,4].includes(w)?O.create(S.NUM):(x=x>1?Math.floor(x):Math.ceil(x),this._getResult(y,_,v,b,x,C,w))}_getResult(e,t,n,r,i,a,o){let s=e-r,c=e*a,{days:l,yearDays:u}=we(t,n,o),d=l/u,f=Math.ceil(s/c-d);if(f<0)return F.create(0);let p=c;return i===0?p=c*d:i===f?p=s-c*(d+i-1):i>f&&(p=0),F.create(p)}},bd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=Yu(d,f,p,m);return F.create(h)}},xd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=Xu(d,f,p,m);return F.create(h)}},Sd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=k(d),g=k(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:_}=we(d,de(g),m);return F.create(_)}},Cd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=Zu(d,f,p);return F.create(h)}},wd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f)||$u(d,f,p)<0)return O.create(S.NUM);let h=Qu(d,f,p);return F.create(h)}},Td=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=$u(d,f,p);return h<0&&(h=0),F.create(h)}},Ed=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=q(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)?O.create(S.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||v>g||y>g||![0,1].includes(b)?O.create(S.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?F.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=td(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?nd(e,t-2,o,n,1):nd(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)),F.create(s)}},Dd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=q(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)?O.create(S.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||![0,1].includes(b)?O.create(S.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?F.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=td(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-(nd(e,t-2,o,n,1)-o)*e:o-nd(e,t-1,o,n,0)*e;return F.create(s)}},Od=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?F.create(12):i;a.isNull()&&(a=F.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=z(o,s,e,O.create(S.NA)),l=z(o,s,t,O.create(S.NA)),u=z(o,s,n,O.create(S.NA)),d=z(o,s,r,O.create(S.NA)),f=z(o,s,a,O.create(S.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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?O.create(S.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)?O.create(S.NUM):a===0&&o===0?F.create(f,zr(this.getLocale())):F.create(f)}},kd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?F.create(2):i;a.isNull()&&(a=F.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=z(o,s,e,O.create(S.NA)),l=z(o,s,t,O.create(S.NA)),u=z(o,s,n,O.create(S.NA)),d=z(o,s,r,O.create(S.NA)),f=z(o,s,a,O.create(S.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);let b=gd(h,g,_,v,y);return Number.isNaN(b)||!Number.isFinite(b)?O.create(S.NUM):t===0&&n===0?F.create(b,zr(this.getLocale())):F.create(b)});return o===1&&s===1?p.get(0,0):p}},Ad=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=q(e,t,n,r,i==null?F.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=A(c);if(typeof p!=`number`)return p;let m=A(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 O.create(S.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return O.create(S.NUM);let{days:v,yearDays:y}=we(p,m,_),b=(g-h)/g*(y/v);return F.create(b)}},jd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);if(c>=0&&c<1)return O.create(S.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,F.create(l)}},Md=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);if(c>=0&&c<1)return O.create(S.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,F.create(l)}},Nd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(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 O.create(S.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_)||g<=0||_<=366)return O.create(S.NUM);let C=ed(g,_,v,y,b,x);return F.create(C)}},Pd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(s<=0||c<1)return O.create(S.NUM);c=Number.parseInt(`${c}`,10);let l=(1+s/c)**c-1;return F.create(l)}},Fd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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=nd(+o.getValue(),+s.getValue(),+c.getValue(),+l.getValue(),+m.getValue()?1:0);return Number.isNaN(h)||!Number.isFinite(h)?O.create(S.NUM):t===0&&n===0?F.create(h,zr(this.getLocale())):F.create(h)});return s===1&&c===1?m.get(0,0):m}},Id=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e);if(n)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return O.create(S.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 O.create(S.VALUE);let r=+n.getValue();if(Number.isNaN(r))return O.create(S.VALUE);s*=1+r}}else{if(t.isBoolean())return O.create(S.VALUE);let e=+t.getValue();if(Number.isNaN(e))return O.create(S.VALUE);s*=1+e}return F.create(s)}},Ld=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=q(e,t,n,r,i==null?F.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=A(c);if(typeof p!=`number`)return p;let m=A(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 O.create(S.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return O.create(S.NUM);let{days:v,yearDays:y}=we(p,m,_),b=(g-h)/h*(y/v);return F.create(b)}},Rd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,6),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?F.create(0):i,s=a==null?F.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,n,O.create(S.NA)),p=z(c,l,r,O.create(S.NA)),m=z(c,l,o,O.create(S.NA)),h=z(c,l,s,O.create(S.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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(),C=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y))return O.create(S.NUM);let w=rd(_,v,y,b,x,C?1:0);return Number.isNaN(w)||!Number.isFinite(w)?O.create(S.NUM):t===0&&n===0?F.create(w,zr(this.getLocale())):F.create(w)});return c===1&&l===1?g.get(0,0):g}},zd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.create(.1):t;return n.isNull()&&(n=F.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 O.create(S.VALUE);if(!e.isArray())return O.create(S.NUM);let{_values:i,valuesHasError:a}=this._getValues(e);if(a)return O.create(S.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 O.create(S.NUM);let u=pd(s,e=>id(e,i));return typeof u==`number`?n===0&&r===0?F.create(u,`0%`):F.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}}},Bd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.NA)),u=o.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.DIV_BY_ZERO);let _=g*p*(m/h-1);return F.create(_)});return i===1&&a===1?u.get(0,0):u}},Vd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(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 O.create(S.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_))return O.create(S.NUM);let C=ed(g,_,v,y,b,x);return C/=1+y/b,F.create(C)}},Hd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(s,c,t,O.create(S.NA)),u=z(s,c,n,O.create(S.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 O.create(S.DIV_BY_ZERO);let l=+t.getValue(),d=+c.getValue();if(Number.isNaN(l)||Number.isNaN(d))return O.create(S.VALUE);if(d===-1)return O.create(S.DIV_BY_ZERO);let f=this._getResult(i,l,d);return n===0&&s===0?F.create(f,`0%`):F.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=O.create(S.VALUE);else if(!e.isArray())t=O.create(S.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=O.create(S.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}},Ud=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(s<=0||c<1)return O.create(S.NUM);c=Number.parseInt(`${c}`,10);let l=((s+1)**(1/c)-1)*c;return F.create(l)}},Wd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.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)?O.create(S.NUM):F.create(b)});return s===1&&c===1?m.get(0,0):m}},Gd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(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=id(+e.getValue(),r);return Number.isNaN(s)||Math.abs(s)===1/0?O.create(S.DIV_BY_ZERO):i===0&&a===0?F.create(s,zr(this.getLocale())):F.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=O.create(S.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:O.create(S.VALUE)};t.push(e)}}return{isError:!1,values:t}}},Kd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,8),b(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?F.create(0):c;l.isNull()&&(l=F.create(0));let{isError:u,errorObject:d,variants:f}=Co(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,C=A(p);if(typeof C!=`number`)return C;let w=A(m);if(typeof w!=`number`)return w;let ee=A(h);if(typeof ee!=`number`)return ee;let T=A(g);if(typeof T!=`number`)return T;let E=+_.getValue(),te=+v.getValue(),ne=+y.getValue(),re=Math.floor(+b.getValue()),D=Math.floor(+x.getValue());if(Number.isNaN(E)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(D))return O.create(S.VALUE);if(E<0||te<0||ne<=0||![1,2,4].includes(re)||D<0||D>4||!this._validDate(w,T,C,ee,re))return O.create(S.NUM);let ie=ad(C,w,ee,T,E,te,ne,re,D);return F.create(ie)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&ld(e,t,i)&&ud(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)}},qd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,8),b(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?F.create(0):c;l.isNull()&&(l=F.create(0));let{isError:u,errorObject:d,variants:f}=Co(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,C=A(p);if(typeof C!=`number`)return C;let w=A(m);if(typeof w!=`number`)return w;let ee=A(h);if(typeof ee!=`number`)return ee;let T=A(g);if(typeof T!=`number`)return T;let E=+_.getValue(),te=+v.getValue(),ne=+y.getValue(),re=Math.floor(+b.getValue()),D=Math.floor(+x.getValue());return Number.isNaN(E)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(D)?O.create(S.VALUE):E<0||te<=0||ne<=0||![1,2,4].includes(re)||D<0||D>4||!this._validDate(w,T,C,ee,re)?O.create(S.NUM):this._getResult(C,w,ee,T,E,te,ne,re,D)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&ld(e,t,i)&&ud(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}=we(e,t,c),u=(i*l*100-(a-100))/((a-100)*.25*(1+2*l)+l*100);function d(l){return a-ad(e,t,n,r,i,l,o,s,c)}let f=pd(u,e=>d(e));return typeof f==`number`?F.create(f):f}},Jd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,7),b(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=s==null?F.create(0):s;c.isNull()&&(c=F.create(0));let{isError:l,errorObject:u,variants:d}=Co(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=A(f);if(typeof b!=`number`)return b;let x=A(p);if(typeof x!=`number`)return x;let C=A(m);if(typeof C!=`number`)return C;let w=+h.getValue(),ee=+g.getValue(),T=+_.getValue(),E=Math.floor(+v.getValue()),te=Math.floor(+y.getValue());if(Number.isNaN(w)||Number.isNaN(ee)||Number.isNaN(T)||Number.isNaN(E)||Number.isNaN(te))return O.create(S.VALUE);if(w<0||ee<0||T<=0||![1,2,4].includes(E)||te<0||te>4||!this._validDate(x,b,C,E))return O.create(S.NUM);let ne=this._getResult(b,x,C,w,ee,T,E,te);return F.create(ne)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&ud(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=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return de(i)}_getFrac(e,t,n,r,i){let a=k(e),o=k(t),s=k(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=de(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=de(s);if(l>=t){let{days:n}=we(e,t,i);return n/Xu(c,l,r,i)}let{days:u}=we(e,l,i),d=u/Xu(c,l,r,i),f=k(l),p=k(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=de(f),l=de(p);let{days:m}=we(c,t,i),h=Xu(c,l,r,i);return d+=m/h,d}},Yd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,8),b(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s){let c=s==null?F.create(0):s;c.isNull()&&(c=F.create(0));let{isError:l,errorObject:u,variants:d}=Co(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=A(f);if(typeof b!=`number`)return b;let x=A(p);if(typeof x!=`number`)return x;let C=A(m);if(typeof C!=`number`)return C;let w=+h.getValue(),ee=+g.getValue(),T=+_.getValue(),E=Math.floor(+v.getValue()),te=Math.floor(+y.getValue());if(Number.isNaN(w)||Number.isNaN(ee)||Number.isNaN(T)||Number.isNaN(E)||Number.isNaN(te))return O.create(S.VALUE);if(w<0||ee<=0||T<=0||![1,2,4].includes(E)||te<0||te>4||!this._validDate(x,b,C,E))return O.create(S.NUM);let ne=this._getResult(b,x,C,w,ee,T,E,te);return F.create(ne)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&ud(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=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return de(i)}_getFrac(e,t,n,r,i){let a=k(e),o=k(t),s=k(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=de(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=de(s);if(l>=t){let{days:n}=we(e,t,i);return n/Xu(c,l,r,i)}let{days:u}=we(e,l,i),d=u/Xu(c,l,r,i),f=k(l),p=k(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=de(f),l=de(p);let{days:m}=we(c,t,i),h=Xu(c,l,r,i);return d+=m/h,d}},Xd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);let m=(Math.log(p)-Math.log(f))/Math.log(1+d);return Number.isNaN(m)||!Number.isFinite(m)?O.create(S.NUM):F.create(m)});return r===1&&i===1?c.get(0,0):c}},Zd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);let b=td(h,g,_,v,y?1:0);return Number.isNaN(b)||!Number.isFinite(b)?O.create(S.NUM):t===0&&n===0?F.create(b,zr(this.getLocale())):F.create(b)});return s===1&&c===1?m.get(0,0):m}},Qd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,6),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?F.create(0):i,s=a==null?F.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,n,O.create(S.NA)),p=z(c,l,r,O.create(S.NA)),m=z(c,l,o,O.create(S.NA)),h=z(c,l,s,O.create(S.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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(),C=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y)||v-y>=1)return O.create(S.NUM);let w=td(_,y,b,x,C?1:0)-rd(_,v,y,b,x,C?1:0);return Number.isNaN(w)||!Number.isFinite(w)?O.create(S.NUM):t===0&&n===0?F.create(w,zr(this.getLocale())):F.create(w)});return c===1&&l===1?g.get(0,0):g}},$d=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?F.create(0):o;s.isNull()&&(s=F.create(0));let{isError:c,errorObject:l,variants:u}=Co(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=A(d);if(typeof v!=`number`)return v;let y=A(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),C=+h.getValue(),w=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(C)||Number.isNaN(w)||Number.isNaN(ee))return O.create(S.VALUE);if(b<0||x<0||C<=0||![1,2,4].includes(w)||ee<0||ee>4||v>=y||!ud(v,y,w))return O.create(S.NUM);let T=hd(v,y,b,x,C,w,ee);return F.create(T)}},ef=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?F.create(0):i;a.isNull()&&(a=F.create(0));let{isError:o,errorObject:s,variants:c}=Co(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=A(l);if(typeof m!=`number`)return m;let h=A(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 O.create(S.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return O.create(S.NUM);let{days:y,yearDays:b}=we(m,h,v),x=_-g*_*y/b;return F.create(x)}},tf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(d);if(typeof _!=`number`)return _;let v=A(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 O.create(S.VALUE);let C=this._getDateCorrectOrder(_,g,v);if(y<0||b<0||x<0||x>4||!C)return O.create(S.NUM);let w=Pe(g,x),{days:ee}=we(g,_,x),{days:T}=we(v,_,x),{days:E}=we(v,g,x),te=(100+T/w*y*100)/(1+ee/w*b)-E/w*y*100;return F.create(te)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}},nf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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)?O.create(S.NUM):t===0&&n===0?F.create(b,zr(this.getLocale())):F.create(b)});return s===1&&c===1?m.get(0,0):m}},rf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?F.create(0):r,s=i==null?F.create(0):i,c=a==null?F.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=z(l,u,e,O.create(S.NA)),f=z(l,u,t,O.create(S.NA)),p=z(l,u,n,O.create(S.NA)),m=z(l,u,o,O.create(S.NA)),h=z(l,u,s,O.create(S.NA)),g=z(l,u,c,O.create(S.NA)),_=d.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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(),C=+d.getValue();return x=x?1:0,_<=0||v>=0&&y>=0&&b>=0||v<=0&&y<=0&&b<=0?O.create(S.NUM):this._getResult(_,v,y,b,x,C,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 O.create(S.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?O.create(S.NUM):F.create(l,o===0&&s===0?`0%`:void 0)}_computeSimpleGrowthRate(e,t,n,r,i){if(Math.sign(t)===Math.sign(n))return O.create(S.NUM);let a=(n/-t)**(1/e)-1;return F.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)}},af=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?F.create(0):i;a.isNull()&&(a=F.create(0));let{isError:o,errorObject:s,variants:c}=Co(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=A(l);if(typeof m!=`number`)return m;let h=A(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 O.create(S.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return O.create(S.NUM);let{days:y,yearDays:b}=we(m,h,v),x=g/(1-_*y/b);return x<0?O.create(S.NUM):F.create(x)}},of=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);if(f===0&&p===0)return F.create(0);let m=(p/f)**(1/d)-1;return Number.isNaN(m)||!Number.isFinite(m)||p/f<0?O.create(S.NUM):F.create(m)});return r===1&&i===1?c.get(0,0):c}},sf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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 O.create(S.VALUE);if(l===0)return O.create(S.DIV_BY_ZERO);let u=(a-c)/l;return t===0&&n===0?F.create(u,zr(this.getLocale())):F.create(u)});return r===1&&i===1?c.get(0,0):c}},cf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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 O.create(S.VALUE);if(u<0||d<=0||f>d)return O.create(S.NUM);let p=(o-u)*(d-f+1)*2/(d*(d+1));return t===0&&n===0?F.create(p,zr(this.getLocale())):F.create(p)});return i===1&&a===1?u.get(0,0):u}},lf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Co(e,t,n);if(r)return i;let[o,s,c]=a,l=A(o);if(typeof l!=`number`)return l;let u=A(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return O.create(S.VALUE);if(d<=0||l>=u)return O.create(S.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Ne(k(l).getUTCFullYear()))return O.create(S.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 O.create(S.NUM)}return p<0?O.create(S.NUM):F.create(p)}},uf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(this,`needsLocale`,!0)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Co(e,t,n);if(r)return i;let[o,s,c]=a,l=A(o);if(typeof l!=`number`)return l;let u=A(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return O.create(S.VALUE);if(d<=0||l>=u)return O.create(S.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Ne(k(l).getUTCFullYear()))return O.create(S.NUM);let p=100*(1-d*f/360);return p<0?O.create(S.NUM):F.create(p,zr(this.getLocale()))}},df=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Co(e,t,n);if(r)return i;let[o,s,c]=a,l=A(o);if(typeof l!=`number`)return l;let u=A(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return O.create(S.VALUE);if(d<=0||l>=u)return O.create(S.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Ne(k(l).getUTCFullYear()))return O.create(S.NUM);let p=(100-d)/d*360/f;return F.create(p)}},ff=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,7),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a,o){let s=a==null?F.create(2):a;s.isNull()&&(s=F.create(2));let c=o==null?P.create(!1):o;c.isNull()&&(c=P.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=z(l,u,e,O.create(S.NA)),f=z(l,u,t,O.create(S.NA)),p=z(l,u,n,O.create(S.NA)),m=z(l,u,r,O.create(S.NA)),h=z(l,u,i,O.create(S.NA)),g=z(l,u,s,O.create(S.NA)),_=z(l,u,c,O.create(S.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}=J(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(),C=+h.getValue(),w=+g.getValue(),ee=+_.getValue(),T=+v.getValue();if(y<0||b<0||x<0||C<0||w<0||w>x||C>w||ee<0)return O.create(S.NUM);if(x===0&&C===0&&w===0)return O.create(S.DIV_BY_ZERO);let E=this._getResult(y,b,x,C,w,ee,T);return s===0&&c===0?F.create(E,zr(this.getLocale())):F.create(E)});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=gd(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=gd(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}},pf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:r,errorObejct:i,_values:a,_dates:o}=this._checkErrors(e,t);if(r)return i;let s=n==null?F.create(.1):n;s.isNull()&&(s=F.create(.1));let{isError:c,errorObject:l,variants:u}=q(s);if(c)return l;let[d]=u,f=+d.getValue();if(Number.isNaN(f))return O.create(S.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 O.create(S.NUM);let h=pd(f,e=>this._iterF(a,o,e));return typeof h==`number`?F.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=O.create(S.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isBoolean())return n=!0,r=O.create(S.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=O.create(S.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:O.create(S.NA)}:{isError:n,_values:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!(0,c.isRealNum)(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:{isError:!0,errorObejct:O.create(S.NA)}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=O.create(S.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=O.create(S.VALUE),!1;let i=+e.getValue();if(Number.isNaN(i))return n=!0,r=O.create(S.VALUE),!1;if(i<0)return n=!0,r=O.create(S.NUM),!1;t.push(Math.floor(i))}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:O.create(S.NA)}:{isError:n,_dates:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!(0,c.isRealNum)(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:+t<0?{isError:!0,errorObejct:O.create(S.NUM)}:{isError:!0,errorObejct:O.create(S.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)}},mf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull()||n.isNull())return O.create(S.NA);let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=+o.getValue();if(Number.isNaN(s))return O.create(S.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 O.create(S.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 F.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=O.create(S.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=O.create(S.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=O.create(S.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:O.create(S.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:{isError:!1,_values:[t]}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=O.create(S.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=O.create(S.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=O.create(S.VALUE),!1;if(a<0)return n=!0,r=O.create(S.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:O.create(S.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:+t<0?{isError:!0,errorObejct:O.create(S.NUM)}:{isError:!1,_dates:[Math.floor(t)]}}}},hf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?F.create(0):o;s.isNull()&&(s=F.create(0));let{isError:c,errorObject:l,variants:u}=Co(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=A(d);if(typeof v!=`number`)return v;let y=A(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),C=+h.getValue(),w=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(C)||Number.isNaN(w)||Number.isNaN(ee))return O.create(S.VALUE);if(b<0||x<=0||C<=0||![1,2,4].includes(w)||ee<0||ee>4||v>=y||!ud(v,y,w))return O.create(S.NUM);let T=this._getResult(v,y,b,x,C,w,ee);return F.create(T)}_getResult(e,t,n,r,i,a,o){if(Qu(e,t,a)>1){let s=n||.01,c=hd(e,t,n,s,i,a,o),l=c-r;for(let u=0;u<100&&Math.abs(l)>1e-7;u++)c=hd(e,t,n,1.01*s,i,a,o),s+=-l/(c-r-l)*s*.01,l=hd(e,t,n,s,i,a,o)-r;return s}let s=Yu(e,t,a,o),c=Xu(e,t,a,o),{days:l}=we(e,t,o),u=r/100+s/c*n/a;return(i/100+n/a-u)/u*a*c/l}},gf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?F.create(0):i;a.isNull()&&(a=F.create(0));let{isError:o,errorObject:s,variants:c}=Co(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=A(l);if(typeof m!=`number`)return m;let h=A(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 O.create(S.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return O.create(S.NUM);let{days:y,yearDays:b}=we(m,h,v),x=(_/g-1)/(y/b);return F.create(x)}},_f=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(d);if(typeof _!=`number`)return _;let v=A(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 O.create(S.VALUE);let C=this._getDateCorrectOrder(_,g,v);if(y<0||b<=0||x<0||x>4||!C)return O.create(S.NUM);let w=Pe(g,x),{days:ee}=we(g,_,x),{days:T}=we(v,_,x),{days:E}=we(v,g,x),te=((1+T/w*y)/(b/100+E/w*y)-1)/(ee/w);return F.create(te)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}};const vf=[[_d,H.ACCRINT],[vd,H.ACCRINTM],[yd,H.AMORLINC],[bd,H.COUPDAYBS],[xd,H.COUPDAYS],[Sd,H.COUPDAYSNC],[Cd,H.COUPNCD],[wd,H.COUPNUM],[Td,H.COUPPCD],[Ed,H.CUMIPMT],[Dd,H.CUMPRINC],[Od,H.DB],[kd,H.DDB],[Ad,H.DISC],[jd,H.DOLLARDE],[Md,H.DOLLARFR],[Nd,H.DURATION],[Pd,H.EFFECT],[Fd,H.FV],[Id,H.FVSCHEDULE],[Ld,H.INTRATE],[Rd,H.IPMT],[zd,H.IRR],[Bd,H.ISPMT],[Vd,H.MDURATION],[Hd,H.MIRR],[Ud,H.NOMINAL],[Wd,H.NPER],[Gd,H.NPV],[Kd,H.ODDFPRICE],[qd,H.ODDFYIELD],[Jd,H.ODDLPRICE],[Yd,H.ODDLYIELD],[Xd,H.PDURATION],[Zd,H.PMT],[Qd,H.PPMT],[$d,H.PRICE],[ef,H.PRICEDISC],[tf,H.PRICEMAT],[nf,H.PV],[rf,H.RATE],[af,H.RECEIVED],[of,H.RRI],[sf,H.SLN],[cf,H.SYD],[lf,H.TBILLEQ],[uf,H.TBILLPRICE],[df,H.TBILLYIELD],[ff,H.VDB],[pf,H.XIRR],[mf,H.XNPV],[hf,H.YIELD],[gf,H.YIELDDISC],[_f,H.YIELDMAT]];var yf=class extends Y{constructor(...e){super(...e),b(this,`needsReferenceObject`,!0),b(this,`minParams`,2),b(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 O.create(S.NA);let{columnData:i,defaultColumnWidth:a}=r.getCurrentActiveSheetData();r=r.toArrayValueObject();let o=r.getCurrentRow(),s=r.getCurrentColumn();r=r.getFirstCell();let l=`${e.getValue()}`,u;switch(l.toLocaleLowerCase()){case`address`:return I.create(`$${c.Tools.chatAtABC(s)}$${o+1}`);case`col`:return F.create(s+1);case`color`:return F.create(0);case`contents`:return r;case`filename`:return O.create(S.VALUE);case`format`:return I.create(`G`);case`parentheses`:return F.create(0);case`prefix`:return I.create(``);case`protect`:return F.create(1);case`row`:return F.create(o+1);case`type`:return u=`v`,r.isNull()&&(u=`b`),r.isString()&&(u=`l`),I.create(u);case`width`:return this._getWidthResult(i,a,s,n);default:return O.create(S.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 F.create(a);let o=[[a,a===t]];return R.createByArray(o)}},bf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`_errorTypeValueMap`,new Map([[S.NULL,1],[S.DIV_BY_ZERO,2],[S.VALUE,3],[S.REF,4],[S.NAME,5],[S.NUM,6],[S.NA,7],[S.CONNECT,8],[S.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?F.create(n):O.create(S.NA)}},xf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=So(e,t,n,r==null?P.create(!0):r,i==null?P.create(!0):i);if(a)return o;let[c,l,u,d,f]=s;if(d.isString()||f.isString())return O.create(S.VALUE);if(l.compare(u,`>`).getValue()===!0)return O.create(S.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?P.create(!1):P.create(!0)}},Sf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isNull()?P.create(!0):e.isArray()?e.mapValue(e=>e.isNull()?P.create(!0):P.create(!1)):P.create(!1)}},Cf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==``?P.create(_e(t.getPattern())):t.isString()&&(he(`${t.getValue()}`)||ge(`${t.getValue()}`))?P.create(!0):P.create(!1)}},wf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return P.create(!1);let n=`${t.getValue()}`;if(n.length>254)return P.create(!1);let r=c.Tools.topLevelDomainCombiningString(),i=RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})$`,`i`);return P.create(i.test(n))}},Tf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.getValue()===S.NA?P.create(!1):e.isError()?P.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===S.NA?P.create(!1):e.isError()?P.create(!0):P.create(!1)):P.create(!1)}},Ef=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isError()?P.create(!0):e.isArray()?e.mapValue(e=>e.isError()?P.create(!0):P.create(!1)):P.create(!1)}},Df=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return O.create(S.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return O.create(S.VALUE);let r=n%2==0;return P.create(r)}},Of=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0)}calculate(e){var t;if(e.isError())return e;if(!e.isReferenceObject())return O.create(S.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?P.create(!0):P.create(!1)});return a.getRowCount()===1&&a.getColumnCount()===1?o.get(0,0):o}},kf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isBoolean()?P.create(!0):e.isArray()?e.mapValue(e=>e.isBoolean()?P.create(!0):P.create(!1)):P.create(!1)}},Af=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.getValue()===S.NA?P.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===S.NA?P.create(!0):P.create(!1)):P.create(!1)}},jf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return!e.isArray()&&!e.isString()?P.create(!0):e.isArray()?e.mapValue(e=>e.isString()?P.create(!1):P.create(!0)):P.create(!1)}},Mf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isNumber()?P.create(!0):e.isArray()?e.mapValue(e=>e.isNumber()?P.create(!0):P.create(!1)):P.create(!1)}},Nf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return O.create(S.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return O.create(S.VALUE);let r=n%2!=0;return P.create(r)}},Pf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?P.create(!0):P.create(!1)}},Ff=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isString()?P.create(!0):e.isArray()?e.mapValue(e=>e.isString()?P.create(!0):P.create(!1)):P.create(!1)}},If=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return P.create(!1);let n=`${t.getValue()}`.replace(/^\s+|\s+$/g,``);if(n.length>1e3)return P.create(!1);let r=c.Tools.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 P.create(i.test(n))}},Lf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return F.create(0);let n=+t.getValue();return F.create(n)}},Rf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return O.create(S.NA)}},zf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0),b(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 F.create(e+1)}if(e.isReferenceObject()){let t=e.getForcedSheetId(),r=e.getDefaultSheetId(),i=n.findIndex(e=>t?e===t:e===r);return F.create(i+1)}if(e.isArray())return O.create(S.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 O.create(S.NA);let o=n.findIndex(e=>e===a);return F.create(o+1)}},Bf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0),b(this,`needsSheetsInfo`,!0)}calculate(){let{sheetOrder:e}=this.getSheetsInfo();return F.create(e.length)}},Vf=class extends Y{constructor(...e){super(...e),b(this,`needsReferenceObject`,!0),b(this,`minParams`,1),b(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 F.create(16);if(t.isBoolean())return F.create(4);if(t.isString())return F.create(2);if(t.isNumber()||t.isNull())return F.create(1)}else return F.create(64)}else{if(e.isArray())return F.create(64);if(e.isError())return F.create(16);if(e.isBoolean())return F.create(4);if(e.isString())return F.create(2);if(e.isNumber()||e.isNull())return F.create(1)}return F.create(128)}};const Hf=[[yf,aa.CELL],[bf,aa.ERROR_TYPE],[xf,aa.ISBETWEEN],[Sf,aa.ISBLANK],[Cf,aa.ISDATE],[wf,aa.ISEMAIL],[Tf,aa.ISERR],[Ef,aa.ISERROR],[Df,aa.ISEVEN],[Of,aa.ISFORMULA],[kf,aa.ISLOGICAL],[Af,aa.ISNA],[jf,aa.ISNONTEXT],[Mf,aa.ISNUMBER],[Nf,aa.ISODD],[Pf,aa.ISREF],[Ff,aa.ISTEXT],[If,aa.ISURL],[Lf,aa.N],[Rf,aa.NA],[zf,aa.SHEET],[Bf,aa.SHEETS],[Vf,aa.TYPE]];var Uf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.VALUE):P.create(t)}},Wf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(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 O.create(S.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=z(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=R.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 O.create(S.CALC);c=c.get(0,0)}c.isNull()&&(c=F.create(0)),s[0].push(c)}return o===1?s[0][0]:R.create({calculateValueList:s,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Gf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(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 O.create(S.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=z(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=R.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 O.create(S.CALC);c=c.get(0,0)}c.isNull()&&(c=F.create(0)),s.push([c])}return a===1?s[0][0]:R.create({calculateValueList:s,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Kf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return P.create(!1)}},qf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n=P.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=z(i,a,r,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.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}},Jf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&i.set(t,n,a.get(t,n))}),i}},Yf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==S.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===S.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=z(n,r,e),a=z(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&e.getErrorType()===S.NA&&i.set(t,n,a.get(t,n))}),i}},Xf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255)}calculate(...e){if(e.length%2!=0)return O.create(S.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=>z(t,n,e,O.create(S.NA))),i=r[0].map((e,t,n)=>{for(let e=0;e<r.length;e+=2){let i=r[e].get(t,n)||N.create(),a=r[e+1].get(t,n)||N.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 O.create(S.VALUE)}if(+o)return a.isNull()?O.create(S.NA):a}return O.create(S.NA)});return t===1&&n===1?i.get(0,0):i}},Zf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){return O.create(S.VALUE)}},Qf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255)}calculate(...e){return O.create(S.VALUE)}},$f=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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 O.create(S.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(F.create(e+1),F.create(t+1));n.isArray()&&(n=n.get(0,0)),i[e][t]=n}}return new Ti(i)}isAsync(){return!0}},ep=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(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 O.create(S.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 O?a:r===1&&i===1?a[0][0]:R.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(O.create(S.NA)),o=!0;break}let l=s.get(a,i);if(!l){n.push(O.create(S.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 O.create(S.CALC);s=s.get(0,0)}s.isNull()&&(s=F.create(0)),n.push(s)}i.push(n)}return i}},tp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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)?O.create(S.VALUE):P.create(!t)}},np=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O(S.VALUE):new P(t)}},rp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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 O.create(S.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=F.create(0)),c=o}return c.isReferenceObject()?c.toArrayValueObject():c}},ip=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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 O.create(S.VALUE);if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return O.create(S.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 O.create(S.CALC);s=s.get(0,0)}s.isNull()&&(s=F.create(0)),c=s,r.push(s)}a.push(r)}return o===1&&s===1?a[0][0]:R.create({calculateValueList:a,rowCount:o,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},ap=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3)}calculate(e,...t){if(e.isError())return e;let n=t.length%2!=0,r=n?t[t.length-1]:N.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()?O.create(S.NA):i}}return n.isNull()?O.create(S.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=z(i,a,e),s=t.map(e=>z(i,a,e,O.create(S.NA))),c=z(i,a,n,O.create(S.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)||N.create(),a=s[i+1].get(t,n)||N.create();if(!r.isNull()){if(r.isError()||e.isError())return r.isError()?r:e;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return a.isNull()?O.create(S.NA):a}}let i=c.get(t,n)||N.create();return i.isNull()?O.create(S.NA):i})}},op=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return P.create(!0)}},sp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.VALUE):P.create(t%2==1)}};const cp=[[Uf,oa.AND],[Wf,oa.BYCOL],[Gf,oa.BYROW],[Kf,oa.FALSE],[qf,oa.IF],[Jf,oa.IFERROR],[Yf,oa.IFNA],[Xf,oa.IFS],[Zf,oa.LAMBDA],[Qf,oa.LET],[$f,oa.MAKEARRAY],[ep,oa.MAP],[tp,oa.NOT],[np,oa.OR],[rp,oa.REDUCE],[ip,oa.SCAN],[ap,oa.SWITCH],[op,oa.TRUE],[sp,oa.XOR]];var lp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.create(1):n,o=r==null?P.create(!0):r,s=i==null?I.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,a,O.create(S.NA)),p=z(c,l,o,O.create(S.NA)),m=z(c,l,s,O.create(S.NA));return u.map((e,t,n)=>{let r=d.get(t,n)||O.create(S.NA),i=f.get(t,n)||O.create(S.NA),a=p.get(t,n)||O.create(S.NA),o=m.get(t,n)||O.create(S.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 O.create(S.VALUE);let c=up(s),l=this.getZeroOrOneByOneDefault(r),u=dn(`${i.getValue()}`),d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:c,endAbsoluteRefType:c},f=r&&!l?yo(d):Zt(d);return I.create(u===``?f:`${u}!${f}`)}};function up(e){switch(e){case 1:return c.AbsoluteRefType.ALL;case 2:return c.AbsoluteRefType.ROW;case 3:return c.AbsoluteRefType.COLUMN;case 4:return c.AbsoluteRefType.NONE;default:return c.AbsoluteRefType.ALL}}var dp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?F.create(1):O.create(S.VALUE)}},fp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(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]||O.create(S.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=z(r,i,n,O.create(S.NA)),o=t.map(e=>{let t=e;return t.isReferenceObject()&&(t=t.toArrayValueObject()),z(r,i,t,O.create(S.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))||O.create(S.VALUE);return a!=null&&a.isNull()&&(a=F.create(0)),a})}},pp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.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 R.create({calculateValueList:i,rowCount:i.length,columnCount:i[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},mp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.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 R.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},hp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,1)}calculate(e){if(e==null)return F.create(this.column+1);if(e.isError())return e;if(!e.isArray())return O.create(S.NA);let t=e.getCurrentColumn(),n=e.getColumnCount(),r=[];for(let e=0;e<n;e++)r.push(F.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 R.create(i)}},gp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return F.create(1);if(!e.isArray())return O.create(S.NA);let t=e.getColumnCount();return F.create(t)}},_p=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(o,s,t,O.create(S.NA)),l=z(o,s,r,O.create(S.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 O.create(S.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,i,a);return s?c:e.isArray()?O.create(S.VALUE):e});if(e.isError())return e;if(e.isNull())return O.create(S.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:O.create(S.VALUE)}:Math.abs(i)>=n||Math.abs(a)>=r?{isError:!0,errorObject:O.create(S.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()?F.create(0):e),r-t===1&&i-n===1?s.get(0,0):s}},vp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.create(a):n,c=r==null?O.create(S.NA):r;t.isNull()&&(o=F.create(i)),s.isNull()&&(s=F.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=z(l,u,o,O.create(S.NA)),f=z(l,u,s,O.create(S.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 O.create(S.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 O.create(S.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:O.create(S.VALUE)};let s=n;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:O.create(S.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()?F.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]:R.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},yp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?O.create(S.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?O.create(S.VALUE):i===1&&a===1?this._getResultArrayByR1C1(e,t,r):o===1?s===a?this._getResultArrayByR1(i,a,e,t,r):O.create(S.VALUE):s===1?o===i?this._getResultArrayByC1(i,a,e,t,r):O.create(S.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:R.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:R.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},bp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0),b(this,`needsFormulaDataModel`,!0)}calculate(e){var t;if(!e.isReferenceObject())return O.create(S.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 I.create(e)}return O.create(S.NA)});return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}},xp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return O.create(S.REF);if(!t.isArray()||n.isError()||r!=null&&r.isError())return O.create(S.NA);let i=this.getZeroOrOneByOneDefault(r);if(i==null)return O.create(S.VALUE);let a=this.getIndexNumValue(n);if(a instanceof O)return a;let o=t.slice([0,1]),s=t.slice([a-1,a]);return o==null||s==null?O.create(S.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)}},Sp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(O.create(S.NA)):n[e].push(r)}}}return R.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Cp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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())),I.create(a,{isHyperlink:!0,hyperlinkUrl:i})}},wp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=z(a,o,e,O.create(S.NA)),c=t?z(a,o,t,O.create(S.NA)):void 0,l=n?z(a,o,n,O.create(S.NA)):void 0,u=r?z(a,o,r,O.create(S.NA)):void 0,d=i?z(a,o,i,O.create(S.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 O.create(S.VALUE);let a=e.getValue(),o=``;t&&(t.isBoolean()?o=t.getValue()?`TRUE`:`FALSE`:t.isNull()||(o=`${t.getValue()}`));let s=n==null?F.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 O.create(S.VALUE);let l=r==null?F.create(0):r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=Math.ceil(+l.getValue()),d=i==null?F.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?O.create(S.VALUE):I.create(``,{isImage:!0,imageInfo:{source:a,altText:o,sizing:c,height:u,width:f}})}},Tp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,4),b(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?F.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=z(c,l,a,O.create(S.NA)),n=o?z(c,l,o,O.create(S.NA)):[],r=z(c,l,s,O.create(S.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}=J(t,n,r);if(e)return i;a=c[0],o=c[1],s=c[2]}else{let{isError:e,errorObject:n,variants:i}=J(t,r);if(e)return n;a=i[0],s=i[1]}let c=Math.floor(+s.getValue());if(c<0)return O.create(S.VALUE);if(c>i.length)return O.create(S.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 O.create(S.VALUE);if(u>l.rowCount||d>l.columnCount)return O.create(S.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 O.create(S.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)}},Ep=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(()=>O.create(S.VALUE));r=e.getFirstCell()}return this._handleSingleObject(r,n)}_handleSingleObject(e,t){let n=`${e.getValue()}`;if(n.trim()===``)return O.create(S.REF);let r=this._convertToDefinedName(n);if(t===0){let{range:e,sheetName:t,unitId:n}=vo(r),i=new Ei(e);return i.setForcedUnitIdDirect(n),i.setForcedSheetName(t),this._setDefault(i)}if(Et(r))return this._setDefault(new Di(r));if(Ot(r))return this._setDefault(new ki(r));if(kt(r))return this._setDefault(new Oi(r));let{range:i,sheetName:a,unitId:o}=$n(r);if(Number.isNaN(i.startRow)||i.endRow+1>c.MAX_ROW_COUNT||Number.isNaN(i.startColumn)||i.endColumn+1>c.MAX_COLUMN_COUNT)return O.create(S.REF);let s=new Ei(i);return s.setForcedUnitIdDirect(o),s.setForcedSheetName(a),this._setDefault(s)}_setDefault(e){return this.unitId==null||this.subUnitId==null?O.create(S.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(T.EQUALS)?n.slice(1):n}},Dp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(this,`needsExpandParams`,!0)}calculate(e,t,n){return e.isError()?e:t.isError()?O.create(S.REF):t.isArray()?n!=null&&n.isError()?n:t.getColumnCount()===1||t.getRowCount()===1?n!=null&&!n.isArray()?O.create(S.REF):this._handleVector(e,t,n):this._handleArray(e,t):O.create(S.VALUE)}_handleVector(e,t,n){let r=n;if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return O.create(S.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?O.create(S.VALUE):e.isArray()?e.map(e=>this.binarySearch(e,i,a)):this.binarySearch(e,i,a)}},Op=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return O.create(S.REF);if(!t.isArray())return O.create(S.VALUE);let r=t.getRowCount(),i=t.getColumnCount();if(r!==1&&i!==1||n!=null&&n.isError())return O.create(S.NA);let a=this.getMatchTypeValue(n);return a==null?O.create(S.VALUE):e.isArray()?e.map(e=>this._handleSingleObject(e,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,n){let r=e.isNull()?F.create(0):e,i=this._getSearchModeValue(n),a=t.orderSearch(r,i);if(a==null)return O.create(S.NA);if(a instanceof O)return a;let o=t.getRowCount()===1?a.column+1:a.row+1;return F.create(o)}_getSearchModeValue(e){switch(e){case 1:return wr.MIN;case 0:return wr.NORMAL;case-1:return wr.MAX}}},kp=class extends Ci{constructor(e,t=[]){super(e),b(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 Ai([],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]=N.create()}}}return Ai(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}}},Ap=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(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 O.create(S.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?F.create(a):r;l.isReferenceObject()&&(l=l.toArrayValueObject()),l.isNull()&&(l=F.create(a));let u=i==null?F.create(o):i;u.isReferenceObject()&&(u=u.toArrayValueObject()),u.isNull()&&(u=F.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=z(d,f,s,O.create(S.NA)),m=z(d,f,c,O.create(S.NA)),h=z(d,f,l,O.create(S.NA)),g=z(d,f,u,O.create(S.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]=O.create(S.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 kp(``,_)}_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 l=n;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+s.getValue(),d=+l.getValue();if(typeof u!=`number`||typeof d!=`number`)return O.create(S.VALUE);let f=a+u,p=o+d;if(f<0||p<0||f>=c.MAX_ROW_COUNT||p>=c.MAX_COLUMN_COUNT)return O.create(S.REF);let m=this.getIndexNumValue(r),h=this.getIndexNumValue(i);if(typeof m!=`number`||typeof h!=`number`)return O.create(S.VALUE);if(m===0||h===0)return O.create(S.REF);let g=m>0?f+m-1:f+m+1,_=h>0?p+h-1:p+h+1;if(g<0||_<0||g>=c.MAX_ROW_COUNT||_>=c.MAX_COLUMN_COUNT)return O.create(S.REF);let v={startRow:f<g?f:g,startColumn:p<_?p:_,endRow:f>g?f:g,endColumn:p>_?p:_};return this.createReferenceObject(e,v)}},jp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,1)}calculate(e){if(e==null)return F.create(this.row+1);if(e.isError())return e;if(!e.isArray())return O.create(S.NA);let t=e.getCurrentRow(),n=e.getRowCount(),r=[];for(let e=0;e<n;e++)r.push([F.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 R.create(i)}},Mp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return F.create(1);if(!e.isArray())return O.create(S.NA);let t=e.getRowCount();return F.create(t)}},Np=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let i=t==null?F.create(1):t,a=n==null?F.create(1):n,o=r==null?P.create(!1):r;if(i.isNull()&&(i=F.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 O.create(S.VALUE);let c=this._checkArrayError(n);if(c.isError())return c;let l=Math.floor(+c.getValue());if(l!==-1&&l!==1)return O.create(S.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 O.create(S.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 O.create(S.VALUE);let r=e.transpose().getArrayValue();return r.sort(this._sort(t-1,n)),R.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 O.create(S.VALUE);let r=e.getArrayValue();return r.sort(this._sort(t-1,n)),R.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=Tr();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)}}},Pp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255)}calculate(e,...t){t.length===1&&t.push(F.create(1));let n=this._getVariantsError(e,...t),{maxRowLength:r,maxColumnLength:i}=Li(t);if(n.isError()){let e=z(r,i,n);return r===1&&i===1?e.get(0,0):e}let a=t.map((e,t)=>t%2==0?e:z(r,i,e,O.create(S.NA))),o=this._getResultArray(e,a,r,i);return r===1&&i===1?o[0][0]:R.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 O.create(S.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 O.create(S.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 O.create(S.VALUE)}return P.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=R.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=O.create(S.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=Tr();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)}},Fp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.create(i):n;t.isNull()&&(a=F.create(r)),o.isNull()&&(o=F.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=z(s,c,a,O.create(S.NA)),u=z(s,c,o,O.create(S.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 O.create(S.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,r,i);return s?c:e.isArray()?O.create(S.VALUE):e});if(e.isError())return e;if(e.isNull())return O.create(S.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:O.create(S.VALUE)}:Math.abs(i)===0||Math.abs(a)===0?{isError:!0,errorObject:O.create(S.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()?F.create(0):e),t===1&&n===1?s.get(0,0):s}},Ip=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(0):t,i=n==null?P.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=z(a,o,r,O.create(S.NA)),c=z(a,o,i,O.create(S.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(e.isNull())return O.create(S.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 O.create(S.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?O.create(S.CALC):a>1||o>1||u.length===1?u[0]:R.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()?F.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()?F.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}}},Lp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(0):t,i=n==null?P.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=z(a,o,r,O.create(S.NA)),c=z(a,o,i,O.create(S.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 O.create(S.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?O.create(S.CALC):a>1||o>1||u.length===1?u[0]:R.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()?F.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()?F.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}}},Rp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}},zp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?P.create(!1):t,i=n==null?P.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=z(s,c,r,O.create(S.NA)),u=z(s,c,i,O.create(S.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?O.create(S.CALC):(t&&(a=this._transposeArray(a)),R.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()&&(0,c.isRealNum)(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}},Bp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return O.create(S.VALUE);if(n.isError())return n;if(r!=null&&r.isError())return r;let i=r==null?P.create(!0):r;return Fi(e)&&Fi(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 O.create(S.VALUE);let o,s=[];return n.iterator((e,n,r)=>{if(e==null)return o=O.create(S.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||Ai(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=z(i,a,e),s=z(i,a,r);return o.map((e,r,i)=>{if(e.isError())return e;let a=s.get(r,i);if(a==null)return O.create(S.VALUE);if(a.isError())return a;let o=this.getZeroOrOneByOneDefault(a);return o==null?O.create(S.VALUE):this._handleTableArray(e,t,n,o)})}_handleTableArray(e,t,n,r){let i=this.getIndexNumValue(n);if(i instanceof O)return i;if(i=Math.floor(i),i<1)return O.create(S.VALUE);let a=t.slice(void 0,[0,1]);if(a==null)return O.create(S.VALUE);let o=t.slice(void 0,[i-1,i]);return o==null?O.create(S.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)}},Vp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(O.create(S.NA)):r.push(t)}n.push(r)}}return R.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Hp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?O.create(S.NA):n;r.isNull()&&(r=O.create(S.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=z(o,s,t,O.create(S.NA)),l=z(o,s,r,O.create(S.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return O.create(S.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return O.create(S.VALUE);if(u<1)return O.create(S.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]:R.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()?F.create(0):e[o]):a[r].push(n)}return a}},Up=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?O.create(S.NA):n;r.isNull()&&(r=O.create(S.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=z(o,s,t,O.create(S.NA)),l=z(o,s,r,O.create(S.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return O.create(S.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return O.create(S.VALUE);if(u<1)return O.create(S.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]:R.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()?F.create(0):e[o]):r.push(n)}a.push(r)}return a}},Wp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?O.create(S.NA):r;r!=null&&r.isNull()&&(o=O.create(S.NA));let s=i==null?F.create(0):i;i!=null&&i.isNull()&&(s=F.create(0));let c=a==null?F.create(1):a;if(a!=null&&a.isNull()&&(c=F.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 O.create(S.VALUE);if(s.isError())return s;if(c.isError())return c;let p=this.getIndexNumValue(s);if(p instanceof O)return p;let m=this.getIndexNumValue(c);return m instanceof O?m:this._getResult(e,zi(t),zi(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?O.create(S.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?O.create(S.NA):m}_handleExpandObject(e,t,n,r,i,a=0){if((i===2||i===-2)&&r!==2){let o=Mr(i),s=jr(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?wr.MAX:wr.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=Mr(i),o=jr(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?wr.MAX:wr.MIN,i===-1):this.equalSearch(e,t,n,i!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?O.create(S.VALUE):null}},Gp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,4)}calculate(e,t,n,r){let i=F.create(0);n&&!n.isNull()&&(i=n);let a=F.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=z(o,s,e,O.create(S.NA)),l=z(o,s,i,O.create(S.NA)),u=z(o,s,a,O.create(S.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 O.create(S.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)?O.create(S.VALUE):this._getResult(e,t,c,l)}_getResult(e,t,n,r){let i=zi(t),a;if((r===2||r===-2)&&n!==2){let t=Mr(r),o=jr(n);a=i.binarySearch(e,t,o)}else if(n===2){let t=i.compare(e,E.EQUALS),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return O.create(S.NA);a=i.getRowCount()===1?n.column:n.row}else if(n===-1||n===1){let t=i.orderSearch(e,n===1?wr.MAX:wr.MIN,r===-1);if(t==null)return O.create(S.NA);if(t instanceof O)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 O.create(S.NA);a=i.getRowCount()===1?n.column:n.row}return a==null?O.create(S.NA):F.create(a+1)}};const Kp=[[lp,U.ADDRESS],[dp,U.AREAS],[fp,U.CHOOSE],[pp,U.CHOOSECOLS],[mp,U.CHOOSEROWS],[hp,U.COLUMN],[gp,U.COLUMNS],[_p,U.DROP],[vp,U.EXPAND],[yp,U.FILTER],[bp,U.FORMULATEXT],[xp,U.HLOOKUP],[Sp,U.HSTACK],[Cp,U.HYPERLINK],[wp,U.IMAGE],[Tp,U.INDEX],[Ep,U.INDIRECT],[Dp,U.LOOKUP],[Op,U.MATCH],[Ap,U.OFFSET],[jp,U.ROW],[Mp,U.ROWS],[Np,U.SORT],[Pp,U.SORTBY],[Fp,U.TAKE],[Ip,U.TOCOL],[Lp,U.TOROW],[Rp,U.TRANSPOSE],[zp,U.UNIQUE],[Bp,U.VLOOKUP],[Vp,U.VSTACK],[Hp,U.WRAPCOLS],[Up,U.WRAPROWS],[Wp,U.XLOOKUP],[Gp,U.XMATCH]];var qp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}},Jp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}},Yp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}},Xp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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:Zp(e)):Zp(t)}};function Zp(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return O.create(S.VALUE);t=Number(t);let n=Math.atan(1/t);return t<0&&(n+=Math.PI),Number.isNaN(n)?O.create(S.VALUE):F.create(n)}var Qp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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:$p(e)):$p(t)}};function $p(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return O.create(S.VALUE);if(t=Number(t),Math.abs(t)<=1)return O.create(S.NUM);let n=1/2*Math.log((t+1)/(t-1));return Number.isNaN(n)?O.create(S.VALUE):F.create(n)}const em={1:X.AVERAGE,2:X.COUNT,3:X.COUNTA,4:X.MAX,5:X.MIN,6:X.PRODUCT,7:X.STDEV_S,8:X.STDEV_P,9:X.SUM,10:X.VAR_S,11:X.VAR_P,12:X.MEDIAN,13:X.MODE_SNGL};var tm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0),b(this,`needsFilteredOutRows`,!0),b(this,`needsFormulaDataModel`,!0)}calculate(e,t,...n){let{isError:r,multiAreaRefs:i,normalRefs:a}=Zs(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=z(c,l,o,O.create(S.NA)),d=z(c,l,s,O.create(S.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?O.create(S.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 O.create(S.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 O.create(S.VALUE);let l=this._getAggregateOptions(c);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,l,n[0],n[1]):tc({type:em[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 O.create(S.VALUE);i=i.get(0,0)}let a=nc(n,t,this._formulaDataModel);if(!Array.isArray(a))return a;let o=+i.getValue();switch(e){case 14:return ic(a,o);case 15:return ac(a,o);case 16:return oc(a,o);case 17:return cc(a,o);case 18:return sc(a,o);case 19:return lc(a,o);default:return O.create(S.VALUE)}}},nm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 F.create(0);if(e.isBoolean()||e.isNumber())return O.create(S.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return O.create(S.VALUE);let n=t.startsWith(`-`);n&&(t=t.slice(1));let r=0;for(let e=0;e<t.length;e++){let n=es.get(t[e])||0,i=es.get(t[e+1])||0,a=es.get(t[e+2])||0,o=es.get(t[e+3])||0;if(!n||a>=i&&a>n||n===i&&n===a&&n===o||n===i/2)return O.create(S.VALUE);n<i?r-=n:r+=n}return F.create(n?-r:r)}},rm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}},im=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}},am=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}},om=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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))}},sm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}},cm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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 O.create(S.NUM);let l=o.toString(s);return l.length<c&&(l=Array(c-l.length+1).join(`0`)+l),I.create(l.toLocaleUpperCase())}},lm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);if(o===0||s===0)return F.create(0);let c=Qr(o/s,0)*s;return F.create(c)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}},um=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(1):t,i=n==null?F.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=z(a,o,e,O.create(S.NA)),c=z(a,o,r,O.create(S.NA)),l=z(a,o,i,O.create(S.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?F.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?Qr(Math.abs(e)/Math.abs(t),0):-Qr(Math.abs(e)/t,0))*t:(t<0?-Qr(e/Math.abs(t),0):Qr(e/t,0))*t,F.create(r)}},dm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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 F.create(0);let c=(s<0?-Qr(a/Math.abs(s),0):Qr(a/s,0))*s;return F.create(c)});return r===1&&i===1?s.get(0,0):s}},fm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=Io(o,s);return Number.isNaN(c)||!Number.isFinite(c)?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},pm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=Io(o+s-1,o-1);return Number.isNaN(c)||!Number.isFinite(c)?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},mm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}},hm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}},gm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):n===0?O.create(S.DIV_BY_ZERO):t.tan().getReciprocal()}},_m=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.DIV_BY_ZERO):t.tanh().getReciprocal()}},vm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):n===0?O.create(S.DIV_BY_ZERO):t.sin().getReciprocal()}},ym=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.DIV_BY_ZERO):!Number.isNaN(n)&&!Number.isFinite(Math.sinh(n))?F.create(0):t.sinh().getReciprocal()}},bm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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((0,c.isRealNum)(i)&&(+i<0||+i>=2**53||!Number.isInteger(+i))||i.toLocaleLowerCase()===`true`||i.toLocaleLowerCase()===`false`||o<2||o>36)return O.create(S.NUM);if(i.replace(/\s/g,``)===``)return F.create(0);if(!this._isValidCharForRadix(i,o))return O.create(S.NUM);let s=Number.parseInt(i,o);return Number.isNaN(s)?O.create(S.NUM):F.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}},xm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=n*(180/Math.PI);return Number.isNaN(r)?O.create(S.VALUE):F.create(r)}},Sm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=(n<0?-Qr(Math.abs(n)/2,0):Qr(n/2,0))*2;return Number.isNaN(r)?O.create(S.VALUE):r===0?F.create(0):F.create(r)}},Cm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}},wm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=Fo(Math.floor(+t.getValue()));return Number.isNaN(n)||!Number.isFinite(n)?O.create(S.NUM):F.create(n)}},Tm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return O.create(S.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=Fo(Math.floor(+t.getValue()),2);return Number.isNaN(n)||!Number.isFinite(n)?O.create(S.NUM):F.create(n)}},Em=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);if(o===0)return F.create(0);if(s===0)return O.create(S.DIV_BY_ZERO);let c=Zr(o/s,0)*s;return F.create(c)});return n===1&&r===1?o.get(0,0):o}},Dm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(1):t,i=n==null?F.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=z(a,o,e,O.create(S.NA)),c=z(a,o,r,O.create(S.NA)),l=z(a,o,i,O.create(S.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 F.create(0);let d;return d=o<0&&u!==0?(s<0?Zr(Math.abs(o)/Math.abs(s),0):-Zr(Math.abs(o)/s,0))*s:(s<0?-Zr(o/Math.abs(s),0):Zr(o/s,0))*s,F.create(d)});return a===1&&o===1?u.get(0,0):u}},Om=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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 F.create(0);let c=(s<0?-Zr(a/Math.abs(s),0):Zr(a/s,0))*s;return F.create(c)});return r===1&&i===1?s.get(0,0):s}},km=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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=Lo(t,o)}),e)return n}else{let{isError:e,errorObject:n,number:i}=this._handleSingleObject(r);if(e)return n;t=Lo(t,i)}}return F.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:O.create(S.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:O.create(S.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Am=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 F.create(n)}},jm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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=Ro(t,s),n=!1}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;t=Ro(t,a),n=!1}}return n?F.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?O.create(S.VALUE):F.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:O.create(S.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:O.create(S.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Mm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}},Nm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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 O.create(S.NUM);let c=Math.log(s);if(c===0)return O.create(S.DIV_BY_ZERO);let l=Math.log(a)/c;return F.create(l)});return r===1&&i===1?s.get(0,0):s}},Pm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}},Fm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.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 O.create(S.VALUE);let i=zo(r);return F.create(i)}},Im=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.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 O.create(S.VALUE);let i=Bo(r);return i===null?O.create(S.NUM):R.createByArray(i)}},Lm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);let o=this._getMatrix(e,n,r),s=this._getMatrix(t,i,a);if(o instanceof O)return o;if(s instanceof O)return s;let c=Uo(o,s);return R.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 O.create(S.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}return r}},Rm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},zm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return O.create(S.VALUE);if(a===0)return F.create(0);if(i>0&&a<0||i<0&&a>0)return O.create(S.NUM);let o=Xr(i/a,0)*a;return F.create(o)}},Bm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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=O.create(S.NUM),!1;n*=Fo(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 O.create(S.NUM);n*=Fo(a)}}let r=Fo(t)/n;return F.create(r)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:O.create(S.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:O.create(S.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Vm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.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 R.createByArray(r)}},Hm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=n<0?-Qr(Math.abs(n),0):Qr(n,0);return Number.isNaN(r)?O.create(S.VALUE):(Math.abs(r)%2==0&&(n<0?r--:r++),F.create(r))}},Um=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return F.create(Math.PI)}},Wm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},Gm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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?F.create(0):t}},Km=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return O.create(S.VALUE);if(c===0)return O.create(S.DIV_BY_ZERO);let l=Math.trunc(s/c);return F.create(l)}},qm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=n*(Math.PI/180);return Number.isNaN(r)?O.create(S.VALUE):F.create(r)}},Jm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return F.create(Math.random())}},Ym=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,5),b(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?F.create(1):e,o=t==null?F.create(1):t,s=n==null?F.create(0):n,c=r==null?F.create(1):r,l=i==null?F.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=z(a,o,e,O.create(S.NA)),c=z(a,o,t,O.create(S.NA)),l=z(a,o,n,O.create(S.NA)),u=z(a,o,r,O.create(S.NA)),d=z(a,o,i,O.create(S.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?O.create(S.VALUE):F.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 O.create(S.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?F.create(g[0][0]):R.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:O.create(S.CALC)};let s=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:O.create(S.VALUE)};if(a>s||o>c)return{errorObject:O.create(S.REF)};let l=+n.getValue(),u=+r.getValue(),d=+i.getValue();return l>u||d&&(!Number.isInteger(l)||!Number.isInteger(u))?{errorObject:O.create(S.VALUE)}:{rowsValue:a,columnsValue:o,minValue:l,maxValue:u,wholeNumberValue:d}}},Xm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return O.create(S.VALUE);if(i>a)return O.create(S.NUM);i=Math.ceil(i),a=Math.floor(a);let o=Math.floor(Math.random()*(a-i+1))+i;return F.create(o)}},Zm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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}=J(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 O.create(S.VALUE);let l=ns[c],u=l.length-1,d=``;for(;o>0;){u=this._binarySearch(o,0,u,l);let e=l[u];o-=e,d+=ts.get(e)}return I.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}},Qm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},$m=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(e,r);if(i)return o;let[c,l]=s,u=+c.getValue(),d=Math.trunc(+l.getValue()),f=this._roundBank(u,d);return F.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}},eh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},th=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},nh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):t.cos().getReciprocal()}},rh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):t.cosh().getReciprocal():F.create(0)}},ih=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4),b(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r){let i=e,a=t==null?F.create(1):t,o=n==null?F.create(1):n,s=r==null?F.create(1):r;i.isNull()&&(i=F.create(1)),a.isNull()&&(a=F.create(1)),o.isNull()&&(o=F.create(1)),s.isNull()&&(s=F.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=z(c,l,i,O.create(S.NA)),d=z(c,l,a,O.create(S.NA)),f=z(c,l,o,O.create(S.NA)),p=z(c,l,s,O.create(S.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}=J(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 O.create(S.VALUE);if(p===0||m===0)return O.create(S.CALC);let _=this._rowCount-this.row,v=this._columnCount-this.column;if(p>_||m>v)return O.create(S.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?F.create(y[0][0]):R.createByArray(y)}},ah=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isNull()||t.isNull()||n.isNull()||r.isNull())return O.create(S.NA);let{isError:i,errorObject:a,variants:o}=q(e,t,n);if(i)return a;let{isError:s,errorObject:c,variants:l}=J(...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=O.create(S.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(_)?O.create(S.NUM):F.create(_)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:O.create(S.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}}},oh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();return a>0?F.create(1):a<0?F.create(-1):F.create(0)}},sh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}},ch=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}},lh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}},uh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(n<0)return O.create(S.NUM);let r=Math.sqrt(n*Math.PI);return F.create(r)}};const dh={1:X.AVERAGE,2:X.COUNT,3:X.COUNTA,4:X.MAX,5:X.MIN,6:X.PRODUCT,7:X.STDEV,8:X.STDEVP,9:X.SUM,10:X.VAR,11:X.VARP};var fh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0),b(this,`needsFilteredOutRows`,!0),b(this,`needsFormulaDataModel`,!0)}calculate(e,...t){let n;n=e.isReferenceObject()?e.toArrayValueObject():e;let{isError:r,multiAreaRefs:i,normalRefs:a}=Zs(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 O.create(S.VALUE);let a=Math.floor(+i.getValue());if(a<1||a>11&&a<101||a>111)return O.create(S.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),tc({type:dh[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(O.create(S.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]:Ai(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}}},ph=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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}},mh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return O.create(S.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=Mi(r,t);i=Vi(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()}},hh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`SUMIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},gh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O)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 O.create(S.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 O.create(S.VALUE);if(o.isError())return o;o.isNumber()?r*=o.getValue():r=0}i+=r}return F.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=R.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}},_h=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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}},vh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=N.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?O.create(S.DIV_BY_ZERO):F.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 O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!(0,c.isRealNum)(i)||n.isBoolean()||r.isString()&&!(0,c.isRealNum)(a)||r.isBoolean())return O.create(S.DIV_BY_ZERO);let o=i**2-a**2;return F.create(o)}},yh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=N.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?O.create(S.DIV_BY_ZERO):F.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 O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!(0,c.isRealNum)(i)||n.isBoolean()||r.isString()&&!(0,c.isRealNum)(a)||r.isBoolean())return O.create(S.DIV_BY_ZERO);let o=i**2+a**2;return F.create(o)}},bh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=N.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?O.create(S.DIV_BY_ZERO):F.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 O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!(0,c.isRealNum)(i)||n.isBoolean()||r.isString()&&!(0,c.isRealNum)(a)||r.isBoolean())return O.create(S.DIV_BY_ZERO);let o=(i-a)**2;return F.create(o)}},xh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}},Sh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}},Ch=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=$r(a,c),u=Math.trunc(Jr(a,c)+l)/c;return F.create(u)});return r===1&&i===1?s.get(0,0):s}};const wh=[[qp,W.ABS],[Jp,W.ACOS],[Yp,W.ACOSH],[Xp,W.ACOT],[Qp,W.ACOTH],[tm,W.AGGREGATE],[nm,W.ARABIC],[rm,W.ASIN],[im,W.ASINH],[am,W.ATAN],[om,W.ATAN2],[sm,W.ATANH],[cm,W.BASE],[lm,W.CEILING],[um,W.CEILING_MATH],[dm,W.CEILING_PRECISE],[fm,W.COMBIN],[pm,W.COMBINA],[mm,W.COS],[hm,W.COSH],[gm,W.COT],[_m,W.COTH],[vm,W.CSC],[ym,W.CSCH],[bm,W.DECIMAL],[xm,W.DEGREES],[Sm,W.EVEN],[Cm,W.EXP],[wm,W.FACT],[Tm,W.FACTDOUBLE],[Em,W.FLOOR],[Dm,W.FLOOR_MATH],[Om,W.FLOOR_PRECISE],[km,W.GCD],[Am,W.INT],[jm,W.LCM],[Mm,W.LN],[Nm,W.LOG],[Pm,W.LOG10],[Fm,W.MDETERM],[Im,W.MINVERSE],[Lm,W.MMULT],[Rm,W.MOD],[zm,W.MROUND],[Bm,W.MULTINOMIAL],[Vm,W.MUNIT],[Hm,W.ODD],[Um,W.PI],[Wm,W.POWER],[Gm,W.PRODUCT],[Km,W.QUOTIENT],[qm,W.RADIANS],[Jm,W.RAND],[Ym,W.RANDARRAY],[Xm,W.RANDBETWEEN],[Zm,W.ROMAN],[Qm,W.ROUND],[$m,W.ROUNDBANK],[eh,W.ROUNDDOWN],[th,W.ROUNDUP],[nh,W.SEC],[rh,W.SECH],[ah,W.SERIESSUM],[ih,W.SEQUENCE],[oh,W.SIGN],[sh,W.SIN],[ch,W.SINH],[lh,W.SQRT],[uh,W.SQRTPI],[fh,W.SUBTOTAL],[ph,W.SUM],[mh,W.SUMIF],[hh,W.SUMIFS],[gh,W.SUMPRODUCT],[_h,W.SUMSQ],[vh,W.SUMX2MY2],[yh,W.SUMX2PY2],[bh,W.SUMXMY2],[xh,W.TAN],[Sh,W.TANH],[Ch,W.TRUNC]];var Th=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(this,`_compareType`,E.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}},Eh=class e extends se{static create(t){return new e(t)}isCube(){return!0}constructor(e){super(``),b(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=F.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=F.create(-1/0);return this._values.forEach(t=>{let n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=F.create(1/0);return this._values.forEach(t=>{let n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){let e=F.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){let e=F.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){let e=F.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}},Dh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);t.push(r)}return Eh.create(t)}},Oh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?O.create(S.DIV_BY_ZERO):e.divided(t)}},kh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}},Ah=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}},jh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}};const Mh=[[Th,ga.COMPARE],[Oh,ga.DIVIDED],[kh,ga.MINUS],[Ah,ga.MULTIPLY],[jh,ga.PLUS],[Dh,ga.CUBE]],Nh=new Set([W.ACOT,W.ACOTH,W.ARABIC,W.BASE,W.CEILING_MATH,W.CEILING_PRECISE,W.COMBINA,W.COT,W.COTH,W.CSC,W.CSCH,W.DECIMAL,W.FLOOR_MATH,W.FLOOR_PRECISE,W.MUNIT,W.RANDARRAY,W.SEC,W.SECH,W.SEQUENCE,U.CHOOSECOLS,U.CHOOSEROWS,U.DROP,U.EXPAND,U.FILTER,U.FORMULATEXT,U.HSTACK,U.SORT,U.SORTBY,U.TAKE,U.TOCOL,U.TOROW,U.UNIQUE,U.VSTACK,U.WRAPCOLS,U.WRAPROWS,U.XLOOKUP,U.XMATCH,V.BITAND,V.BITLSHIFT,V.BITOR,V.BITRSHIFT,V.BITXOR,V.ERF_PRECISE,V.ERFC_PRECISE,V.IMCOSH,V.IMCOT,V.IMCSC,V.IMCSCH,V.IMSEC,V.IMSECH,V.IMSINH,V.IMTAN,aa.ISFORMULA,aa.SHEET,aa.SHEETS,oa.IFNA,oa.IFS,oa.SWITCH,oa.XOR,G.BETA_DIST,G.BETA_INV,G.BINOM_DIST,G.BINOM_DIST_RANGE,G.BINOM_INV,G.CHISQ_DIST,G.CHISQ_DIST_RT,G.CHISQ_INV,G.CHISQ_INV_RT,G.CHISQ_TEST,G.CONFIDENCE_NORM,G.CONFIDENCE_T,G.COVARIANCE_P,G.COVARIANCE_S,G.EXPON_DIST,G.F_DIST,G.F_DIST_RT,G.F_INV,G.F_INV_RT,G.F_TEST,G.FORECAST_LINEAR,G.GAMMA,G.GAMMA_DIST,G.GAMMA_INV,G.GAMMALN_PRECISE,G.GAUSS,G.HYPGEOM_DIST,G.LOGNORM_DIST,G.LOGNORM_INV,G.MAXIFS,G.MINIFS,G.MODE_MULT,G.MODE_SNGL,G.NEGBINOM_DIST,G.NORM_DIST,G.NORM_INV,G.NORM_S_DIST,G.NORM_S_INV,G.PERCENTILE_EXC,G.PERCENTILE_INC,G.PERCENTRANK_EXC,G.PERCENTRANK_INC,G.PERMUTATIONA,G.PHI,G.POISSON_DIST,G.QUARTILE_EXC,G.QUARTILE_INC,G.RANK_AVG,G.RANK_EQ,G.SKEW_P,G.STDEV_P,G.STDEV_S,G.T_DIST,G.T_DIST_2T,G.T_DIST_RT,G.T_INV,G.T_INV_2T,G.T_TEST,G.VAR_P,G.VAR_S,G.WEIBULL_DIST,G.Z_TEST,K.ARRAYTOTEXT,sa.ENCODEURL,K.NUMBERVALUE,K.TEXTAFTER,K.TEXTBEFORE,K.TEXTJOIN,K.TEXTSPLIT,K.UNICHAR,K.UNICODE,K.VALUETOTEXT,ia.DAYS,ia.ISOWEEKNUM,H.PDURATION,H.RRI,oa.BYCOL,oa.BYROW,oa.MAKEARRAY,oa.MAP,oa.REDUCE,oa.SCAN]);var Ph=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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=Fh(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(F.create(1)))}if(n.getValue()===0)return O.create(S.NUM);let r=t.divided(n);if(r.isError())return r;let i=F.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 Fh(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||Ai(t,1,t[0].length)}var Ih=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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(F.create(1)))}return t.divided(n)}},Lh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,254)}calculate(...e){let t=!1,n;e.length%2!=0&&(t=!0,n=O.create(S.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=O.create(S.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 O.create(S.VALUE);r+=n*o,i+=o}}if(i===0)return O.create(S.DIV_BY_ZERO);let a=r/i;return F.create(a)}},Rh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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=F.create(0))),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=t.plus(r),n=n.plus(F.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),n=n.plus(F.create(1)))}return t.divided(n)}},zh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return O.create(S.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=Mi(r,t);i=Vi(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)}},Bh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`AVERAGEIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Vh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=i==null?F.create(0):i,s=a==null?F.create(1):a;o.isNull()&&(o=F.create(0)),s.isNull()&&(s=F.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,n,O.create(S.NA)),p=z(c,l,r,O.create(S.NA)),m=z(c,l,o,O.create(S.NA)),h=z(c,l,s,O.create(S.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}=J(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 O.create(S.NUM);let x;return x=v?rs((h-y)/(b-y),g,_):is((h-y)/(b-y),g,_)/(b-y),F.create(x)}},Hh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(a,o,e,O.create(S.NA)),c=z(a,o,t,O.create(S.NA)),l=z(a,o,n,O.create(S.NA)),u=z(a,o,i,O.create(S.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}=J(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 O.create(S.NUM);let h=0;for(let e=p;e<=m;e++)h+=ds(e,d,f);return F.create(h)}},Uh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?fs(l,u):ps(l,u),F.create(f)}},Wh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=ms(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Gh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);if(h===1)return O.create(S.DIV_BY_ZERO);let g=Math.abs(Hs(p/2,h-1)*m/Math.sqrt(h));return F.create(g)});return r===1&&i===1?c.get(0,0):c}},Kh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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?O.create(S.DIV_BY_ZERO):F.create(s/u)}},qh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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(F.create(1))):r.isNull()||(t=t.plus(F.create(1))))}return t}},Jh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isError()){t=t.plus(F.create(1));continue}r.isArray()?(r=r.countA(),t=t.plus(r)):r.isNull()||(t=t.plus(F.create(1)))}return t}},Yh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.getValue()===``||e.isNull()?F.create(1):e.isArray()?e.countBlank():F.create(0)}},Xh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(this,`needsReferenceObject`,!0)}calculate(e,t){if(!e.isReferenceObject())return O.create(S.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=Mi(n,t);r=Vi(r,n,t);let i=n.pick(r);return this._countA(i)}_countA(e){let t=F.create(0);return e.iterator(e=>{if(e==null)return!0;t=t.plusBy(1)}),t}},Zh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(...e){let{isError:t,errorObject:n,rangeIsDifferentSize:r,criteriaMaxRowLength:i,criteriaMaxColumnLength:a,variants:o}=Ri(e);if(t)return n;if(r)return i===1&&a===1?O.create(S.VALUE):z(i,a,O.create(S.VALUE));let s=Bi(o,{formulaName:`COUNTIFS`,maxRowLength:i,maxColumnLength:a,isNumberSensitive:!0});return s.length===1&&s[0].length===1?s[0][0]:R.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Qh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length<=1)return O.create(S.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 F.create(s/(n-1))}},$h=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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 O.create(S.NUM);let i=n/t.length,a=0;for(let e=0;e<t.length;e++)a+=(t[e]-i)**2;return F.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return N.create();let t=e.getValue();return(0,c.isRealNum)(t)?F.create(+t):N.create()}},eg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?hs(d,f,p):gs(d,f,p),Number.isNaN(h)||!Number.isFinite(h)?O.create(S.NUM):F.create(h)}},tg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=_s(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},ng=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=i.getValue();if(a<=-1||a>=1)return O.create(S.NUM);let o=Math.log((1+a)/(1-a))/2;return F.create(o)}},rg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(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?F.create(1):F.create(o/s)}},ig=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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 O.create(S.VALUE);if(r*i!==a*o)return O.create(S.NA);let{isError:l,errorObject:u,array1Values:d,array2Values:f,noCalculate:p}=Us(t,n,r*i,i,o);if(l)return u;if(p)return O.create(S.DIV_BY_ZERO);let m=bs(c,d,f);return Number.isFinite(m)?F.create(m):O.create(S.DIV_BY_ZERO)}},ag=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 R.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();(0,c.isRealNum)(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}},og=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();if(a===0||a<0&&a%1==0)return O.create(S.NUM);let o=xs(a);return Number.isNaN(o)||!Number.isFinite(o)?O.create(S.NUM):F.create(o)}},sg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0)return O.create(S.NUM);let o=Ts(a);return Math.abs(o)<1e-15?F.create(0):F.create(o)}},cg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Fs(+i.getValue(),0,1)-.5;return F.create(a)}},lg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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(!(0,c.isRealNum)(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(!(0,c.isRealNum)(e))continue;+e<=0&&(r=!0),t*=+e,n++}}if(n===0||r)return O.create(S.NUM);let i=t**(1/n);return F.create(i)}},ug=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t,n);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=this._getNewXsValues(s,n);if(c instanceof O)return c;let l=r==null?P.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?O.create(S.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=Xs(e,t,n,r,!0);if(a instanceof O)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=Wo(u)),R.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=qs(t.flat(),i,r,!0),s=n.map(e=>e.map(e=>o*a**e));return R.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Gs(t)}},dg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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(!(0,c.isRealNum)(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(!(0,c.isRealNum)(e))continue;+e<=0&&(r=!0),t+=1/e,n++}}if(n===0)return O.create(S.NA);if(r)return O.create(S.NUM);let i=n/t;return F.create(i)}},fg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(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=z(a,o,e,O.create(S.NA)),c=z(a,o,t,O.create(S.NA)),l=z(a,o,n,O.create(S.NA)),u=z(a,o,r,O.create(S.NA)),d=z(a,o,i,O.create(S.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}=J(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 O.create(S.NUM);let v;return v=_?Os(p,m,h,g):ks(p,m,h,g),Number.isNaN(v)&&(v=0),F.create(v)}},pg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=bs(0,e,t);return Number.isFinite(n)?F.create(n):O.create(S.DIV_BY_ZERO)}},mg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(o)&&(t.push(+o),n+=+o)}}return t.length<=3?O.create(S.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 O.create(S.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 F.create(s)}},hg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return ic(e,+a.getValue())}},gg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=n==null?P.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?P.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=J(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?O.create(S.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=Xs(e,t,t,n,!1);if(i instanceof O)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(S.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(S.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):S.NUM;c=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else c=[a[0]];return R.createByArray(c)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s}=qs(a,i,n,!1);if(Number.isNaN(o))return O.create(S.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):S.NUM;n||(g=S.NA),c=[[o,s],[h,g],[m,_],[v,l],[p,d]]}else c=[[o,s]];return R.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}},_g=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=n==null?P.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?P.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=J(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?O.create(S.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=Xs(e,t,t,n,!0);if(i instanceof O)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(S.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(S.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):S.NUM;l=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else l=[a[0]];return R.createByArray(l)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s,Y:c}=qs(a,i,n,!0);if(Number.isNaN(o))return O.create(S.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=S.NA),l=[[o,s],[h,g],[m,_],[v,i],[p,d]]}else l=[[o,s]];return R.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}},vg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?As(d,f,p):js(d,f,p),F.create(h)}},yg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=this._getRangeValues(e);if(n instanceof O)return n;let r=xo(t);if(r.isError())return r;let{isError:i,errorObject:a,variants:o}=J(r);if(i)return a;let[s]=o,c=+s.getValue();if(c<=0||c>=1)return O.create(S.NUM);if(n.length<2)return O.create(S.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 O.create(S.NUM);let m=Math.abs(Hs(l/2,u-1)*p/Math.sqrt(u));return F.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}},bg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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?F.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},xg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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=F.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?F.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},Sg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`MAXIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Cg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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(!(0,c.isRealNum)(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(!(0,c.isRealNum)(e))continue;t.push(+e)}}return t.length===0?O.create(S.NUM):rc(t)}},wg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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?F.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},Tg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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=F.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?F.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},Eg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`MINIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Dg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(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 O(S.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?F.create(n[0]):R.createByArray(n.map(e=>[e]))}},Og=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?Ns(d,f,p):Ps(d,f,p),F.create(h)}},kg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue(),l;return l=c?Fs(s,0,1):Is(s,0,1),F.create(l)}},Ag=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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 O.create(S.DIV_BY_ZERO);let u=s/Math.sqrt(c*l);return F.create(u)}},jg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return sc(e,+a.getValue())}},Mg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?F.create(3):n;i.isNull()&&(i=F.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=z(a,o,t,O.create(S.NA)),c=z(a,o,i,O.create(S.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 O)return e;let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NA);if(u===1)return c===e[0]?F.create(1):O.create(S.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?O.create(S.NUM):(d=Zr(d,l),F.create(d)):O.create(S.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();(0,c.isRealNum)(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},Ng=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let f=1;for(let e=u-d+1;e<=u;e++)f*=e;return Number.isFinite(f)?F.create(f):O.create(S.NUM)});return n===1&&r===1?o.get(0,0):o}},Pg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);if(u===0)return d===0?F.create(1):F.create(0);let f=u**d;return Number.isFinite(f)?F.create(f):O.create(S.NUM)});return n===1&&r===1?o.get(0,0):o}},Fg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return F.create(o)}},Ig=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(l,u,n,O.create(S.NA)),f=z(l,u,c,O.create(S.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}=J(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 O.create(S.NUM);let d=0;for(let n=0;n<e.length;n++)e[n]>=l&&e[n]<=u&&(d+=t[n]);return F.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:O.create(S.VALUE),xRangeValues:[],probRangeValues:[]};if(n*r!==i*a)return{isError:!0,errorObject:O.create(S.NA),xRangeValues:[],probRangeValues:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]}:f?{isError:!0,errorObject:O.create(S.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:u,probRangeValues:d}}},Lg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return lc(e,Math.floor(+a.getValue()))}},Rg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(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?F.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=z(c,l,r,O.create(S.NA)),d=z(c,l,s,O.create(S.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return O.create(S.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();return Number.isNaN(c)||Number.isNaN(l)?O.create(S.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 O.create(S.NA);let o=a.reduce((e,t)=>e+t,0)/a.length;return F.create(o)}_checkRefReferenceObject(e){let t=!1,n=O.create(S.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}}},zg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(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?F.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=z(c,l,r,O.create(S.NA)),d=z(c,l,s,O.create(S.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return O.create(S.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 O.create(S.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?O.create(S.NA):F.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=O.create(S.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}}},Bg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return O.create(S.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 O.create(S.DIV_BY_ZERO);let u=(s/Math.sqrt(c*l))**2;return F.create(u)}},Vg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(o)&&(t.push(+o),n+=+o)}}return t.length<=2?O.create(S.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 O.create(S.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 F.create(s)}},Hg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(o)&&(t.push(+o),n+=+o)}}return t.length<=2?O.create(S.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 O.create(S.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=o/n;return F.create(s)}},Ug=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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 O.create(S.DIV_BY_ZERO);let l=s/c;return F.create(l)}},Wg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return ac(e,+a.getValue())}},Gg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=(l-u)/d;return F.create(f)}},Kg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}},qg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std()}},Jg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length;if(n<=2)return O.create(S.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 O.create(S.DIV_BY_ZERO);let u=Math.sqrt((c-s**2/l)/(n-2));return Number.isNaN(u)||!Number.isFinite(u)?O.create(S.NUM):F.create(u)}},Yg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?Bs(l,u):Vs(l,u),Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},Xg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Bs(-s,c)*2;return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Zg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Bs(-s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Qg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Hs(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},$g=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t,n);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=this._getNewXsValues(s,n);if(c instanceof O)return c;let l=r==null?P.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?O.create(S.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=Xs(e,t,n,r,!1);if(a instanceof O)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=Wo(u)),R.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=qs(t.flat(),i,r,!1);if(Number.isNaN(a))return O.create(S.NA);let s=n.map(e=>e.map(e=>a*e+o));return R.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Gs(t)}},e_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O)return e;let{isError:n,errorObject:r,variants:i}=J(t);if(n)return r;let[a]=i,o=+a.getValue();if(o<0||o>=1)return O.create(S.NUM);let s=Zr(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 F.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();(0,c.isRealNum)(a)&&r.push(+a)}return r.length===0?O.create(S.NUM):r.sort((e,t)=>e-t)}},t_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}},n_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var()}};const r_=[[Ph,G.AVEDEV],[Ih,G.AVERAGE],[Lh,G.AVERAGE_WEIGHTED],[Rh,G.AVERAGEA],[zh,G.AVERAGEIF],[Bh,G.AVERAGEIFS],[Vh,G.BETA_DIST],[uc,G.BETA_INV],[dc,G.BINOM_DIST],[Hh,G.BINOM_DIST_RANGE],[fc,G.BINOM_INV],[Uh,G.CHISQ_DIST],[pc,G.CHISQ_DIST_RT],[Wh,G.CHISQ_INV],[mc,G.CHISQ_INV_RT],[hc,G.CHISQ_TEST],[gc,G.CONFIDENCE_NORM],[Gh,G.CONFIDENCE_T],[Kh,G.CORREL],[qh,G.COUNT],[Jh,G.COUNTA],[Yh,G.COUNTBLANK],[Xh,G.COUNTIF],[Zh,G.COUNTIFS],[_c,G.COVARIANCE_P],[Qh,G.COVARIANCE_S],[$h,G.DEVSQ],[vc,G.EXPON_DIST],[eg,G.F_DIST],[yc,G.F_DIST_RT],[tg,G.F_INV],[bc,G.F_INV_RT],[xc,G.F_TEST],[ng,G.FISHER],[rg,G.FISHERINV],[ig,G.FORECAST],[ig,G.FORECAST_LINEAR],[ag,G.FREQUENCY],[og,G.GAMMA],[Sc,G.GAMMA_DIST],[Cc,G.GAMMA_INV],[sg,G.GAMMALN],[sg,G.GAMMALN_PRECISE],[cg,G.GAUSS],[lg,G.GEOMEAN],[ug,G.GROWTH],[dg,G.HARMEAN],[fg,G.HYPGEOM_DIST],[pg,G.INTERCEPT],[mg,G.KURT],[hg,G.LARGE],[gg,G.LINEST],[_g,G.LOGEST],[vg,G.LOGNORM_DIST],[wc,G.LOGNORM_INV],[yg,G.MARGINOFERROR],[bg,G.MAX],[xg,G.MAXA],[Sg,G.MAXIFS],[Cg,G.MEDIAN],[wg,G.MIN],[Tg,G.MINA],[Eg,G.MINIFS],[Dg,G.MODE_MULT],[Tc,G.MODE_SNGL],[Og,G.NEGBINOM_DIST],[Ec,G.NORM_DIST],[Dc,G.NORM_INV],[kg,G.NORM_S_DIST],[Oc,G.NORM_S_INV],[Ag,G.PEARSON],[jg,G.PERCENTILE_EXC],[kc,G.PERCENTILE_INC],[Mg,G.PERCENTRANK_EXC],[Ac,G.PERCENTRANK_INC],[Ng,G.PERMUT],[Pg,G.PERMUTATIONA],[Fg,G.PHI],[jc,G.POISSON_DIST],[Ig,G.PROB],[Lg,G.QUARTILE_EXC],[Mc,G.QUARTILE_INC],[Rg,G.RANK_AVG],[zg,G.RANK_EQ],[Bg,G.RSQ],[Vg,G.SKEW],[Hg,G.SKEW_P],[Ug,G.SLOPE],[Wg,G.SMALL],[Gg,G.STANDARDIZE],[Nc,G.STDEV_P],[Pc,G.STDEV_S],[Kg,G.STDEVA],[qg,G.STDEVPA],[Jg,G.STEYX],[Yg,G.T_DIST],[Xg,G.T_DIST_2T],[Zg,G.T_DIST_RT],[Qg,G.T_INV],[Fc,G.T_INV_2T],[Ic,G.T_TEST],[$g,G.TREND],[e_,G.TRIMMEAN],[Lc,G.VAR_P],[Rc,G.VAR_S],[t_,G.VARA],[n_,G.VARPA],[zc,G.WEIBULL_DIST],[Bc,G.Z_TEST]];var i_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.create(0):t;if(t!=null&&t.isNull()&&(n=F.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}=J(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?O.create(S.CALC):I.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}},a_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(n)}},o_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(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)}สตางค์`,I.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 s_=Object.values(c.DataStreamTreeTokenType).filter(e=>[c.DataStreamTreeTokenType.TABLE_START,c.DataStreamTreeTokenType.TABLE_ROW_START,c.DataStreamTreeTokenType.TABLE_CELL_START,c.DataStreamTreeTokenType.TABLE_CELL_END,c.DataStreamTreeTokenType.TABLE_ROW_END,c.DataStreamTreeTokenType.TABLE_END,c.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(e));var c_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<=0)return O.create(S.VALUE);let o=String.fromCharCode(a);return s_.some(e=>e===o)&&(o=``),I.create(o)}},l_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`.replace(/[\0-\x1F]/g,``);return I.create(t)}},u_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t===``)return O.create(S.VALUE);let n=t.charCodeAt(0);return F.create(n)}},d_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(t)}},f_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=z(t,n,i,O.create(S.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 I.create(`${l}${u}`)});return r||O.create(S.VALUE)}},p_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.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 I.create(n)}},m_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(this,`needsLocale`,!0)}calculate(e,t){let n=t==null?F.create(2):t;n.isNull()&&(n=F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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}=J(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.trunc(+o.getValue());if(c>127)return O.create(S.VALUE);c<0&&(s=`${s}`.length<Math.abs(c)?0:s<0?-Xr(Math.abs(s),c):Xr(s,c),c=0);let l=Br(this.getLocale(),s,c);return I.create(l)}},h_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,N.create()),a=z(n,r,t,N.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 P.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 P.create(i)}};const g_=(e,t)=>c.numfmt.format(e,t,{throws:!1}),__=e=>{let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),e.isNumber()&&(t=e.getPattern()===``?`${ui(+e.getValue())}`:g_(e.getPattern(),+e.getValue())),t};var v_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e),i=__(t),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);return u===-1?O.create(S.VALUE):F.create(u+1)}};function y_(e){let t=0;for(let n=0;n<e.length;n++)t+=b_(e,n);return t}function b_(e,t,n=`ltr`){return w_(e,t,n)>255?2:1}function x_(e){return e>=55296&&e<=56319}function S_(e){return e>=56320&&e<=57343}function C_(e,t){return((e&1023)<<10)+(t&1023)+65536}function w_(e,t,n=`ltr`){let r=e.charCodeAt(t);if(n===`ltr`&&x_(r)&&t+1<e.length){let n=e.charCodeAt(t+1);if(S_(n))return C_(r,n)}if(n===`rtl`&&S_(r)&&t-1>=0){let n=e.charCodeAt(t-1);if(x_(n))return C_(n,r)}return r}var T_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e),i=__(t),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);if(u===-1)return O.create(S.VALUE);let d=y_(i.substring(0,u))+1;return F.create(d)}},E_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(2):t;r.isNull()&&(r=F.create(2));let i=n==null?P.create(!1):n;i.isNull()&&(i=P.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=z(a,o,e,O.create(S.NA)),c=z(a,o,r,O.create(S.NA)),l=z(a,o,i,O.create(S.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}=J(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 O.create(S.VALUE);u<0&&(l=`${l}`.length<Math.abs(u)?0:l<0?-Xr(Math.abs(l),u):Xr(l,u),u=0);let f=d?`###0`:`#,##0`;u>0&&(f+=`.${`0`.repeat(u)}`);let p=g_(f,l);return I.create(p)}},D_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);if(s>=n.length)return I.create(n);let c=n.substring(0,s);return I.create(c)}},O_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,N.create()),o=z(r,i,n,N.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);let c=0,l=0,u=``;for(;l<s&&c<n.length;)l+=b_(n,c),u+=n.charAt(c),c++;return I.create(u)}},k_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=__(e);return F.create(t.length)}},A_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=y_(__(e));return F.create(t)}},j_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`.toLocaleLowerCase();return I.create(t)}},M_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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=__(e),{isError:i,errorObject:a,variants:o}=J(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 O.create(S.VALUE);if(e.isNull()||l>r.length||u===0)return I.create(``);let d=r.substring(l-1,l-1+u);return I.create(d)}},N_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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=__(e),{isError:i,errorObject:a,variants:o}=J(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 O.create(S.VALUE);if(e.isNull()||l>r.length||u===0)return I.create(``);r=r.substring(l-1);let d=0,f=0,p=``;for(;f<u&&d<r.length;)f+=b_(r,d),p+=r.charAt(d),d++;return I.create(p)}};const P_=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],F_=[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],I_=[``,`十`,`百`,`千`],L_=[``,`拾`,`佰`,`仟`],R_=[``,`万`,`亿`,`兆`];var z_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.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?F_[0]:P_[0];break}if(a===3){c+=P_[t];continue}let n=s-e-1,r=n%4,i=Math.trunc(n/4);if(s>=17&&i>2){if(c+=a===1?P_[t]:F_[t],i>3)continue}else t===0?l=r!==0:(l&&(c+=a===1?P_[0]:F_[0],l=!1),c+=a===1?P_[t]+I_[r]:F_[t]+L_[r]);r===0&&i>0&&o.slice(Math.max(0,e-3),e+1)!==`0000`&&(c+=R_[i])}return I.create(c)}},B_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,n){let r=t==null?I.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=z(i,a,e,O.create(S.NA)),s=z(i,a,r,O.create(S.NA)),c=n?z(i,a,n,O.create(S.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()?O.create(S.VALUE):e.isNull()?F.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 O.create(S.VALUE);if(r.trim()===``)return F.create(0);if(!r.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return O.create(S.VALUE);let o=r.split(i);if(o.length>2)return O.create(S.VALUE);let s=o[0].replace(/,/g,``);n&&(s=s.split(a).join(``));let l=0;if(o.length===1){i===`,`&&(s=s.replace(/\./g,``));let e=0;for(;s.endsWith(`%`);)s=s.slice(0,-1),e++;l=e>0?s/100**e:+s}else{if(!(0,c.isRealNum)(s))return O.create(S.VALUE);let e=o[1],t=0;for(;e.endsWith(`%`);)e=e.slice(0,-1),t++;let n=`${s}.${e}`;if(!(0,c.isRealNum)(n))return O.create(S.VALUE);l=t>0?n/100**t:+n}return Number.isNaN(l)?O.create(S.VALUE):F.create(l)}},V_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.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 H_=()=>[{type:$.RANGE,from:48,to:57}],U_=()=>[{type:$.CHAR,value:95},{type:$.RANGE,from:97,to:122},{type:$.RANGE,from:65,to:90},{type:$.RANGE,from:48,to:57}],W_=()=>[{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}],G_=()=>({type:$.SET,set:U_(),not:!1}),K_=()=>({type:$.SET,set:U_(),not:!0}),q_=()=>({type:$.SET,set:H_(),not:!1}),J_=()=>({type:$.SET,set:H_(),not:!0}),Y_=()=>({type:$.SET,set:W_(),not:!1}),X_=()=>({type:$.SET,set:W_(),not:!0}),Z_=()=>({type:$.SET,set:[{type:$.CHAR,value:10},{type:$.CHAR,value:13},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233}],not:!0});function Q_(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=ev(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(G_());break;case`W`:r.push(K_());break;case`d`:r.push(q_());break;case`D`:r.push(J_());break;case`s`:r.push(Y_());break;case`S`:r.push(X_());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=$_(c.slice(l),e);l+=n[1],r.push({type:$.SET,set:n[0],not:t});break}case`.`:r.push(Z_());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 tv(a,o),t}function $_(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=G_():a?e=q_():o?e=Y_():s?e=K_():c?e=J_():l&&(e=X_()),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 ev(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 tv(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 nv(e,t){if(!rv(e))return{isError:!0,regExp:null};try{let n=new RegExp(e,t?`ug`:`u`);return iv(n)?{isError:!1,regExp:n}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function rv(e){return!(/\(\?<=.*?\)/g.test(e)&&!/\[.*?(\?<=.*?)\]/g.test(e)||/\(\?<!.*?\)/g.test(e)&&!/\[.*?(\?<!.*?)\]/g.test(e))}function iv(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=Q_(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)||av(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 av(e){let t=e.stack||e.value&&e.value.stack;return t?ov(t):!1}function ov(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&&ov(e))return!0}return!1}var sv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=So(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}=nv(c,!1);if(l)return O.create(S.REF);let d=s.match(u);if(d===null)return O.create(S.NA);if(d.length>1){let e=d.slice(1).map(e=>I.create(e));return e.length>1?R.create({calculateValueList:[e],rowCount:1,columnCount:e.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):e[0]}return I.create(d[0])}},cv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=So(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}=nv(c,!1);return l?O.create(S.REF):s.match(u)===null?P.create(!1):P.create(!0)}},lv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=So(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}=nv(u,!0);if(f)return O.create(S.REF);let m=l.replace(p,d);return I.create(m)}},uv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.VALUE);let d=__(e),f=__(r),p=d.substring(0,l-1)+f+d.substring(l-1+u);return I.create(p)}},dv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.VALUE);let d=__(e),f=__(r),p=d.substring(0,l-1);d=d.substring(l-1);let m=0,h=0;for(;h<u&&m<d.length;)h+=b_(d,m),m++;return p+=f+d.substring(m),I.create(p)}},fv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.VALUE);let s=i.repeat(o);return I.create(s)});return n===1&&r===1?o.get(0,0):o}},pv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);if(s>=n.length)return I.create(n);let c=n.substring(n.length-s);return I.create(c)}},mv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);let c=n.length-1,l=0,u=``;for(;l<s&&c>=0;)l+=b_(n,c,`rtl`),u=n.charAt(c)+u,c--;return I.create(u)}},hv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e).toLocaleUpperCase(),i=__(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);return u===-1?O.create(S.VALUE):F.create(u+1)}},gv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e).toLocaleUpperCase(),i=__(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);if(u===-1)return O.create(S.VALUE);let d=y_(i.substring(0,u))+1;return F.create(d)}},_v=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=r?z(i,a,r,O.create(S.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()?O.create(S.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 O.create(S.VALUE);if(a===``)return I.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),I.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}},vv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(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()?I.create(``):e}},yv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(n,r,t),o=i.map((e,t,n)=>{if(e.isError())return e;let r=a.get(t,n)||I.create(` `);if(r.isError())return r;if(r.isBoolean())return O.create(S.VALUE);if(e.isBoolean())return e;let i=e.getValue();if(e.isNull()&&(i=0),e.isString())if((0,c.isRealNum)(i))i=Number(i);else{let e=(0,c.getNumfmtParseValueFilter)(`${i}`);e&&e.v!=null&&typeof e.v==`number`&&(i=e.v)}r.isNull()&&(r=I.create(` `));let o=`${r.getValue()}`,s=g_(o,i);return I.create(o===` `?s.trimEnd():s)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}},bv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?F.create(1):n;s.isNull()&&(o=!0,s=F.create(1));let c=!r,l=r==null?F.create(0):r,u=i==null?F.create(0):i,d=a==null?O.create(S.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=z(f,p,e,O.create(S.NA)),h=z(f,p,s,O.create(S.NA)),g=z(f,p,l,O.create(S.NA)),_=z(f,p,u,O.create(S.NA)),v=z(f,p,d,O.create(S.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 O)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof O)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?O.create(S.VALUE):g.includes(``)?v>0?I.create(h):I.create(``):!o&&Math.abs(v)>h.length?O.create(S.VALUE):g.every(e=>e.length>h.length)?O.create(S.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 P.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=O.create(S.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 O.create(S.NA);if(!u||u<Math.abs(n))return i?n>0?I.create(``):I.create(e):a;let f=e.substr(l+d);return I.create(f)}},xv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?F.create(1):n;s.isNull()&&(o=!0,s=F.create(1));let c=!r,l=r==null?F.create(0):r,u=i==null?F.create(0):i,d=a==null?O.create(S.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=z(f,p,e,O.create(S.NA)),h=z(f,p,s,O.create(S.NA)),g=z(f,p,l,O.create(S.NA)),_=z(f,p,u,O.create(S.NA)),v=z(f,p,d,O.create(S.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 O)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof O)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?O.create(S.VALUE):g.includes(``)?v>0?I.create(``):I.create(h):!o&&Math.abs(v)>h.length?O.create(S.VALUE):g.every(e=>e.length>h.length)?O.create(S.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 P.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=O.create(S.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 O.create(S.NA);if(!u||u<Math.abs(n))return i?n>0?I.create(e):I.create(``):a;let f=e.substr(0,l);return I.create(f)}},Sv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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,P.create(!0),i);if(e===`FALSE`)return this._handleSingleObject(r,P.create(!1),i)}return this._handleSingleObject(r,t,i)}_handleSingleObject(e,t,n){if(e instanceof O)return e;let{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;if(n instanceof O)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 I.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}},Cv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=n==null?I.create(`\\s`):n,s=r==null?F.create(0):r,c=i==null?F.create(0):i,l=a==null?I.create(S.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=z(m,h,e,O.create(S.NA)),_=z(m,h,s,O.create(S.NA)),v=z(m,h,c,O.create(S.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=O.create(S.VALUE),!1;let i=this._getRegExpStringValue(e);if(i===``)return n=O.create(S.VALUE),!1;r.push(i)});else{n.isNull()&&t&&(n=O.create(S.VALUE));let e=this._getRegExpStringValue(n);e===``&&(n=O.create(S.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 O.create(S.VALUE);let p=a;if(p.isArray()){let e=p.getRowCount(),t=p.getColumnCount();if(e>1||t>1)return O.create(S.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 O.create(S.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}),R.createByArray(u)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return P.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,`\\$&`)}},wv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g,` `),I.create(t)}};const Tv=Object.values(c.DataStreamTreeTokenType).filter(e=>[c.DataStreamTreeTokenType.TABLE_START,c.DataStreamTreeTokenType.TABLE_ROW_START,c.DataStreamTreeTokenType.TABLE_CELL_START,c.DataStreamTreeTokenType.TABLE_CELL_END,c.DataStreamTreeTokenType.TABLE_ROW_END,c.DataStreamTreeTokenType.TABLE_END,c.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(e));var Ev=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<1||a>1114111)return O.create(S.VALUE);if(a===1114111||a===1114110)return O.create(S.NA);let o=String.fromCharCode(a);return Tv.some(e=>e===o)&&(o=``),I.create(o)}},Dv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());let n=t.charCodeAt(0);return F.create(n)}},Ov=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`.toLocaleUpperCase();return I.create(t)}},kv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;let n=+t.getValue();return F.create(n)}},Av=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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}=J(t);if(n)return r;let[a]=i,o=Math.floor(+a.getValue());if(o<0||o>1)return O.create(S.VALUE);if(e.isNull())return I.create(``);if(e.isBoolean())return e;if(e.isNumber())return F.create(e.getValue());let s=o?`"${e.getValue()}"`:`${e.getValue()}`;return I.create(s)}};const jv=[[a_,K.ASC],[i_,K.ARRAYTOTEXT],[o_,K.BAHTTEXT],[c_,K.CHAR],[l_,K.CLEAN],[u_,K.CODE],[d_,K.CONCAT],[f_,K.CONCATENATE],[p_,K.DBCS],[m_,K.DOLLAR],[h_,K.EXACT],[v_,K.FIND],[T_,K.FINDB],[E_,K.FIXED],[D_,K.LEFT],[O_,K.LEFTB],[k_,K.LEN],[A_,K.LENB],[j_,K.LOWER],[M_,K.MID],[N_,K.MIDB],[z_,K.NUMBERSTRING],[B_,K.NUMBERVALUE],[sv,K.REGEXEXTRACT],[cv,K.REGEXMATCH],[lv,K.REGEXREPLACE],[V_,K.PROPER],[uv,K.REPLACE],[dv,K.REPLACEB],[fv,K.REPT],[pv,K.RIGHT],[mv,K.RIGHTB],[hv,K.SEARCH],[gv,K.SEARCHB],[_v,K.SUBSTITUTE],[vv,K.T],[yv,K.TEXT],[bv,K.TEXTAFTER],[xv,K.TEXTBEFORE],[Sv,K.TEXTJOIN],[Cv,K.TEXTSPLIT],[wv,K.TRIM],[Ev,K.UNICHAR],[Dv,K.UNICODE],[Ov,K.UPPER],[kv,K.VALUE],[Av,K.VALUETOTEXT]],Mv=[];let Nv=function(e){return e}({});function Pv(e){return e.map(e=>e.map(e=>typeof e==`number`?ui(e):e))}function Fv(e,t=!1){if(e.isReferenceObject()){let n=e.toArrayValueObject().toValue();return t?Pv(n):n}else if(e.isArray()){let n=e.toValue();return t?Pv(n):n}else if(e.isNumber()){let n=e.getValue();return t?ui(n):n}return e.getValue()}const Iv=[[class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=__(e),n=encodeURIComponent(t).replace(/[!~'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return I.create(n)}},sa.ENCODEURL]];var Lv=`@univerjs/engine-formula`,Rv=`0.19.0`,zv=class extends c.Disposable{constructor(...e){super(...e),b(this,`_allSubjects`,[]),b(this,`_computingStatus$`,new l.BehaviorSubject(!0)),b(this,`computingStatus$`,this._computingStatus$.pipe((0,l.distinctUntilChanged)())),b(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=(0,l.combineLatest)(this._allSubjects).pipe((0,l.map)(e=>e.every(e=>e))).subscribe(e=>this._computingStatus$.next(e))}};let Bv=class extends c.Disposable{constructor(e,t){super(),this._commandService=e,this._globalComputingSrv=t,b(this,`_computingCompleted$`,new l.Observable(e=>{this._commandService.onCommandExecuted(t=>{if(t.id!==jn.id)return;let n=t.params;if(n.stageInfo)return e.next(n.stageInfo.stage===Ji.IDLE||n.stageInfo.stage===Ji.CALCULATION_COMPLETED)})}).pipe((0,l.distinctUntilChanged)(),(0,l.shareReplay)()));let n=new c.DisposableCollection,r=new l.BehaviorSubject(!0);n.add(this._globalComputingSrv.pushComputingStatusSubject(r)),n.add(this._computingCompleted$.subscribe(e=>r.next(e))),n.add(()=>r.complete()),this.disposeWithMe(n)}};Bv=vn([j(0,c.ICommandService),j(1,(0,c.Inject)(zv))],Bv);let Vv=class extends c.Disposable{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(){[Vn,Gt,Hn,En,Dn,On,kn,Ln,Rn,An,jn,Mn,zn,Bn,Nn,Pn,Fn,In,Sn,Cn,wn,Tn,Un,Wn,qn,Jn,Yn,Wt].forEach(e=>{var t;this._commandService.registerCommand(e),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)})}_registerFunctions(){var e;let t=this._configService.getConfig(Xn),n=[...Do,...Jc,...Yc,...gl,...Wl,...Ju,...vf,...Hf,...cp,...Kp,...wh,...Mh,...r_,...jv,...Mv,...Iv].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)}};Vv=vn([j(0,c.ICommandService),j(1,ma),j(2,c.IConfigService),j(3,(0,c.Optional)(f.DataSyncPrimaryController))],Vv);let Hv=class extends c.Disposable{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===Tn.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===wn.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===Wn.id){let t=e.params;if(t==null)return;this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,t.formulaIdList)}else if(e.id===Un.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===Vn.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 c.ObjectMatrix(r).forValue((n,r)=>{this._dependencyManagerService.removeFormulaDependency(e,t,n,r)})}})}})}else e.id===Sn.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)}};Hv=vn([j(0,c.ICommandService),j(1,$a),j(1,Za),j(2,$a)],Hv);let Uv=class extends c.Disposable{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===wn.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===Tn.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._featureCalculationManagerService.remove(r,i,n)}}))}};Uv=vn([j(0,c.ICommandService),j(1,$a)],Uv);let Wv=class extends c.Disposable{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===Un.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===Wn.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)}}))}};Wv=vn([j(0,c.ICommandService),j(1,to),j(2,Za)],Wv);var Gv=class extends c.Disposable{constructor(...e){super(...e),b(this,`_dirtyConversionMap`,new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}};const Kv=(0,c.createIdentifier)(`univer.formula.active-dirty-manager.service`);let qv=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}({}),Jv=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}({}),Yv=class extends c.Disposable{constructor(e,t,n){super(),this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=n,b(this,`_formulaCacheMap`,new Map),b(this,`_formulaChangeWithRange$`,new l.Subject),b(this,`formulaChangeWithRange$`,this._formulaChangeWithRange$.asObservable()),b(this,`_formulaResult$`,new l.Subject),b(this,`formulaResult$`,this._formulaResult$.asObservable()),b(this,`calculateStarted$`,new l.BehaviorSubject(!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}_${(0,c.generateRandomId)(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Ut.id,{commandId:Ut.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(Un.id,o,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Ut.id,{[t]:{[n]:{[i]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe((0,l.bufferWhen)(()=>this.calculateStarted$.pipe((0,l.filter)(e=>e)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe((0,l.filter)(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Mn.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 c.ObjectMatrix(t),a=new c.ObjectMatrix(r.result);i.forValue((e,t,n)=>{a.setValue(e,t,n)}),r.status=qv.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=Jv.DEFAULT,o=``){let s=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(s,{result:void 0,status:qv.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(Wn.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===qv.SUCCESS||i.status===qv.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=qv.WAIT,this._commandService.executeCommand(Ut.id,{[e]:{[t]:{[n]:!0}}},{onlyLocal:!0}))}};Yv=vn([j(0,c.ICommandService),j(1,Kv),j(2,(0,c.Inject)(c.LifecycleService))],Yv);let Xv=class extends c.Plugin{constructor(e=Zn,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=(0,c.merge)({},Zn,this._config);this._configService.setConfig(Xn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var e;(0,c.touchDependencies)(this._injector,[[Vv]]),(e=this._config)!=null&&e.notExecuteFormula||(0,c.touchDependencies)(this._injector,[[Wv],[Uv],[Hv],[mo]])}onRendered(){var e;(e=this._config)!=null&&e.notExecuteFormula||(0,c.touchDependencies)(this._injector,[[fo],[lo]])}_initialize(){let e=!this._config.notExecuteFormula,t=[[ma,{useClass:ha}],[bn,{useClass:yn}],[Kv,{useClass:Gv}],[Yv],[qi,{useClass:Ki}],[hr,{useClass:mr}],[Kn,{useClass:Gn}],[zv],[ur],[Vv],[Bv]];e&&t.push([to,{useClass:eo}],[Zi,{useClass:Xi}],[_r,{useClass:gr}],[$a,{useClass:Qa}],[mo],[Wv],[Hv],[Uv],[Ca],[Ja],[vr],[ra],[Sa],[Ma],[Fa],[Ra],[va],[Va],[Ua],[Ga],[qa]),t.forEach(e=>this._injector.add(e))}_initializeWithOverride(){var e;this._injector.add([sr,{useClass:sr}]),(e=this._config)!=null&&e.notExecuteFormula||[[fo,{useClass:po}],[Za,{useClass:Xa}],[lo,{useClass:uo}]].forEach(e=>this._injector.add(e))}};b(Xv,`pluginName`,`UNIVER_ENGINE_FORMULA_PLUGIN`),b(Xv,`packageName`,Lv),b(Xv,`version`,Rv),Xv=vn([j(1,(0,c.Inject)(c.Injector)),j(2,c.IConfigService)],Xv),exports.ActiveDirtyManagerService=Gv,exports.ArrayValueObject=R,exports.AstRootNodeFactory=ra,Object.defineProperty(exports,`AstTreeBuilder`,{enumerable:!0,get:function(){return Ja}}),exports.AsyncArrayObject=Ti,exports.AsyncCustomFunction=Qc,exports.AsyncObject=wi,exports.BaseFunction=Y,exports.BaseReferenceObject=Ci,exports.BaseValueObject=se,exports.BooleanValue=p,exports.BooleanValueObject=P,Object.defineProperty(exports,`CalculateController`,{enumerable:!0,get:function(){return mo}}),Object.defineProperty(exports,`CalculateFormulaService`,{enumerable:!0,get:function(){return po}}),exports.CustomFunction=Zc,exports.DEFAULT_INTERVAL_COUNT=500,exports.DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME=Vt,exports.DEFAULT_TOKEN_LET_FUNCTION_NAME=`LET`,exports.DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER=`L_1`,exports.DEFAULT_TOKEN_TYPE_PARAMETER=`P_1`,exports.DEFAULT_TOKEN_TYPE_ROOT=`R_1`,Object.defineProperty(exports,`DefinedNamesService`,{enumerable:!0,get:function(){return yn}}),exports.DependencyManagerBaseService=Ya,exports.DependencyManagerService=Xa,exports.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=`CYCLE_REFERENCE_COUNT`,exports.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=Xn,exports.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE=`RETURN_DEPENDENCY_TREE`,exports.ERROR_TYPE_SET=C,exports.ErrorType=S,exports.ErrorValueObject=O,exports.FUNCTION_NAMES_ARRAY=Eo,exports.FUNCTION_NAMES_COMPATIBILITY=Z,exports.FUNCTION_NAMES_CUBE=Xc,exports.FUNCTION_NAMES_DATABASE=hl,exports.FUNCTION_NAMES_DATE=ia,exports.FUNCTION_NAMES_ENGINEERING=V,exports.FUNCTION_NAMES_FINANCIAL=H,exports.FUNCTION_NAMES_INFORMATION=aa,exports.FUNCTION_NAMES_LOGICAL=oa,exports.FUNCTION_NAMES_LOOKUP=U,exports.FUNCTION_NAMES_MATH=W,exports.FUNCTION_NAMES_STATISTICAL=G,exports.FUNCTION_NAMES_TEXT=K,exports.FUNCTION_NAMES_UNIVER=Nv,exports.FUNCTION_NAMES_WEB=sa,exports.FeatureCalculationManagerService=Qa,Object.defineProperty(exports,`FormulaCurrentConfigService`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`FormulaDataModel`,{enumerable:!0,get:function(){return ur}}),Object.defineProperty(exports,`FormulaDependencyGenerator`,{enumerable:!0,get:function(){return uo}}),exports.FormulaDependencyTree=oo,exports.FormulaDependencyTreeModel=so,exports.FormulaDependencyTreeType=ro,exports.FormulaDependencyTreeVirtual=ao,exports.FormulaExecuteStageType=Ji,exports.FormulaExecutedStateType=Yi,exports.FormulaResultStatus=qv,Object.defineProperty(exports,`FormulaRuntimeService`,{enumerable:!0,get:function(){return Xi}}),Object.defineProperty(exports,`FunctionNodeFactory`,{enumerable:!0,get:function(){return Sa}}),exports.FunctionService=ha,exports.FunctionType=Re,exports.GlobalComputingStatusService=zv,Object.defineProperty(exports,`HyperlinkEngineFormulaService`,{enumerable:!0,get:function(){return Ki}}),exports.IActiveDirtyManagerService=Kv,exports.ICalculateFormulaService=fo,exports.IDefinedNamesService=bn,exports.IDependencyManagerService=Za,exports.IFeatureCalculationManagerService=$a,exports.IFormulaCurrentConfigService=_r,exports.IFormulaDependencyGenerator=lo,exports.IFormulaRuntimeService=Zi,exports.IFunctionService=ma,exports.IHyperlinkEngineFormulaService=qi,exports.IOtherFormulaManagerService=to,exports.ISheetRowFilteredService=hr,exports.ISuperTableService=Kn,Object.defineProperty(exports,`Interpreter`,{enumerable:!0,get:function(){return Ca}}),Object.defineProperty(exports,`LambdaNodeFactory`,{enumerable:!0,get:function(){return Ma}}),exports.LambdaParameterNodeFactory=Fa,exports.LambdaValueObjectObject=Aa,Object.defineProperty(exports,`Lexer`,{enumerable:!0,get:function(){return vr}}),exports.LexerNode=M,exports.LexerTreeBuilder=sr,exports.NEW_EXCEL_FUNCTIONS=Nh,exports.NullValueObject=N,exports.NumberValueObject=F,exports.OPERATOR_TOKEN_SET=ne,Object.defineProperty(exports,`OperatorNodeFactory`,{enumerable:!0,get:function(){return Ra}}),exports.OtherFormulaBizType=Jv,exports.OtherFormulaManagerService=eo,exports.OtherFormulaMarkDirty=Ut,Object.defineProperty(exports,`PrefixNodeFactory`,{enumerable:!0,get:function(){return va}}),exports.RangeReferenceObject=Ei,Object.defineProperty(exports,`ReferenceNodeFactory`,{enumerable:!0,get:function(){return Va}}),exports.RegisterFunctionMutation=Wt,Object.defineProperty(exports,`RegisterOtherFormulaService`,{enumerable:!0,get:function(){return Yv}}),exports.RemoveDefinedNameMutation=Cn,exports.RemoveFeatureCalculationMutation=Tn,exports.RemoveOtherFormulaMutation=Wn,exports.RemoveSuperTableMutation=Jn,exports.SUFFIX_TOKEN_SET=ae,exports.SetArrayFormulaDataMutation=Gt,exports.SetCellFormulaDependencyCalculationMutation=Fn,exports.SetCellFormulaDependencyCalculationResultMutation=In,exports.SetDefinedNameMutation=Sn,exports.SetDefinedNameMutationFactory=xn,exports.SetFeatureCalculationMutation=wn,exports.SetFormulaCalculationNotificationMutation=jn,exports.SetFormulaCalculationResultMutation=Mn,exports.SetFormulaCalculationStartMutation=En,exports.SetFormulaCalculationStopMutation=An,exports.SetFormulaDataMutation=Vn,exports.SetFormulaDependencyCalculationMutation=Nn,exports.SetFormulaDependencyCalculationResultMutation=Pn,exports.SetFormulaStringBatchCalculationMutation=On,exports.SetFormulaStringBatchCalculationResultMutation=kn,exports.SetImageFormulaDataMutation=Hn,exports.SetOtherFormulaMutation=Un,exports.SetQueryFormulaDependencyAllMutation=zn,exports.SetQueryFormulaDependencyAllResultMutation=Bn,exports.SetQueryFormulaDependencyMutation=Ln,exports.SetQueryFormulaDependencyResultMutation=Rn,exports.SetSuperTableMutation=qn,exports.SetSuperTableOptionMutation=Yn,exports.SetTriggerFormulaCalculationStartMutation=Dn,exports.SheetRowFilteredService=mr,exports.StringValueObject=I,Object.defineProperty(exports,`SuffixNodeFactory`,{enumerable:!0,get:function(){return Ua}}),exports.SuperTableService=Gn,Object.defineProperty(exports,`UnionNodeFactory`,{enumerable:!0,get:function(){return Ga}}),Object.defineProperty(exports,`UniverFormulaEnginePlugin`,{enumerable:!0,get:function(){return Xv}}),exports.ValueNodeFactory=qa,exports.ValueObjectFactory=bi,exports.compareToken=E,exports.convertUnitDataToRuntime=Rt,exports.deserializeRangeForR1C1=vo,exports.deserializeRangeWithSheet=rn,exports.deserializeRangeWithSheetWithCache=$n,exports.excelDateSerial=de,exports.extractFormulaError=xr,exports.functionArray=Do,exports.functionCompatibility=Jc,exports.functionCube=Yc,exports.functionDatabase=gl,exports.functionDate=Wl,exports.functionEngineering=Ju,exports.functionFinancial=vf,exports.functionInformation=Hf,exports.functionLogical=cp,exports.functionLookup=Kp,exports.functionMath=wh,exports.functionMeta=Mh,exports.functionStatistical=r_,exports.functionText=jv,exports.functionUniver=Mv,exports.functionWeb=Iv,exports.generateAstNode=da,exports.generateExecuteAstNodeData=Oa,exports.generateRandomDependencyTreeId=co,exports.generateStringWithSequence=nr,exports.getAbsoluteRefTypeWitString=Yt,exports.getAbsoluteRefTypeWithSingleString=Jt,exports.getObjectValue=Fv,exports.getRangeWithRefsString=cn,exports.handleNumfmtInCell=Pr,exports.handleRefStringInfo=nn,exports.includeFormulaLexerToken=Ve,exports.initSheetFormulaData=dr,exports.isFormulaLexerToken=Be,exports.isInDirtyRange=Le,exports.isReferenceString=Lt,exports.isReferenceStringWithEffectiveColumn=on,exports.isReferenceStrings=ln,exports.matchRefDrawToken=Ue,exports.matchToken=D,exports.needsQuoting=un,exports.normalizeSheetName=He,exports.operatorToken=T,exports.prefixToken=oe,exports.quoteSheetName=fn,exports.sequenceNodeType=tr,exports.serializeRange=Zt,exports.serializeRangeToRefString=en,exports.serializeRangeWithSheet=Qt,exports.serializeRangeWithSpreadsheet=$t,exports.singleReferenceToGrid=tn,exports.splitTableStructuredRef=_n,exports.strip=ci,exports.stripErrorMargin=ui,exports.unquoteSheetName=pn;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@univerjs/core`),l=require(`rxjs`),u=require(`@flatten-js/interval-tree`);u=s(u);let d=require(`decimal.js`);d=s(d);let f=require(`@univerjs/rpc`),p=function(e){return e.FALSE=`FALSE`,e.TRUE=`TRUE`,e}({}),m=function(e){return e[e.SUCCESS=0]=`SUCCESS`,e[e.ERROR=1]=`ERROR`,e}({}),h=function(e){return e.ALL=`#All`,e.DATA=`#Data`,e.HEADERS=`#Headers`,e.TOTALS=`#Totals`,e.THIS_ROW=`#This Row`,e}({}),g=function(e){return e[e.FRONT=0]=`FRONT`,e[e.BACK=1]=`BACK`,e}({});function _(e){"@babel/helpers - typeof";return _=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},_(e)}function v(e,t){if(_(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function y(e){var t=v(e,`string`);return _(t)==`symbol`?t:t+``}function b(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var x=class{constructor(e){b(this,`_cache`,void 0),this._cache=new c.LRUMap(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:(0,c.hashAlgorithm)(e).toString()}};let S=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 C=new Set(Object.values(S)),w=[...new Set(Object.values(S).map(e=>e.length))];var ee=class{constructor(){b(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 T=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}({}),E=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 te=new Map([[T.NOT_EQUAL,4],[T.LESS_THAN,4],[T.GREATER_THAN_OR_EQUAL,4],[T.EQUALS,4],[T.GREATER_THAN,4],[T.LESS_THAN_OR_EQUAL,4],[T.CONCATENATE,3],[T.PLUS,2],[T.MINUS,2],[T.DIVIDED,1],[T.MULTIPLY,1],[T.POWER,0]]),ne=new Set(te.keys()),re=new Set([T.EQUALS,T.NOT_EQUAL,T.GREATER_THAN,T.GREATER_THAN_OR_EQUAL,T.LESS_THAN,T.LESS_THAN_OR_EQUAL]);let D=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}({}),ie=function(e){return e.PERCENTAGE=`%`,e.POUND=`#`,e}({});const ae=new Set([ie.PERCENTAGE,ie.POUND]);let oe=function(e){return e.AT=`@`,e.MINUS=`-`,e.PLUS=`+`,e}({});var se=class extends ee{constructor(e){super(),this._rawValue=e,b(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 O.create(S.VALUE)}max(){return O.create(S.VALUE)}min(){return O.create(S.VALUE)}count(){return O.create(S.VALUE)}countA(){return O.create(S.VALUE)}countBlank(){return O.create(S.VALUE)}getNegative(){return O.create(S.VALUE)}getReciprocal(){return O.create(S.VALUE)}plus(e){return O.create(S.VALUE)}minus(e){return O.create(S.VALUE)}multiply(e){return O.create(S.VALUE)}divided(e){return O.create(S.VALUE)}mod(e){return O.create(S.VALUE)}map(e){return O.create(S.NAME)}mapValue(e){return O.create(S.NAME)}compare(e,t,n=!1){return O.create(S.NAME)}isEqual(e){return this.compare(e,E.EQUALS)}isNotEqual(e){return this.compare(e,E.NOT_EQUAL)}isGreaterThanOrEqual(e){return this.compare(e,E.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(e){return this.compare(e,E.LESS_THAN_OR_EQUAL)}isLessThan(e){return this.compare(e,E.LESS_THAN)}isGreaterThan(e){return this.compare(e,E.GREATER_THAN)}concatenateFront(e){return O.create(S.NAME)}concatenateBack(e){return O.create(S.NAME)}plusBy(e){return O.create(S.VALUE)}minusBy(e){return O.create(S.VALUE)}multiplyBy(e){return O.create(S.VALUE)}dividedBy(e){return O.create(S.VALUE)}modInverse(e){return O.create(S.VALUE)}compareBy(e,t,n=!1){return O.create(S.NAME)}concatenate(e,t=g.FRONT){let n=this.getValue().toString();if(typeof e==`string`)t===g.FRONT?n=e+n:n+=e;else if(typeof e==`number`)t===g.FRONT?n=e.toString()+n:n+=e.toString();else if(typeof e==`boolean`){let r=e?`TRUE`:`FALSE`;t===g.FRONT?n=r+n:n+=r}return n}pow(e){return O.create(S.VALUE)}powInverse(e){return O.create(S.VALUE)}sqrt(){return O.create(S.VALUE)}cbrt(){return O.create(S.VALUE)}cos(){return O.create(S.VALUE)}cosh(){return O.create(S.VALUE)}acos(){return O.create(S.VALUE)}acosh(){return O.create(S.VALUE)}sin(){return O.create(S.VALUE)}sinh(){return O.create(S.VALUE)}asin(){return O.create(S.VALUE)}asinh(){return O.create(S.VALUE)}tan(){return O.create(S.VALUE)}tanh(){return O.create(S.VALUE)}atan(){return O.create(S.VALUE)}atan2(e){return O.create(S.VALUE)}atan2Inverse(e){return O.create(S.VALUE)}atanh(){return O.create(S.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return O.create(S.VALUE)}log10(){return O.create(S.VALUE)}exp(){return O.create(S.VALUE)}abs(){return O.create(S.VALUE)}round(e){return O.create(S.VALUE)}roundInverse(e){return O.create(S.VALUE)}floor(e){return O.create(S.VALUE)}floorInverse(e){return O.create(S.VALUE)}ceil(e){return O.create(S.VALUE)}ceilInverse(e){return O.create(S.VALUE)}convertToNumberObjectValue(){return O.create(S.VALUE)}convertToBooleanObjectValue(){return O.create(S.VALUE)}};const ce=new x(1e3);var O=class e extends se{static create(t,n=``){let r=`${t}-${n}`,i=ce.get(r);if(i)return i;let a=new e(t,n);return ce.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 le=`yyyy/mm/dd;@`,ue=1440*60*1e3;function de(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)/ue;return r>n&&(i+=1),Math.floor(i)+1}function fe(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)/ue;return r>n&&(i+=1),i+1}function k(e){let t=Date.UTC(1900,0,1),n=Date.UTC(1900,1,28),r=Math.floor(e)-1;return r>(n-t)/ue&&--r,new Date(t+r*ue)}function pe(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)/ue&&--r,r<0&&(r=e),new Date(t+r*ue)}function me(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 he(e){return c.numfmt.parseDate(e)}function ge(e){return c.numfmt.parseTime(e)}function _e(e){return c.numfmt.getFormatInfo(e).isDate}const ve={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 ye(e){return!!(typeof e==`string`&&/^[0|1]{7}/.test(e)||ve[Number(e)])}function be(e){if(!ye(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 ve[Number(e)]||[]}function xe(e,t,n=1,r){let i=be(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=Ce(t);i.includes(n)||c++}return o>=a?c:-c}function Se(e,t,n=1,r){let i=be(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 O.create(S.NUM);if(r&&r.length>0&&r.some(e=>Math.floor(e)===n)){s++;continue}let c=Ce(n);if(i.includes(c)){s++;continue}o=n}return o}function A(e){if(e.isError())return e;let t=e.getValue();if(e.isString()){let e;if(he(`${t}`))e=he(`${t}`).v;else if(ge(`${t}`))e=ge(`${t}`).v;else if((0,c.isRealNum)(t))e=+t;else return O.create(S.VALUE);return e instanceof Date&&(e=fe(e)),+e<0||+e>2958465?O.create(S.NUM):+e}else{let t=+e.getValue();return t<0||t>2958465?O.create(S.NUM):t}}function Ce(e){let t=Math.floor(e)===60,n=k(e),r=Date.UTC(1900,1,28),i=Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate());return!t&&i<=r&&(n=new Date(i-ue)),n.getUTCDay()}function we(e,t,n){switch(n){case 0:return Te(e,t);case 1:return Ee(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 De(e,t);default:return{days:Math.abs(t-e),yearDays:365}}}function Te(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=k(t),s=t>0?o.getUTCFullYear():1900,c=t>0?o.getUTCMonth()+1:1,l=t>0?o.getUTCDate():0;i===2?k(e+1).getUTCMonth()+1===3&&(a=30):a===31&&(a=30),l===31&&(a<30?(o=k(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 Ee(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=k(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=de(e),l=de(t),a===1900&&(c+=1)}else{let e=new Date(Date.UTC(r,0,1)),t=new Date(Date.UTC(a,11,31));c=de(e),l=de(t),r===1900&&(c+=1)}return{days:o,yearDays:(l-c+1)/s}}function De(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=e>0?n.getUTCMonth()+1:1,a=e>0?n.getUTCDate():0,o=k(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 Oe(e){return e%4==0&&e%100!=0||e%400==0}function ke(e){return e%4==0&&e%100!=0||e%400==0||e===1900}const Ae=[31,29,31,30,31,30,31,31,30,31,30,31],je=[31,28,31,30,31,30,31,31,30,31,30,31];function Me(e,t){return Oe(e)?Ae[t]:je[t]}function Ne(e){return ke(e)?366:365}function Pe(e,t){switch(t){case 0:case 2:case 4:return 360;case 1:return Ne(k(e).getUTCFullYear());case 3:return 365;default:return-1}}function Fe(e,t,n){return Me(e,t)===n}function Ie(e,t){let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return Fe(n,r,i)?(e.setUTCDate(1),e.setUTCMonth(e.getUTCMonth()+t),n=e.getUTCFullYear(),r=e.getUTCMonth(),e.setUTCDate(Me(n,r))):e.setUTCMonth(e.getUTCMonth()+t),e}function Le(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 Re=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 ze=[...Object.values(E),...Object.values(T),...Object.values(D),...Object.values(ie),...Object.values(oe)];function Be(e){return ze.includes(e)}function Ve(e){for(let t of ze)if(e.indexOf(t)>-1)return!0;return!1}function He(e){return e[0]===`'`&&e[e.length-1]===`'`?e.substring(1,e.length-1):e}function Ue(e){return Be(e)&&e!==D.CLOSE_BRACES&&e!==D.CLOSE_BRACKET&&e!==D.SINGLE_QUOTATION&&e!==D.DOUBLE_QUOTATION||e===` `}const We=new Set([T.PLUS,T.MINUS,T.MULTIPLY,T.DIVIDED,T.CONCATENATE,T.POWER,T.EQUALS,T.NOT_EQUAL,T.GREATER_THAN,T.GREATER_THAN_OR_EQUAL,T.LESS_THAN,T.LESS_THAN_OR_EQUAL,D.OPEN_BRACKET,D.COMMA,D.COLON,D.OPEN_BRACES,D.OPEN_SQUARE_BRACKET]);function Ge(e){return We.has(e)}const Ke=new Set([T.PLUS,T.MINUS,T.MULTIPLY,T.DIVIDED,T.CONCATENATE,T.POWER,T.EQUALS,T.NOT_EQUAL,T.GREATER_THAN,T.GREATER_THAN_OR_EQUAL,T.LESS_THAN,T.LESS_THAN_OR_EQUAL,D.OPEN_BRACKET,D.COMMA,D.COLON,D.OPEN_BRACES,D.OPEN_SQUARE_BRACKET,ie.PERCENTAGE,ie.POUND]);function qe(e){return Ke.has(e)}const Je=`\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]`,Ye=new RegExp(Je),Xe=`\\s*?:\\s*?`,Ze=`[A-Za-z]+`,Qe=`[1-9][0-9]*`,$e=`'?(${Je})?(((?![\\[\\]\\/?*\\\\]).)*!)?'?`,et=`\\\$?${Ze}\\\$?${Qe}`,tt=`^(${oe.AT})?${$e}${et}${Xe}${et}$`,nt=new RegExp(tt),rt=`^${$e}\\s*?${et}(${ie.POUND})?$`,it=new RegExp(rt),at=`^${$e}\\\$?${Qe}${Xe}\\\$?${Qe}$`,ot=new RegExp(at),st=`^${$e}\\\$?${Ze}${Xe}\\\$?${Ze}$`,ct=new RegExp(st),lt=`^${$e}\\s*?\\\$?${Qe}$`,ut=new RegExp(lt),dt=`^${$e}\\s*?\\\$?${Ze}$`,ft=new RegExp(dt),pt=`((?![~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()【】\\[\\]\\/\\\\]).)+`,mt=`\\[#.+\\]\\s*?,\\s*?`,ht=`\\[((?<!#).)*\\]`,gt=`${ht}${Xe}${ht}`,_t=`^(${Je})?${pt}$`,vt=`^(${Je})?${pt}(${ht}|\\[${mt}${ht}\\])+$`,yt=`^(${Je})?${pt}(\\[${gt}\\])?$|^${pt}(\\[${mt}${gt}\\])?$`,bt=`^(${Je})?${pt}\\[\\s*#([^\\]]+)\\s*\\]$`,xt=new RegExp(_t),St=new RegExp(vt),Ct=new RegExp(yt),wt=new RegExp(bt),Tt=RegExp(`{.*?}`,`g`);function Et(e){return it.lastIndex=0,it.test(e)}function Dt(e){return nt.lastIndex=0,nt.test(e)}function Ot(e){return ot.lastIndex=0,ot.test(e)}function kt(e){return ct.lastIndex=0,ct.test(e)}function At(e){return ut.lastIndex=0,ut.test(e)}function jt(e){return ft.lastIndex=0,ft.test(e)}function Mt(e){return xt.lastIndex=0,xt.test(e)}function Nt(e){return St.lastIndex=0,St.test(e)}function Pt(e){return Ct.lastIndex=0,Ct.test(e)}function Ft(e){return wt.lastIndex=0,wt.test(e)}function It(e){return Tt.lastIndex=0,Tt.test(e)}function Lt(e){return Et(e)||Dt(e)||Ot(e)||kt(e)}function Rt(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 c.ObjectMatrix(i)})}),t}function zt(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 Bt=`LO_1`,Vt=`LAMBDA`,Ht=new Set([`RAND`,`RANDBETWEEN`,`NOW`,`TODAY`]),Ut={type:c.CommandType.MUTATION,id:`sheet.mutation.data-validation-formula-mark-dirty`,handler(){return!0}},Wt={id:`formula.mutation.register-function`,type:c.CommandType.MUTATION,handler:()=>!0},Gt={id:`formula.mutation.set-array-formula-data`,type:c.CommandType.MUTATION,handler:(e,t)=>!0},Kt=/[^0-9]/g,qt=/[^A-Za-z]/g;function Jt(e){let t=e[0]===`$`,n=e.substring(1),r=n.indexOf(`$`)>-1;return c.Tools.isStringNumber(n)&&t&&!r&&(t=!1,r=!0),t&&r?c.AbsoluteRefType.ALL:t?c.AbsoluteRefType.COLUMN:r?c.AbsoluteRefType.ROW:c.AbsoluteRefType.NONE}function Yt(e){let t=e.split(`!`);t.length>1&&(e=t[t.length-1]);let n=e.split(`:`);return n.length>1?{startAbsoluteRefType:Jt(n[0]),endAbsoluteRefType:Jt(n[1])}:{startAbsoluteRefType:Jt(n[0])}}function Xt(e=c.AbsoluteRefType.NONE){let t=``,n=``;return e===c.AbsoluteRefType.ROW?t=`$`:e===c.AbsoluteRefType.COLUMN?n=`$`:e===c.AbsoluteRefType.ALL&&(t=`$`,n=`$`),{rowAbsoluteString:t,columnAbsoluteString:n}}function Zt(e){let{startColumn:t,startRow:n,endColumn:r,endRow:i,startAbsoluteRefType:a,endAbsoluteRefType:o,rangeType:s=c.RANGE_TYPE.NORMAL}=e,l=Xt(a),u=Xt(o);if(s===c.RANGE_TYPE.ROW||s===c.RANGE_TYPE.ALL)return`${`${l.rowAbsoluteString}${n+1}`}:${`${u.rowAbsoluteString}${i+1}`}`;if(s===c.RANGE_TYPE.COLUMN)return`${`${l.columnAbsoluteString}${c.Tools.chatAtABC(t)}`}:${`${u.columnAbsoluteString}${c.Tools.chatAtABC(r)}`}`;let d=`${l.columnAbsoluteString}${c.Tools.chatAtABC(t)}${l.rowAbsoluteString}${n+1}`,f=`${u.columnAbsoluteString}${c.Tools.chatAtABC(r)}${u.rowAbsoluteString}${i+1}`;return d===f?d:`${d}:${f}`}function Qt(e,t){return`${dn(e)}!${Zt(t)}`}function $t(e,t,n){return un(e)||un(t)?`'[${fn(e)}]${fn(t)}'!${Zt(n)}`:`[${e}]${t}!${Zt(n)}`}function en(e){let{unitId:t,sheetName:n,range:r}=e;return t!=null&&t.length>0&&n!=null&&n.length>0?$t(t,n,r):n!=null&&n.length>0?Qt(n,r):Zt(r)}function tn(e){return{row:Number.parseInt(e.replace(Kt,``))-1,column:c.Tools.ABCatNum(e.replace(qt,``)),absoluteRefType:Jt(e)}}function nn(e){let t=Ye.exec(e),n=``;t!=null&&(n=t[0].trim(),n=pn(n.slice(1,n.length-1)),e=e.replace(Ye,``));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=pn(i),a=e.substring(r+1)):a=e,{refBody:a,sheetName:i,unitId:n}}function rn(e){let{refBody:t,sheetName:n,unitId:r}=nn(e),i=t.indexOf(`:`);if(i===-1){let e=tn(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=tn(a),l=tn(o),u=s.row>l.row?l.row:s.row,d=s.column>l.column?l.column:s.column,f=s.row>l.row?s.row:l.row,p=s.column>l.column?s.column:l.column,m=c.RANGE_TYPE.NORMAL;return Number.isNaN(u)&&Number.isNaN(f)?m=c.RANGE_TYPE.COLUMN:Number.isNaN(d)&&Number.isNaN(p)&&(m=c.RANGE_TYPE.ROW),{unitId:r,sheetName:n,range:{startRow:u,startColumn:d,endRow:f,endColumn:p,startAbsoluteRefType:s.absoluteRefType,endAbsoluteRefType:l.absoluteRefType,rangeType:m}}}const an=[`LOG10`];function on(e){let t=sn(e);if(!Lt(t)||an.includes(t.toUpperCase().trim()))return!1;let{range:n}=rn(t);return!(n.endColumn>=c.MAX_COLUMN_COUNT)}function sn(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===oe.AT||i===oe.MINUS||i===oe.PLUS))continue;else t.push(i),n=!0}return t.join(``)}function cn(e,t){let n=(e==null?void 0:e.split(`,`))||[];return e===``||n.length===0||!ln(e)?[]:n.map(e=>{let n=rn(e);return{unitId:n.unitId,sheetId:t(n.sheetName),range:n.range,sheetName:n.sheetName}})}function ln(e){return((e==null?void 0:e.split(`,`))||[]).every(e=>on(e.trim()))}function un(e){return e.length===0?!1:!!(Ve(e)||mn(e)||hn(e)||gn(e)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?()]/.test(e))}function dn(e){return un(e)?`'${fn(e)}'`:e}function fn(e){return e.replace(/'/g,`''`)}function pn(e){return e.replace(/''/g,`'`)}function mn(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>c.MAX_ROW_COUNT)return!1;let a=(0,c.columnLabelToNumber)(n);return!(a<1||a>c.MAX_COLUMN_COUNT)}function hn(e){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(e)}function gn(e){return!/^\p{Letter}/u.test(e.charAt(0))}function _n(e){let t=e.indexOf(`[`);return t===-1?{tableName:e,struct:``}:{tableName:e.slice(0,t),columnStruct:e.slice(t)}}function j(e,t){return function(n,r){t(n,r,e)}}function vn(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 yn=class extends c.Disposable{constructor(e){super(),this._univerInstanceService=e,b(this,`_definedNameMap`,{}),b(this,`_nameCacheMap`,{}),b(this,`_update$`,new l.Subject),b(this,`update$`,this._update$.asObservable()),b(this,`_currentRange`,{unitId:``,sheetId:``,range:{startRow:0,endRow:0,startColumn:0,endColumn:0}}),b(this,`_currentRange$`,new l.Subject),b(this,`currentRange$`,this._currentRange$.asObservable()),b(this,`_focusRange$`,new l.Subject),b(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}=nn(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 Zt(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}};yn=vn([j(0,c.IUniverInstanceService)],yn);const bn=(0,c.createIdentifier)(`univer.formula.defined-names.service`),xn=(e,t)=>{let{unitId:n,id:r}=t;return{...e.get(bn).getValueById(n,r),unitId:n}},Sn={id:`formula.mutation.set-defined-name`,type:c.CommandType.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(bn),{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}},Cn={id:`formula.mutation.remove-defined-name`,type:c.CommandType.MUTATION,handler:(e,t)=>{if(t==null)return!1;let n=e.get(bn),{unitId:r,id:i}=t;return n.removeDefinedName(r,i),!0}},wn={id:`formula.mutation.set-feature-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},Tn={id:`formula.mutation.remove-feature-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},En={id:`formula.mutation.set-formula-calculation-start`,type:c.CommandType.MUTATION,handler:()=>!0},Dn={id:`formula.mutation.set-trigger-formula-calculation-start`,type:c.CommandType.MUTATION,handler:()=>!0},On={id:`formula.mutation.set-formula-string-batch-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},kn={id:`formula.mutation.set-formula-string-batch-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},An={id:`formula.mutation.set-formula-calculation-stop`,type:c.CommandType.MUTATION,handler:()=>!0},jn={id:`formula.mutation.set-formula-calculation-notification`,type:c.CommandType.MUTATION,handler:()=>!0},Mn={id:`formula.mutation.set-formula-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},Nn={id:`formula.mutation.set-formula-dependency-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},Pn={id:`formula.mutation.set-formula-dependency-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},Fn={id:`formula.mutation.set-cell-formula-dependency-calculation`,type:c.CommandType.MUTATION,handler:()=>!0},In={id:`formula.mutation.set-cell-formula-dependency-calculation-result`,type:c.CommandType.MUTATION,handler:()=>!0},Ln={id:`formula.mutation.set-query-formula-dependency`,type:c.CommandType.MUTATION,handler:()=>!0},Rn={id:`formula.mutation.set-query-formula-dependency-result`,type:c.CommandType.MUTATION,handler:()=>!0},zn={id:`formula.mutation.set-query-formula-dependency-all`,type:c.CommandType.MUTATION,handler:()=>!0},Bn={id:`formula.mutation.set-query-formula-dependency-all-result`,type:c.CommandType.MUTATION,handler:()=>!0},Vn={id:`formula.mutation.set-formula-data`,type:c.CommandType.MUTATION,handler:(e,t)=>!0},Hn={id:`formula.mutation.set-image-formula-data`,type:c.CommandType.MUTATION,handler:(e,t)=>!0},Un={id:`formula.mutation.set-other-formula`,type:c.CommandType.MUTATION,handler:()=>!0},Wn={id:`formula.mutation.remove-other-formula`,type:c.CommandType.MUTATION,handler:()=>!0};var Gn=class extends c.Disposable{constructor(){super(),b(this,`_tableMap`,new Map),b(this,`_tableOptionMap`,new Map),b(this,`_update$`,new l.Subject),b(this,`update$`,this._update$.asObservable()),this.registerTableOptionMap(h.ALL,h.ALL),this.registerTableOptionMap(h.DATA,h.DATA),this.registerTableOptionMap(h.HEADERS,h.HEADERS),this.registerTableOptionMap(h.TOTALS,h.TOTALS),this.registerTableOptionMap(h.THIS_ROW,h.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 Kn=(0,c.createIdentifier)(`univer.formula.super-table.service`),qn={id:`formula.mutation.set-super-table`,type:c.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r,reference:i}=t;return e.get(Kn).registerTable(n,r,i),!0}},Jn={id:`formula.mutation.remove-super-table`,type:c.CommandType.MUTATION,handler:(e,t)=>{let{unitId:n,tableName:r}=t;return e.get(Kn).remove(n,r),!0}},Yn={id:`formula.mutation.set-super-table-option`,type:c.CommandType.MUTATION,handler:(e,t)=>{let{tableOption:n,tableOptionType:r}=t;return e.get(Kn).registerTableOptionMap(n,r),!0}},Xn=`engine-formula.config`;Symbol(Xn);const Zn={},Qn=new x(1e5);function $n(e){let t=Qn.get(e);if(t)return t;let n=rn(e);return Qn.set(e,n),rn(e)}function er(){Qn.clear()}let tr=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 nr(e){let t=``;for(let n of e)typeof n==`string`?t+=n:t+=n.token;return t}var M=class e{constructor(){b(this,`_parent`,void 0),b(this,`_token`,`R_1`),b(this,`_children`,[]),b(this,`_lambdaId`,void 0),b(this,`_functionDefinitionPrivacyVar`,void 0),b(this,`_lambdaParameter`,``),b(this,`_startIndex`,-1),b(this,`_endIndex`,-1),b(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}},rr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.FUNCTION=1]=`FUNCTION`,e[e.LAMBDA=2]=`LAMBDA`,e}(rr||{});const ir=2e3,ar=new x(ir),or=new x(ir);var sr=class extends c.Disposable{constructor(...e){super(...e),b(this,`_currentLexerNode`,new M),b(this,`_upLevel`,0),b(this,`_segment`,``),b(this,`_bracketState`,[]),b(this,`_openBracketNormalIndexStack`,[]),b(this,`_squareBracketState`,0),b(this,`_bracesState`,0),b(this,`_singleQuotationState`,0),b(this,`_doubleQuotationState`,0),b(this,`_lambdaState`,!1),b(this,`_colonState`,!1),b(this,`_formulaErrorCount`,0),b(this,`_tableBracketState`,!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),ar.clear(),or.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===S.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`&&!Be(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===D.CLOSE_BRACKET||r===` `)&&n>=0;)r===D.CLOSE_BRACKET&&t++,r=e[--n];let i=this._getCurrentParamIndex(e,e.length-2);if(i==null||i===S.VALUE)return 0;let a=i[0];if(typeof a==`string`)return 0;let o=a.getParent(),s=0;for(i[1]===D.OPEN_BRACKET&&s++;o;){let e=o.getToken();e!==`P_1`&&e!==D.COLON&&o.getStartIndex()!==-1&&e.toUpperCase()!==`LAMBDA`&&(t===0?s+=1:t--),o=o.getParent()}return s}sequenceNodesBuilder(e){let t=or.get(e);if(t)return[...t];let n=this._getSequenceArray(e);if(n.length===0)return;let r=this.getSequenceNode(n);return or.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)===T.EQUALS&&(a=T.EQUALS);for(let e=0,a=i.length;e<a;e++){let o=i[e];if(typeof o!=`string`&&o.nodeType===tr.REFERENCE){let{token:s,endIndex:c}=o,l=$n(s);if(l==null)continue;let{range:u,sheetName:d,unitId:f}=l,p=en({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}${nr(i)}`}moveFormulaRefOffset(e,t,n,r=!1){let i=this.sequenceNodesBuilder(e);if(i==null)return e;let a=[];for(let e=0,o=i.length;e<o;e++){let o=i[e];if(typeof o==`string`||o.nodeType!==tr.REFERENCE){a.push(o);continue}let{token:s}=o,l=$n(s),{sheetName:u,unitId:d}=l,f=l.range;if(!r&&f.startAbsoluteRefType===c.AbsoluteRefType.ALL&&f.endAbsoluteRefType===c.AbsoluteRefType.ALL){a.push(o);continue}else f=(0,c.moveRangeByOffset)(f,t,n,r);let p=``;p=(0,c.isValidRange)(f)?en({range:f,unitId:d,sheetName:u}):S.REF,a.push({...o,token:p})}return`=${nr(a)}`}_formulaSpellCheck(){if(this._currentLexerNode.getChildren().length===0)return!0;let e=this._currentLexerNode.getChildren()[0];return e instanceof M?!0:!!(this._passArrayOperator(e)||ne.has(e)||ae.has(e)||e===oe.AT||e===D.COMMA||e===D.COLON||e===D.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 M?!1:!!ne.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:l}=a;if(l===D.DOUBLE_QUOTATION&&(n=!0),(s!==``||r===0)&&r!==i-1){t.push(l);continue}let u=(o==null?void 0:o.segment)||``,d=r-u.length,f=r-1,p=r-1;if(r===i-1&&this._isLastMergeString(l)&&(u+=l,f+=1),u===``||te.has(u)){t.push(l);continue}let m=u.trim(),h=sn(m);n===!0&&m[m.length-1]===D.DOUBLE_QUOTATION&&m[0]!==D.OPEN_BRACES?(n=!1,this._processPushSequenceNode(t,tr.STRING,u,d,f,p)):Et(h)&&on(h)?this._processPushSequenceNode(t,tr.REFERENCE,u,d,f,p):c.Tools.isStringNumber(m)?this._processPushSequenceNode(t,tr.NUMBER,u,d,f,p):m.length>0&&this._processPushSequenceNode(t,tr.FUNCTION,u,d,f,p),(r!==i-1||!this._isLastMergeString(l))&&t.push(l)}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===D.DOUBLE_QUOTATION||c.Tools.isStringNumber(e)||!Be(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()===D.CLOSE_BRACES&&i!=null&&typeof i!=`string`&&i.nodeType===tr.FUNCTION&&i.token.trim().substring(0,1)===D.OPEN_BRACES){i.nodeType=tr.ARRAY,i.token+=n,i.endIndex+=n.length,r++;continue}t.push(n)}else{let i=e[r+1],a=e[r+2];i===D.COLON&&typeof n!=`string`&&a!=null&&typeof a!=`string`&&on((n.token+i+a.token).trim())&&(n.nodeType=tr.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(on(i.trim())){let e=r.length,a=n.startIndex,o=n.startIndex+e-1,s={nodeType:tr.NORMAL,token:r,startIndex:a,endIndex:o},c={nodeType:tr.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=ar.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===S.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===S.VALUE))return a;let l=this._getTopNode(this._currentLexerNode);if(l&&(this._currentLexerNode=l),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return S.VALUE;ar.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===tr.REFERENCE||l===tr.FUNCTION){l===tr.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||S.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+=S.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===S.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 M)a=this._suffixExpressionHandler(n),r.push(n);else{let a=n.trim();if(a===``)continue;if(ne.has(a)){if(a===T.PLUS&&this._deletePlusForPreNode(t[e-1]))continue;if(a!==T.PLUS&&a!==T.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===D.OPEN_BRACKET)break;let t=te.get(e),n=te.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===D.OPEN_BRACKET)i.push(n);else if(a===D.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 M)&&(n===D.OPEN_BRACKET||n===D.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===D.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===D.CLOSE_BRACKET||e instanceof M}_checkOpenBracket(e){return e===D.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof M?!1:ne.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof M)){let t=e.trim();if(ne.has(t)||t===D.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new M}_resetSegment(){this._segment=``}_openBracket(e=rr.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 M)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 M)&&this.isColonOpen()){let e=new M;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 M;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&&Ge(n))return!0;if(ae.has(n)){let n=this._findSecondLastNonSpaceToken(e,t);if(n==null||qe(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===D.OPEN_BRACKET||e===D.COMMA||e===T.EQUALS||e===``}_unexpectedEndingToken(e){return!!(this._isOperatorToken(e)||this._unexpectedEndingTokenExcludeOperator(e))}_isOperatorToken(e){return!!ne.has(e)}_getSequenceArray(e){let t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new M,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!==ie.POUND)return!0;let i=n[++r];for(;i===` `;)i=n[++r];return!!Be(i)}_checkIfErrorObject(e,t){return!!this._findErrorObject(e,t)}_findErrorObject(e,t){for(let n=0;n<w.length;n++){let r=w[n],i=t.slice(e,e+r).join(``).toUpperCase();if(C.has(i))return i}}_nodeMaker(e,t,n){let r=e.replace(/\r\n$|\r|\n/g,` `);r.substring(0,1)===T.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===ie.POUND&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()&&this._checkIfErrorObject(o,i)){let e=this._findErrorObject(o,i);if(e==null)return S.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===D.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,o),this._resetSegment()),this._openBracket(rr.FUNCTION),this._closeLambda();let n=i[o+1];if(n&&n===D.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return S.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(rr.NORMAL),this._openBracketNormalIndex(),this._resetSegment();else if(e===D.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===rr.NORMAL)this._pushNodeToChildren(e);else if(t===rr.FUNCTION){let e=i[o+1];if(e&&e===D.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&o!==a-1)return S.VALUE;this._newAndPushCurrentLexerNode(`L_1`,o,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&o!==a-1)return S.VALUE}else return S.VALUE;this._closeBracket()}else if(e===D.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){if(this._pushSegment(e),this._openBraces(),!this._formulaSpellCheck())return S.VALUE}else if(e===D.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(e),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(e===D.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(e),this._openSquareBracket();else if(e===D.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===D.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{let e=i[o+1];e&&e===D.DOUBLE_QUOTATION?o++:this._closeDoubleQuotation()}this._pushSegment(e)}else if(e===D.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation(),this._segmentCount()===0&&this._resetSegment();else{let n=i[o+1];if(n&&n===D.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===D.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){this._formulaErrorLastTokenCheck(i,o-1)&&this._formalErrorOccurred();let e=this._getCurrentBracket();if(e===rr.FUNCTION||e==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&o!==a-1&&e!=null)return S.VALUE;this._newAndPushCurrentLexerNode(`P_1`,o)}else{let e=new M;e.setToken(`CUBE`);let t=new M;t.setToken(`P_1`),t.changeToParent(e);let n=this._currentLexerNode.getParent();if(n&&n.getToken()===D.COLON){let r=n.getParent();if(!r)return S.VALUE;n.changeToParent(t),r.setChildren([]),e.changeToParent(r)}else return S.VALUE;this._changeCurrentBracket(rr.FUNCTION),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=e,this._newAndPushCurrentLexerNode(`P_1`,o)}}else if(e===D.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){let t=new M;t.setToken(e);let n=new M;n.setToken(`P_1`),n.setParent(t);let r=new M;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===oe.MINUS&&(e=new M,e.setToken(oe.MINUS),e.setIndex(o-this._segment.length,o-this._segment.length),s++),l===oe.AT||u===oe.AT){r=new M,r.setToken(oe.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 M;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(ae.has(e)&&this._checkSimilarErrorToken(e,o,i)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){this._pushNodeToChildren(this._segment);let t=new M;t.setToken(e),t.setIndex(o-1,o-1);let n=this._getLastChildCurrent();if(n instanceof M)n.changeToParent(t);else if(n===D.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(ne.has(e)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()&&this.isBracesClose()){let n=this._segment.trim();if(e===T.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(T.MINUS),this._addSequenceArray(t,e,o),this._resetSegment(),o++;continue}else if(this._unexpectedEndingToken(n))if(r===T.PLUS){this._pushSegment(T.MINUS),this._addSequenceArray(t,e,o),this._addSequenceArray(t,T.PLUS,o+1),o+=2;continue}else{this._pushSegment(T.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===T.LESS_THAN||e===T.GREATER_THAN){let r=i[o+1];if(r&&ne.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 S.VALUE}_isScientificNotation(e,t,n){let r=e[t-2];if(r&&Number.isNaN(Number(r))||!(n===T.MINUS||n===T.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 cr(e,t,n,r,i,a,o){let s=(o==null?void 0:o.f)||``,l=(o==null?void 0:o.si)||``,u=(0,c.isFormulaString)(s),d=(0,c.isFormulaId)(l),f=e.getValue(i,a),p=(f==null?void 0:f.f)||``,m=(f==null?void 0:f.si)||``,h=(f==null?void 0:f.x)||0,g=(f==null?void 0:f.y)||0;function _(){if((0,c.isFormulaString)(p)&&(0,c.isFormulaId)(m)&&h===0&&g===0){var e;let t=n==null||(e=n[m])==null?void 0:e.f;t?r.set(m,t):r.set(m,p)}}u&&d?(m!==l&&_(),e.setValue(i,a,{f:s,si:l}),n[l]={f:s,r:i,c:a},t.setValue(i,a,{f:s,si:l})):u&&!d?(p!==s&&_(),e.setValue(i,a,{f:s}),t.setValue(i,a,{f:s})):!u&&d?(m!==l&&_(),e.setValue(i,a,{f:``,si:l})):!u&&!d&&e.getValue(i,a)&&(_(),e.realDeleteValue(i,a),t.setValue(i,a,null))}function lr(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||c.Rectangle.intersects(o,i)&&a.push(o)});let{startRow:o,startColumn:s,endRow:l,endColumn:u}=i;for(let e=o;e<=l;e++)for(let n=s;n<=u;n++){let r=!1,i=(0,c.cellToRange)(e,n);a.some(e=>c.Rectangle.contains(e,i)?(r=!0,!0):!1),r||t.realDeleteValue(e,n)}}let ur=class extends c.Disposable{constructor(e,t){super(),this._univerInstanceService=e,this._lexerTreeBuilder=t,b(this,`_arrayFormulaRange`,{}),b(this,`_arrayFormulaCellData`,{}),b(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 c.ObjectMatrix(o),l=new c.ObjectMatrix;if(((i=this._arrayFormulaCellData[t])==null?void 0:i[e])!=null){var u;l=new c.ObjectMatrix((u=this._arrayFormulaCellData[t])==null?void 0:u[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++)l.setValue(e,t,null);s.realDeleteValue(e,t)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][e]=l.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 c.ObjectMatrix((r=this._arrayFormulaRange[t])==null?void 0:r[e]),s=new c.ObjectMatrix((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(c.UniverInstanceType.UNIVER_SHEET);return t.length===0||t.forEach(t=>{let n=t.getUnitId();e[n]={},t.getSheets().forEach(t=>{let r=t.getCellMatrix();dr(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?{}:(dr(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 c.ObjectMatrix(n[e]),a=new c.ObjectMatrix((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 c.ObjectMatrix),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 c.ObjectMatrix(a);o.getValue(n,r)&&(o.realDeleteValue(n,r),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}getCalculateData(){let e=this._univerInstanceService.getAllUnitsForType(c.UniverInstanceType.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 c.ObjectMatrix(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(c.UniverInstanceType.UNIVER_SHEET),t={};for(let n of e){let e=n.getUnitId(),r=n.getSheets();t[e]={};for(let n of r){let r=n.getSheetId();t[e][r]={};let i=n.getRowCount()-1,a={};for(let e=0;e<=i;e++)n.getRowVisible(e)||(a[e]={hd:c.BooleanNumber.TRUE});t[e][r]=a}}return t}updateFormulaData(e,t,n){let r=new c.ObjectMatrix(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 l=new c.ObjectMatrix(s[t]||{}),u=new c.ObjectMatrix;return r.forValue((e,t,n)=>{cr(l,u,i,a,e,t,n)}),l.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``;if((0,c.isFormulaId)(o)){let s=i==null?void 0:i[o],d=a.get(o);if(s&&!(0,c.isFormulaString)(r)){let n=s.f,r=t-s.c,i=e-s.r;l.setValue(e,t,{f:n,si:o,x:r,y:i}),u.setValue(e,t,{f:n,si:o,x:r,y:i})}else if(typeof d==`string`){let r=(n==null?void 0:n.x)||0,i=(n==null?void 0:n.y)||0,s=this._lexerTreeBuilder.moveFormulaRefOffset(d,r,i);a.set(o,{r:e,c:t,f:s}),l.setValue(e,t,{f:s,si:o}),u.setValue(e,t,{f:s,si:o})}else if(typeof d==`object`){let n=t-d.c,r=e-d.r;l.setValue(e,t,{f:d.f,si:o,x:n,y:r}),u.setValue(e,t,{f:d.f,si:o,x:n,y:r})}}}),u.getMatrix()}updateArrayFormulaRange(e,t,n){var r;let i=(r=this._arrayFormulaRange[e])==null?void 0:r[t];if(!i)return;let a=new c.ObjectMatrix(i);new c.ObjectMatrix(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 c.ObjectMatrix(a),s=(i=this._arrayFormulaCellData[e])==null?void 0:i[t];if(!s)return;let l=new c.ObjectMatrix(s);new c.ObjectMatrix(n).forValue((e,t,n)=>{lr(o,l,e,t)})}updateImageFormulaData(e,t,n){var r;let i=(r=this._unitImageFormulaData[e])==null?void 0:r[t];i&&new c.ObjectMatrix(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:l,si:u}=s;if((0,c.isFormulaString)(l))return l;if((0,c.isFormulaId)(u)){let n=null;return o.forValue((r,i,a)=>{if(a==null)return!0;let{f:o,si:s}=a;if((0,c.isFormulaString)(o)&&u===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=(0,c.isFormulaString)(r==null?void 0:r.f)||(0,c.isFormulaId)(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 l=s[n].slice(-1)[0];l&&l.endRow===t-1?l.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.RANGE_TYPE.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;(0,c.isFormulaString)(i)&&(0,c.isFormulaId)(a)&&(n[a]={f:i,r:e,c:t})}),n}};ur=vn([j(0,c.IUniverInstanceService),j(1,(0,c.Inject)(sr))],ur);function dr(e,t,n,r){e[t]||(e[t]={}),e[t][n]||(e[t][n]={});let i=new Map,a=new c.ObjectMatrix(e[t][n]);r.forValue((e,t,n)=>{let r=(n==null?void 0:n.f)||``,o=(n==null?void 0:n.si)||``,s=(0,c.isFormulaString)(r),l=(0,c.isFormulaId)(o);s&&l?(a.setValue(e,t,{f:r,si:o}),i.set(o,{f:r,r:e,c:t})):s&&!l?a.setValue(e,t,{f:r}):!s&&l&&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((0,c.isFormulaId)(o)&&!(0,c.isFormulaString)(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 fr=Symbol(`EMPTY_CELL`),pr=new class{constructor(){b(this,`_cache`,new Map),b(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=fr);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=fr);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 u.default,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 mr=class extends c.Disposable{constructor(...e){super(...e),b(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 hr=(0,c.createIdentifier)(`univer.formula.sheet-row-filtered.service`);let gr=class extends c.Disposable{constructor(e,t,n,r){super(),this._univerInstanceService=e,this._localeService=t,this._formulaDataModel=n,this._sheetRowFilteredService=r,b(this,`_unitData`,{}),b(this,`_unitStylesData`,{}),b(this,`_arrayFormulaCellData`,{}),b(this,`_arrayFormulaRange`,{}),b(this,`_formulaData`,{}),b(this,`_sheetNameMap`,{}),b(this,`_forceCalculate`,!1),b(this,`_clearDependencyTreeCache`,{}),b(this,`_dirtyRanges`,[]),b(this,`_dirtyNameMap`,{}),b(this,`_dirtyDefinedNameMap`,{}),b(this,`_dirtyUnitFeatureMap`,{}),b(this,`_dirtyUnitOtherFormulaMap`,{}),b(this,`_excludedCell`,void 0),b(this,`_sheetIdToNameMap`,{}),b(this,`_executeUnitId`,``),b(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(c.UniverInstanceType.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=Rt(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=Rt(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(c.UniverInstanceType.UNIVER_SHEET),t=e==null?void 0:e.getActiveSheet();return this._executeUnitId=e==null?void 0:e.getUnitId(),this._executeSubUnitId=t==null?void 0:t.getSheetId(),this._formulaDataModel.getCalculateData()}_applyUnitRowData(e){for(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 c.ObjectMatrix({}),rowCount:0,columnCount:0,rowData:{},columnData:{}}),this._unitData[t][n].rowData=e[t][n])}};gr=vn([j(0,c.IUniverInstanceService),j(1,(0,c.Inject)(c.LocaleService)),j(2,(0,c.Inject)(ur)),j(3,(0,c.Inject)(hr))],gr);const _r=(0,c.createIdentifier)(`univer.formula.current-data.service`);let vr=class extends c.Disposable{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}};vr=vn([j(0,bn),j(1,(0,c.Inject)(sr)),j(2,_r)],vr);function yr(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 br(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 c.BuildTextUtils.transform.getPlainText(n)}return(t=e==null?void 0:e.v)==null?0:t}function xr(e,t=!1){return!t&&!((0,c.isFormulaString)(e==null?void 0:e.f)||(0,c.isFormulaId)(e==null?void 0:e.si))?null:typeof(e==null?void 0:e.v)==`string`&&C.has(e.v)?e.v:null}function Sr(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 Cr=function(e){return e[e.MIN=0]=`MIN`,e[e.MAX=1]=`MAX`,e}({}),wr=function(e){return e[e.NORMAL=0]=`NORMAL`,e[e.MIN=1]=`MIN`,e[e.MAX=2]=`MAX`,e}({});function Tr(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(e,t)=>e.localeCompare(t)}function Er(e){return e.indexOf(`*`)>-1||e.indexOf(`?`)>-1}function Dr(e,t){let n=Ar(t).replace(/~?[*?]/g,e=>e.startsWith(`~`)?`\\${e.substring(1)}`:e===`*`?`.*`:e===`?`?`.`:e);return RegExp(`^${n}$`).test(e)}function Or(e){return e.replace(/~?[*?]/g,e=>e.startsWith(`~`)?e.substring(1):` `)}function kr(e,t,n){let r=!1;switch(n){case E.EQUALS:r=Dr(e,t);break;case E.NOT_EQUAL:r=!Dr(e,t);break;case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:r=Dr(e,t)||e>Or(t);break;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:r=e<Or(t);break;default:break}return r}function Ar(e){return e.replace(/[.+^${}()|[\]\\]/g,`\\$&`)}function jr(e){switch(e){case 1:return wr.MAX;case 0:return wr.NORMAL;case-1:return wr.MIN;default:return wr.NORMAL}}function Mr(e){return e===-2?Cr.MAX:Cr.MIN}var Nr=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}(Nr||{});Nr.Currency,Nr.Date,Nr.Time,Nr.Custom,Nr.Fraction,Nr.General,Nr.Custom,Nr.Number,Nr.Percentage,Nr.Scientific,Nr.Text,Nr.Time,Nr.Custom;function Pr(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 Fr=new x(1e5);function Ir(){Fr.clear()}const Lr=new Map([[c.LocaleType.EN_US,`$`],[c.LocaleType.RU_RU,`₽`],[c.LocaleType.VI_VN,`₫`],[c.LocaleType.ZH_CN,`¥`],[c.LocaleType.ZH_TW,`NT$`],[c.LocaleType.FR_FR,`€`],[c.LocaleType.FA_IR,`﷼`],[c.LocaleType.KO_KR,`₩`],[c.LocaleType.ES_ES,`€`],[c.LocaleType.CA_ES,`€`]]);function Rr(e){return Lr.get(e)||`$`}function zr(e,t=2){let n=t;t>127&&(n=127);let r=``;return n>0&&(r=`.${`0`.repeat(n)}`),`"${Rr(e)}"#,##0${r}_);[Red]("${Rr(e)}"#,##0${r})`}function Br(e,t,n=2){return c.numfmt.format(zr(e,n),t)}const Vr=new x(1e5);function Hr(e){let t=e;t.startsWith(`"`)&&t.endsWith(`"`)&&(t=t.slice(1,-1));let n=Vr.get(t);if(n)return{isNumberPattern:!0,value:n.value,pattern:n.pattern};let r=(0,c.getNumfmtParseValueFilter)(t);return r&&r.z?Ur(t,r.v,r.z):{isNumberPattern:!1}}function Ur(e,t,n){return Vr.set(e,{value:t,pattern:n}),{isNumberPattern:!0,value:t,pattern:n}}function Wr(){Vr.clear()}function Gr(e){let t;switch(e){case E.EQUALS:t=E.EQUALS;break;case E.GREATER_THAN:t=E.LESS_THAN;break;case E.GREATER_THAN_OR_EQUAL:t=E.LESS_THAN_OR_EQUAL;break;case E.LESS_THAN:t=E.GREATER_THAN;break;case E.LESS_THAN_OR_EQUAL:t=E.GREATER_THAN_OR_EQUAL;break;case E.NOT_EQUAL:t=E.NOT_EQUAL;break}return t}function Kr(e,t){let n=e+t;return Number.isSafeInteger(n)?n:new d.default(e).add(t).toNumber()}function qr(e,t){let n=e-t;return Number.isSafeInteger(n)?n:new d.default(e).sub(t).toNumber()}function Jr(e,t){let n=e*t;return Number.isSafeInteger(n)?n:new d.default(e).mul(t).toNumber()}function Yr(e,t){let n=e/t;return Number.isSafeInteger(n)?n:new d.default(e).div(t).toNumber()}function Xr(e,t){let n=10**Math.trunc(t),r=$r(e,n);return Math.round(Jr(e,n)+r)/n}function Zr(e,t){let n=10**Math.trunc(t),r=$r(e,n);return Math.floor(Jr(e,n)+r)/n}function Qr(e,t){let n=10**Math.trunc(t),r=$r(e,n);return Math.ceil(Jr(e,n)-r)/n}function $r(e,t){return 2**-52*Math.max(1,Math.abs(Jr(e,t)))}function ei(e,t){return e-t*Math.floor(e/t)}function ti(e,t){return e**t}function ni(e){return Math.sqrt(e)}function ri(e,t){return e===t}function ii(e,t){return e>t}function ai(e,t){return e>=t}function oi(e,t){return e<t}function si(e,t){return e<=t}function ci(e,t=15){return Math.floor(Math.abs(e)).toString().length>=t?e:Number.parseFloat(e.toPrecision(t))}function li(e,t,n=2**-52){return Math.abs(e-t)<n}function ui(e,t=12,n=1e-10){let r=ci(e,t);return li(e,r,n)?r:ci(e)}function di(e){return e-Math.trunc(e)}var N=class e extends se{static create(){return this._instance=this._instance||new e(0),this._instance}isNull(){return!0}plus(e){return F.create(0).plus(e)}minus(e){return F.create(0).minus(e)}multiply(e){return F.create(0).multiply(e)}divided(e){return F.create(0).divided(e)}mod(e){return F.create(0).mod(e)}compare(e,t){return e.isString()?I.create(``).compare(e,t):e.isBoolean()?P.create(!1).compare(e,t):F.create(0).compare(e,t)}concatenateFront(e){return e.isArray()?e.concatenateBack(I.create(``)):I.create(this.concatenate(e.getValue(),g.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(I.create(``)):I.create(this.concatenate(e.getValue(),g.BACK))}plusBy(e){return F.create(0).plusBy(e)}minusBy(e){return F.create(0).minusBy(e)}multiplyBy(e){return F.create(0).multiplyBy(e)}dividedBy(e){return F.create(0).dividedBy(e)}compareBy(e,t){return typeof e==`string`?I.create(``).compareBy(e,t):typeof e==`boolean`?P.create(!1).compareBy(e,t):F.create(0).compareBy(e,t)}pow(e){return F.create(0).pow(e)}sqrt(){return F.create(0).sqrt()}cbrt(){return F.create(0).cbrt()}cos(){return F.create(0).cos()}cosh(){return F.create(0).cosh()}acos(){return F.create(0).acos()}acosh(){return F.create(0).acosh()}sin(){return F.create(0).sin()}sinh(){return F.create(0).sinh()}asin(){return F.create(0).asin()}asinh(){return F.create(0).asinh()}tan(){return F.create(0).tan()}tanh(){return F.create(0).tanh()}atan(){return F.create(0).atan()}atan2(e){return F.create(0).atan2(e)}atanh(){return F.create(0).atanh()}log(){return O.create(S.NUM)}log10(){return O.create(S.NUM)}exp(){return F.create(0).exp()}abs(){return F.create(0).abs()}round(e){return F.create(0).round(e)}floor(e){return F.create(0).floor(e)}ceil(e){return F.create(0).ceil(e)}convertToNumberObjectValue(){return F.create(0)}convertToBooleanObjectValue(){return P.create(!1)}};b(N,`_instance`,void 0);var P=class e extends se{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),b(this,`_value`,!1),this._value=e}getValue(){return this._value}isBoolean(){return!0}getNegative(){let e=this.getValue(),t=0;return e&&(t=1),F.create(-t)}getReciprocal(){return this.getValue()?F.create(1):O.create(S.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,Gr(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=F.create(t?1:0);return this._convertToNumber().compare(e,n)}return e.create(r)}_compareString(e){switch(e){case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!0;case E.EQUALS:case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.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),F.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 hi(this.getValue())}convertToBooleanObjectValue(){return this}};b(P,`_instanceTrue`,void 0),b(P,`_instanceFalse`,void 0);var F=class e extends se{static create(t,n=``){let r=new e(t);return n&&r.setPattern(n),r}constructor(e){super(e),b(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 O.create(S.DIV_BY_ZERO);if(typeof r==`string`)return O.create(S.VALUE);if(typeof r==`number`){if(r===0)return O.create(S.DIV_BY_ZERO);if(!Number.isFinite(n)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(n))return O.create(S.NUM);let t=ei(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}if(typeof r==`boolean`){let t=r?1:0;return t===0?O.create(S.DIV_BY_ZERO):e.create(ei(n,t))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):I.create(this.concatenate(e.getValue(),g.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):I.create(this.concatenate(e.getValue(),g.BACK))}isDateFormat(){let e=this.getPattern();return c.numfmt.isDateFormat(e)}compare(e,t){if(e.isArray())return e.compare(this,Gr(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 O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let i=Kr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.NUM)}minusBy(t){if(typeof t==`string`&&t.trim()===``)return O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let i=qr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.NUM)}multiplyBy(t){if(typeof t==`string`&&t.trim()===``)return O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let i=Jr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.NUM)}dividedBy(t){if(typeof t==`string`&&t.trim()===``)return O.create(S.VALUE);let n=+this.getValue(),r=+t;if(Number.isNaN(n)||Number.isNaN(r))return O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);if(r===0)return O.create(S.DIV_BY_ZERO);let i=Yr(n,r);return Number.isFinite(i)?e.create(i):O.create(S.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)),P.create(i)}_compareString(e){switch(e){case E.EQUALS:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!1;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.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 E.EQUALS:return ri(e,t);case E.GREATER_THAN:return ii(e,t);case E.GREATER_THAN_OR_EQUAL:return ai(e,t);case E.LESS_THAN:return oi(e,t);case E.LESS_THAN_OR_EQUAL:return si(e,t);case E.NOT_EQUAL:return!ri(e,t)}}_compareBoolean(e){switch(e){case E.EQUALS:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!1;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.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 O.create(S.VALUE);if(!Number.isFinite(n)||!Number.isFinite(i))return O.create(S.NUM);if(n===0)return i<0?O.create(S.DIV_BY_ZERO):i===0?O.create(S.NUM):e.create(0);let a=ti(n,i);return Number.isFinite(a)?e.create(a):O.create(S.NUM)}sqrt(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=ni(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}cbrt(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.cbrt(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}cos(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.cos(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}cosh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.cosh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}acos(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.acos(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}acosh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.acosh(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}sin(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.sin(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}sinh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.sinh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}asin(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.asin(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}asinh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.asinh(t);return Number.isNaN(n)?O.create(S.NUM):e.create(n)}tan(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.tan(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}tanh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.tanh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}atan(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.atan(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}atan2(t){if(t.isArray())return t.atan2Inverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);if(n===0&&r===0)return O.create(S.DIV_BY_ZERO);let t=Math.atan2(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Math.atan2(n,r?1:0)):this}atanh(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.atanh(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}log(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return O.create(S.NUM);let n=Math.log(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}log10(){let t=this.getValue();if(typeof t==`number`&&t<=0||!Number.isFinite(t))return O.create(S.NUM);let n=Math.log10(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}exp(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.exp(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}abs(){let t=this.getValue();if(!Number.isFinite(t))return O.create(S.NUM);let n=Math.abs(t);return Number.isFinite(n)?e.create(n):O.create(S.NUM)}round(t){if(t.isArray())return t.roundInverse(this);let n=this.getValue(),r=t.getValue();if(typeof r==`string`)return O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let t=n<0?-Xr(Math.abs(n),r):Xr(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Xr(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 O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let t=n<0?-Zr(Math.abs(n),r):Zr(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Zr(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 O.create(S.VALUE);if(typeof r==`number`){if(!Number.isFinite(n)||!Number.isFinite(r))return O.create(S.NUM);let t=n<0?-Qr(Math.abs(n),r):Qr(n,r);return Number.isFinite(t)?e.create(t):O.create(S.NUM)}return typeof r==`boolean`?e.create(Qr(n,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return pi(!0)}_compareInfinity(e,t,n){let r=!1;switch(n){case E.EQUALS:r=e===t;break;case E.GREATER_THAN:r=e>t;break;case E.GREATER_THAN_OR_EQUAL:r=e>=t;break;case E.LESS_THAN:r=e<t;break;case E.LESS_THAN_OR_EQUAL:r=e<=t;break;case E.NOT_EQUAL:r=e!==t;break}return r}};const fi=new x(1e5);var I=class e extends se{static create(t,n){let r=fi.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),fi.set(t,i),i}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl||e.isImage()!==t.isImage||!c.Tools.diffValue(e.getImageInfo(),t.imageInfo))}constructor(e){super(e),b(this,`_value`,void 0),b(this,`_isHyperlink`,!1),b(this,`_hyperlinkUrl`,``),b(this,`_isImage`,!1),b(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(),g.FRONT))}concatenateBack(t){return t.isArray()?t.concatenateFront(this):e.create(this.concatenate(t.getValue(),g.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,Gr(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()),Er(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 P.create(i)}_compareString(e,t,n){switch(n){case E.EQUALS:return e===t;case E.GREATER_THAN:return e>t;case E.GREATER_THAN_OR_EQUAL:return e>=t;case E.LESS_THAN:return e<t;case E.LESS_THAN_OR_EQUAL:return e<=t;case E.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case E.NOT_EQUAL:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!0;case E.EQUALS:case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case E.EQUALS:case E.GREATER_THAN:case E.GREATER_THAN_OR_EQUAL:return!1;case E.LESS_THAN:case E.LESS_THAN_OR_EQUAL:case E.NOT_EQUAL:return!0}}convertToNumberObjectValue(){let e=this.getValue(),t=(0,c.getNumfmtParseValueFilter)(e);return t&&t.z?hi(t.v,t.z):hi(e)}convertToBooleanObjectValue(){return P.create(!0)}_checkWildcard(e,t){let n=kr(this.getValue().toLocaleLowerCase(),e,t);return P.create(n)}};function pi(e){if(typeof e==`boolean`)return P.create(e);let t=!1;if(typeof e==`string`){let n=e.toLocaleUpperCase();n===p.TRUE?t=!0:n===p.FALSE&&(t=!1)}else t=e===1;return P.create(t)}function mi(e){let t=e.toString();return t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`&&(t=t.slice(1,-1),t=t.replace(/""/g,`"`)),I.create(t)}function hi(e,t=``){if(typeof e==`boolean`){let n=0;return e&&(n=1),F.create(n,t)}else if(typeof e==`number`)return Number.isFinite(e)?F.create(e,t):O.create(S.NUM);else if((0,c.isRealNum)(e))return F.create(Number(e),t);return O.create(S.VALUE)}var L=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}(L||{}),gi=function(e){return e[e.PRODUCT=0]=`PRODUCT`,e[e.ROW=1]=`ROW`,e[e.COLUMN=2]=`COLUMN`,e[e.SINGLE=3]=`SINGLE`,e}(gi||{});function _i(e){return``}function vi(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]=bi.create(a,t)}}return n}function yi(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 R=class e extends se{static create(t){return new e(t)}static createByArray(t){return new e({calculateValueList:vi(t),rowCount:t.length,columnCount:t[0].length||0,unitId:``,sheetId:``,row:-1,column:-1})}constructor(e){super(typeof e==`string`?e:_i(e)),b(this,`_values`,[]),b(this,`_rowCount`,-1),b(this,`_columnCount`,-1),b(this,`_unitId`,``),b(this,`_sheetId`,``),b(this,`_currentRow`,-1),b(this,`_currentColumn`,-1),b(this,`_sliceCache`,new Map),b(this,`_flattenCache`,void 0),b(this,`_defaultValue`,null),b(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||N.create()}getLastCell(){let{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||N.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[[N.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=N.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=wr.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,E.EQUALS):n.isEqual(e),(u==null?void 0:u.getValue())===!0)return i=n,o={row:c,column:l},!1;t===wr.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===wr.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=Cr.MIN,n=wr.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=Cr.MIN,i=wr.MIN){let a=Tr(),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===Cr.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===Cr.MAX&&(p=-p),p===0){u=n;break}p<0?(d=n,c=n+1):(f=n,l=n-1)}if(i===wr.NORMAL)return u===-1?void 0:n[u];if(i===wr.MIN)return u===-1?r===Cr.MIN?n[d]:n[f]:n[u];if(i===wr.MAX)return u===-1?r===Cr.MIN?n[f]:n[d]:n[u]}sum(){let e=F.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=F.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=F.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=F.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=F.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=F.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,L.PLUS)}minus(e){return this._batchOperator(e,L.MINUS)}multiply(e){return this._batchOperator(e,L.MULTIPLY)}divided(e){return this._batchOperator(e,L.DIVIDED)}mod(e){return this._batchOperator(e,L.MOD)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,n){return this._batchOperator(e,L.COMPARE,t,n)}concatenateFront(e){return this._batchOperator(e,L.CONCATENATE_FRONT)}concatenateBack(e){return this._batchOperator(e,L.CONCATENATE_BACK)}map(e){return this.mapValue((t,n,r)=>t==null?N.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]=O.create(S.VALUE);else{let i=n[r]||this._defaultValue;i?t[r]=e(i,a,r):t[r]=N.create()}}r.push(t)}return this._createNewArray(r,t,n)}pow(e){return this._batchOperator(e,L.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,L.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)||N.create();if(t.sortByRow(0),n%2==0){let e=t.get(0,n/2)||N.create(),r=t.get(0,n/2-1)||N.create();return e.plus(r).divided(F.create(2))}return t.get(0,(n-1)/2)||N.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(F.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,L.ROUND)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,L.FLOOR)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,L.CEIL)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return yi(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){let t=Tr();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(N.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(P.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===L.COMPARE){let{rowsInCache:d,rowsNotInCache:f}=pr.canUseCache(s,c,t+u,l,l+o-1);if(d.length>0){if(i===E.EQUALS&&!(e.isString()&&Er(e.getValue()))){let r=pr.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]=P.create(!0)})}else{let r=pr.getCellValuePositions(s,c,t+u);r!=null&&r.forEach((r,s)=>{let c=N.create();C.has(s)?c=O.create(s):typeof s==`string`?c=I.create(s):typeof s==`number`?c=F.create(s):typeof s==`boolean`&&(c=P.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);pr.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);pr.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 L.PLUS:n[i][t]=d.plus(e);break;case L.MINUS:n[i][t]=d.minus(e);break;case L.MULTIPLY:n[i][t]=d.multiply(e);break;case L.DIVIDED:n[i][t]=d.divided(e);break;case L.MOD:n[i][t]=d.mod(e);break;case L.COMPARE:l?n[i][t]=d.compare(e,l,u):n[i][t]=O.create(S.VALUE);break;case L.CONCATENATE_FRONT:n[i][t]=d.concatenateFront(e);break;case L.CONCATENATE_BACK:n[i][t]=d.concatenateBack(e);break;case L.POW:n[i][t]=d.pow(e);break;case L.ROUND:n[i][t]=d.round(e);break;case L.FLOOR:n[i][t]=d.floor(e);break;case L.ATAN2:n[i][t]=d.atan2(e);break;case L.CEIL:n[i][t]=d.ceil(e);break}else n[i][t]=O.create(S.NA);!d||d!=null&&d.isNull()?pr.set(a,o,t+c,fr,i+s):pr.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===gi.SINGLE?this.getValueOrDefault(0,0):s===gi.ROW?this.getValueOrDefault(0,o):s===gi.COLUMN?this.getValueOrDefault(l,0):this.getValueOrDefault(l,o);let u;if(u=c===gi.SINGLE?e.getValueOrDefault(0,0):c===gi.ROW?e.getValueOrDefault(0,o):c===gi.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 L.PLUS:i[o]=a.plus(u);break;case L.MINUS:i[o]=a.minus(u);break;case L.MULTIPLY:i[o]=a.multiply(u);break;case L.DIVIDED:i[o]=a.divided(u);break;case L.MOD:i[o]=a.mod(u);break;case L.COMPARE:n?i[o]=a.compare(u,n,r):i[o]=O.create(S.VALUE);break;case L.CONCATENATE_FRONT:i[o]=a.concatenateFront(u);break;case L.CONCATENATE_BACK:i[o]=a.concatenateBack(u);break;case L.POW:i[o]=a.pow(u);break;case L.ROUND:i[o]=a.round(u);break;case L.ATAN2:i[o]=a.atan2(u);break;case L.FLOOR:i[o]=a.floor(u);break;case L.CEIL:i[o]=a.ceil(u);break}else i[o]=O.create(S.NA)}o.push(i)}return this._createNewArray(o,i,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?gi.SINGLE:e.getRowCount()===1?gi.ROW:e.getColumnCount()===1?gi.COLUMN:gi.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(bi.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)}},bi=class{static create(e,t=!1){if(e==null)return N.create();if(typeof e==`boolean`)return P.create(e);if(typeof e==`string`){let n=e.toLocaleUpperCase().trim();if(C.has(n))return O.create(n);if(n===p.TRUE||n===p.FALSE)return pi(e);if((0,c.isRealNum)(e)&&Number(e).toString()===e.trim())return F.create(Number(e));if(!t){let{isNumberPattern:t,value:n,pattern:r}=Hr(e);if(t)return F.create(n,r)}let r=e.replace(/\n/g,``).replace(/\r/g,``);return!xi(r)&&It(r)?R.create(r):mi(e)}return typeof e==`number`?hi(e):O.create(S.VALUE)}};function xi(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)}const Si=new x(1e4);var Ci=class extends ee{constructor(e){super(),this._token=e,b(this,`_forcedSheetId`,``),b(this,`_forcedSheetName`,``),b(this,`_defaultSheetId`,``),b(this,`_rangeData`,{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1}),b(this,`_unitData`,{}),b(this,`_unitStylesData`,{}),b(this,`_filteredOutRows`,[]),b(this,`_defaultUnitId`,``),b(this,`_forcedUnitId`,``),b(this,`_runtimeData`,{}),b(this,`_arrayFormulaCellData`,{}),b(this,`_arrayFormulaRange`,{}),b(this,`_runtimeArrayFormulaCellData`,{}),b(this,`_runtimeArrayFormulaRange`,{}),b(this,`_runtimeFeatureCellData`,{}),b(this,`_refOffsetX`,0),b(this,`_refOffsetY`,0),b(this,`_currentRow`,void 0),b(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=(0,c.moveRangeByOffset)(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(O.create(S.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(O.create(S.REF),s,n);let i=this.getCellData(s,n),c=!1;if(yr(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=F.create(t,e)}}if(c=e(l,s,n),c===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return O.create(S.VALUE);let{startRow:e,startColumn:t}=this.getRangePosition(),n=this.getCellData(e,t);if(!n)return F.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=F.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 O.create(S.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){let t=br(e);if(C.has(t))return O.create(t);if(e.t===c.CellValueType.NUMBER){let n=this._getPatternByCell(e);return(0,c.isTextFormat)(n)?I.create(t.toString()):hi(t,n)}return e.t===c.CellValueType.STRING||e.t===c.CellValueType.FORCE_STRING?I.create(t.toString()):e.t===c.CellValueType.BOOLEAN?pi(t):bi.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 c.ObjectMatrix(this.getCurrentActiveArrayFormulaRange()),s=new c.ObjectMatrix(this.getCurrentRuntimeActiveArrayFormulaRange()),l=(r==null?void 0:r.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t);if(l)return l;if(l=i==null?void 0:i.getValue(e,t),l){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:l}return n==null?void 0:n.cellData.getValue(e,t)}getRuntimeFeatureCellValue(e,t){return Sr(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):O.create(S.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=Si.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=N.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=R.create(d);return e&&Si.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 R.create(e)}},wi=class extends ee{constructor(e){super(),this._promise=e}isAsyncObject(){return!0}async getValue(){return this._promise}},Ti=class extends ee{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 R.create(n)}},Ei=class extends Ci{constructor(e,t,n){super(``),this.setRangeData(e),t&&this.setForcedSheetIdDirect(t),n&&this.setForcedUnitIdDirect(n)}isRange(){return!0}},Di=class extends Ci{constructor(e){super(e);let t=$n(e);this.setForcedUnitIdDirect(t.unitId),this.setForcedSheetName(t.sheetName),this.setRangeData(t.range)}isCell(){return!0}unionBy(e){if(!e.isCell())return O.create(S.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 Ei(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}},Oi=class extends Ci{constructor(e){super(e);let t=$n(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.RANGE_TYPE.COLUMN};this.setRangeData(n)}isColumn(){return!0}unionBy(e){if(!e.isColumn())return O.create(S.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return O.create(S.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.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${D.COLON}${t.getToken()}`),this}},ki=class extends Ci{constructor(e){super(e);let t=$n(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.RANGE_TYPE.ROW};this.setRangeData(n)}isRow(){return!0}unionBy(e){if(!e.isRow())return O.create(S.REF);let t=e;if(t.getForcedSheetName()!==void 0&&t.getForcedSheetName()!==``)return O.create(S.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.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${D.COLON}${t.getToken()}`),this}};function z(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?N.create():r);continue}let t=n.get(s,o);e.push(t)}o.push(e)}return Ai(o,e,t)}function Ai(e,t,n,r=``,i=``){let a={calculateValueList:e,rowCount:t,columnCount:n,unitId:r,sheetId:i,row:-1,column:-1};return R.create(a)}function ji(e){let t=[E.EQUALS,E.NOT_EQUAL,E.GREATER_THAN_OR_EQUAL,E.GREATER_THAN,E.LESS_THAN_OR_EQUAL,E.LESS_THAN];for(let n of t)if(e.startsWith(n)){let t=e.substring(n.length);return[n,bi.create(t)]}return[E.EQUALS,bi.create(e)]}function Mi(e,t,n,r){if(!n)if(t.isString()){let[e,r]=ji(`${t.getValue()}`);n=e,t=r}else n=E.EQUALS;return e.compare(t,n,r)}function Ni(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=z(c,l,e),s=z(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()?pi(e.getValue()&&r.getValue()):P.create(!1)})}function Pi(e){let t=e.getValue(),n=0;return t&&(n=1),F.create(n)}function Fi(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 Ii(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:c.CellValueType.STRING,...n,...r};if(e.isValueObject()){let t=e,i=t.getValue();return t.isNumber()?{v:i,t:c.CellValueType.NUMBER,...n,...r}:t.isBoolean()?{v:i?1:0,t:c.CellValueType.BOOLEAN,...n,...r}:t.isString()?{v:i,t:c.CellValueType.STRING,...n,...r}:t.isNull()?{v:null,...n,...r}:{v:i,t:c.CellValueType.STRING,...n,...r}}}function Li(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 Ri(e,t){if(e.length===0||e.length%2!=0)return{isError:!0,errorObject:O.create(S.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:O.create(S.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:O.create(S.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 zi(e){return e.isArray()?e:R.createByArray([[e.getValue()]])}function Bi(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=z(r,i,a,O.create(S.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=Mi(n,c);if(a&&(l=Vi(l,n,c)),i===void 0){i=l;continue}i=Ni(i,l)}let l;if(n===`COUNTIFS`){let e=0;i.iterator(t=>{t!=null&&t.isBoolean()&&t.getValue()===!0&&e++}),l=F.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?R.create(`0`):e.max()}else if(n===`MINIFS`){let e=o.pick(i);l=e.getColumnCount()===0?R.create(`0`):e.min()}c[t]||(c[t]=[]),c[t][r]=l}),c}function Vi(e,t,n){let[r,i]=ji(`${n.getValue()}`);return e.mapValue((e,n,a)=>{let o=t.get(n,a);if(o&&Hi(o,i))return e;if(o!=null&&o.isError()&&i.isError()&&o.getValue()===i.getValue())return P.create(!0);if(r===E.EQUALS||r===E.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===E.EQUALS)return P.create(!1);if(r===E.NOT_EQUAL)return P.create(!0)}return P.create(!1)})}function Hi(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 Ui=function(e){return e[e.CELL=0]=`CELL`,e[e.COLUMN=1]=`COLUMN`,e[e.ROW=2]=`ROW`,e}({});function Wi(e,t){let n;switch(t){case Ui.COLUMN:n=new Oi(e);break;case Ui.ROW:n=new ki(e);break;case Ui.CELL:default:n=new Di(e);break}return n}function Gi(e,t){let n;return n=e.isCell()&&t.isCell()||e.isRow()&&t.isRow()||e.isColumn()&&t.isColumn()?e.unionBy(t):O.create(S.NAME),n}let Ki=class extends c.Disposable{constructor(e){super(),this._univerInstanceService=e}generateCellValue(e,t){if(t.trim()===``)return{v:``};let n=e;if(e.startsWith(`#`)&&Lt(e.slice(1))){let{unitId:t,sheetName:r,range:i}=rn(e.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(c.UniverInstanceType.UNIVER_SHEET);if(t===``||t===a.getUnitId())if(r===``)n=`#gid=${a.getActiveSheet().getSheetId()}&range=${Zt(i)}`;else{let e=a.getSheetBySheetName(r);e&&(n=`#gid=${e.getSheetId()}&range=${Zt(i)}`)}}else c.Tools.isLegalUrl(e)&&(n=c.Tools.normalizeUrl(e));return{p:c.RichTextBuilder.create().insertLink(t,n).getData()}}};Ki=vn([j(0,c.IUniverInstanceService)],Ki);const qi=(0,c.createIdentifier)(`univer.formula.hyperlink-engine-formula.service`);let Ji=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}({}),Yi=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}({}),Xi=class extends c.Disposable{constructor(e,t){super(),this._currentConfigService=e,this._hyperlinkEngineFormulaService=t,b(this,`_formulaExecuteStage`,Ji.IDLE),b(this,`_stopState`,!1),b(this,`_currentRow`,-1),b(this,`_currentColumn`,-1),b(this,`_currentRowCount`,-1/0),b(this,`_currentColumnCount`,-1/0),b(this,`_currentSubUnitId`,``),b(this,`_currentUnitId`,``),b(this,`_runtimeData`,{}),b(this,`_runtimeOtherData`,{}),b(this,`_unitArrayFormulaRange`,{}),b(this,`_unitArrayFormulaEmbeddedMap`,{}),b(this,`_runtimeArrayFormulaCellData`,{}),b(this,`_runtimeClearArrayFormulaCellData`,{}),b(this,`_runtimeFeatureRange`,{}),b(this,`_runtimeFeatureCellData`,{}),b(this,`_runtimeImageFormulaData`,[]),b(this,`_functionsExecutedState`,Yi.INITIAL),b(this,`_functionDefinitionPrivacyVar`,new Map),b(this,`_totalFormulasToCalculate`,0),b(this,`_completedFormulasCount`,0),b(this,`_totalArrayFormulasToCalculate`,0),b(this,`_completedArrayFormulasCount`,0),b(this,`_formulaCycleIndex`,0),b(this,`_isCycleDependency`,!1),b(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=Yi.SUCCESS}markedAsNoFunctionsExecuted(){this._functionsExecutedState=Yi.NOT_EXECUTED}markedAsStopFunctionsExecuted(){this._functionsExecutedState=Yi.STOP_EXECUTION}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=Yi.INITIAL}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(Ji.IDLE)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=Ji.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(){Ir(),Wr(),er()}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 c.ObjectMatrix);let l=s[a];this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});let u=this._unitArrayFormulaRange[o];(u[a]===null||u[a]===void 0)&&(u[a]={});let d=new c.ObjectMatrix(u[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});let f=this._runtimeArrayFormulaCellData[o];f[a]==null&&(f[a]=new c.ObjectMatrix);let p=f[a];this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});let m=this._runtimeClearArrayFormulaCellData[o];m[a]==null&&(m[a]=new c.ObjectMatrix);let h=m[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){let s=e,{startRow:c,startColumn:u,endRow:f,endColumn:m}=s.getRangePosition();if(c===f&&u===m){let e=s.getFirstCell(),r=this._getValueObjectOfRuntimeData(e);l.setValue(t,n,r),h.setValue(t,n,r),pr.set(o,a,n,e.getValue(),t,!0);return}let g={startRow:t,startColumn:n,endRow:f-c+t,endColumn:m-u+n};if(d.setValue(t,n,g),this._checkIfArrayFormulaRangeHasData(o,a,t,n,g)||this._checkIfArrayFormulaExceeded(r,i,g)){let e=this._getValueObjectOfRuntimeData(O.create(S.SPILL));l.setValue(t,n,e),h.setValue(t,n,e),pr.set(o,a,n,S.SPILL,t,!0);let r=this._currentConfigService.getUnitData();s.iterator((i,s,l)=>{var d;let f=s-c+t,m=l-u+n,h=(d=r[o])==null||(d=d[a])==null?void 0:d.cellData.getValue(f,m);if(s===c&&l===u)p.setValue(t,n,e);else if(h!=null)h.v==null&&(h.v=``),p.setValue(f,m,h);else if(this._isInOtherArrayFormulaRange(o,a,t,n,f,m))return!0;else p.setValue(f,m,{v:``})})}else{let e=O.create(S.SPILL);s.iterator((r,i,s)=>{pr.set(o,a,n-u+s,r?r.getValue():0,t-c+i,!0);let d=this._getValueObjectOfRuntimeData(r);if(i===c&&s===u){if(r!=null&&r.isError()&&r.isEqualType(e))return h.setValue(t,n,{}),l.setValue(t,n,{...this._getValueObjectOfRuntimeData(e)}),!1;l.setValue(t,n,{...d})}let f=i-c+t,m=s-u+n;p.setValue(f,m,d)})}}else{let r=this._getValueObjectOfRuntimeData(e);if(l.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})}pr.set(o,a,n,e.getValue(),t,!0),h.setValue(t,n,r)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):Ii(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(){Si.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(!yr(o)||this._isInOtherArrayFormulaRange(e,t,n,r,i,a)||!yr(s)||!yr(c))return!0}return!1}_getRuntimeFeatureCellValue(e,t,n,r){return Sr(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 l=!1;return new c.ObjectMatrix(s).forValue((o,s,c)=>{var u;if(o===n&&s===r)return;let d=this._isInArrayFormulaRange(c,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)!==S.SPILL&&(l=!0)}),l}_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:Le(i,e,t,n,r)}};Xi=vn([j(0,_r),j(1,qi)],Xi);const Zi=(0,c.createIdentifier)(`univer.formula.runtime.service`);let B=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 Qi=new Map([[B.REFERENCE,7],[B.VALUE,9],[B.OPERATOR,8],[B.FUNCTION,6],[B.LAMBDA,1],[B.LAMBDA_PARAMETER,2],[B.ROOT,10],[B.UNION,3],[B.PREFIX,4],[B.SUFFIX,5]]);var $i=class{constructor(e){this._token=e,b(this,`_children`,[]),b(this,`_definedNames`,void 0),b(this,`_parent`,void 0),b(this,`_valueObject`,void 0),b(this,`_calculateState`,!1),b(this,`_async`,!1),b(this,`_address`,!1),b(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 B.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(m.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}},ea=class e extends $i{constructor(e){super(e),b(this,`_errorValueObject`,void 0),this._errorValueObject=O.create(e)}get nodeType(){return B.ERROR}static create(t){return new e(t)}getValue(){return this._errorValueObject}},ta=class{get zIndex(){return 0}dispose(){}create(e,t,n){let r;return r=e instanceof M?e.getToken():e,new $i(r)}},na=class extends $i{get nodeType(){return B.ROOT}execute(){let e=this.getChildren();if(e.length>1){this.setValue(O.create(S.VALUE));return}let t=e[0];t==null?this.setValue(O.create(S.VALUE)):this.setValue(t.getValue())}},ra=class extends ta{get zIndex(){return Qi.get(B.ROOT)||100}checkAndCreateNodeType(e){if(e instanceof M&&e.getToken()===`R_1`)return new na(`R_1`)}};let ia=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}({}),V=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}({}),H=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}({}),aa=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}({}),oa=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}({}),U=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}({}),W=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}({}),G=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}({}),K=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}({}),sa=function(e){return e.ENCODEURL=`ENCODEURL`,e.FILTERXML=`FILTERXML`,e.WEBSERVICE=`WEBSERVICE`,e}({});const ca=[ia,V,H,aa,oa,U,W,G,K,sa],la=new Set(ca.flatMap(e=>Object.values(e)).filter(e=>/^[A-Z]{1,3}$/.test(e)).filter(e=>{let t=(0,c.columnLabelToNumber)(e);return t>0&&t<=c.MAX_COLUMN_COUNT})),ua=new x(5e3);function da(e,t,n,r,i){let a=ua.get(`${e}${t}`);if(a&&!fa(a,i))return a;let o=n.treeBuilder(t);return C.has(o)?ea.create(o):(a=r.parse(o),a==null?(console.error(`generateAstNode astNode is null`),ea.create(o)):(ua.set(`${e}${t}`,a),a))}function fa(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 pa(e,t,n){return!!(t!=null&&fa(t,n))}const ma=(0,c.createIdentifier)(`univer.formula-function.service`);var ha=class extends c.Disposable{constructor(...e){super(...e),b(this,`_functionExecutors`,new Map),b(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(0,c.toDisposable)(()=>{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){ua.forEach((t,n)=>{e.forEach(e=>{n.includes(e)&&ua.delete(n)})})}};let ga=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 _a=class extends $i{constructor(e,t,n){super(t),this._runtimeService=e,this._operatorString=t,this._functionExecutor=n}get nodeType(){return B.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null){console.error(`PrefixNode execute value is null`),this.setValue(O.create(S.VALUE));return}this._operatorString===oe.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(F.create(0),e)):t=this._operatorString===oe.AT?this._handlerAT(e):O.create(S.VALUE),this.setValue(t)}_handlerAT(e){if(!e.isReferenceObject())return O.create(S.VALUE);let t=e;if(t.isCell())return O.create(S.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?O.create(S.VALUE):s===a&&i>=o&&i<=c?t.getCellByColumn(i):o===c&&r>=a&&r<=s?t.getCellByRow(r):t.isTable()?t.getCellByPosition(r):O.create(S.VALUE)}};let va=class extends ta{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Qi.get(B.PREFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof M))return;let t=e.getToken(),n=t.trim();if(n.charAt(0)===`"`&&n.charAt(n.length-1)===`"`)return;let r=``;if(n===oe.MINUS)r=ga.MINUS;else if(n===oe.AT)return new _a(this._runtimeService,n);else return;let i=this._functionService.getExecutor(r);return i?new _a(this._runtimeService,n,i):(console.error(`No function ${t}`),ea.create(S.NAME))}};va=vn([j(0,ma),j(1,Zi)],va);function ya(e,t,n){let r,i,a=e,o=a[0],s=0;if(o===oe.MINUS){let e=t.getExecutor(ga.MINUS);r=new _a(n,oe.MINUS,e),s++}else o===oe.AT&&(i=new _a(n,oe.AT),r&&i.setParent(r),s++);return s>0&&(a=a.slice(s)),{tokenTrim:a,minusPrefixNode:r,atPrefixNode:i}}var ba=class extends $i{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 B.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(m.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 bi.create(e);let n=vi(e);return R.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 O.create(S.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 O.create(S.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)}},xa=class extends $i{constructor(e=`Error`){super(e)}get nodeType(){return B.FUNCTION}async executeAsync(){return this.setValue(O.create(S.NAME)),Promise.resolve(m.SUCCESS)}execute(){this.setValue(O.create(S.NAME))}};let Sa=class extends ta{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 Qi.get(B.FUNCTION)||100}create(e){let t=this._functionService.getExecutor(e);return t?new ba(e,t,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${e}`),ea.create(S.NAME))}checkAndCreateNodeType(e){if(typeof e==`string`)return;let{tokenTrim:t,minusPrefixNode:n,atPrefixNode:r}=ya(e.getToken().trim(),this._functionService,this._runtimeService),i=this._isParentUnionNode(e);if(!Number.isNaN(Number(t))&&!i)return ea.create(S.VALUE);let a=t.toUpperCase();if(!(i&&la.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())===D.COLON}};Sa=vn([j(0,ma),j(1,_r),j(2,Zi),j(3,bn),j(4,(0,c.Inject)(c.Injector)),j(5,(0,c.Inject)(ur))],Sa);let Ca=class extends c.Disposable{constructor(e){super(),this._runtimeService=e}async executeAsync(e){if(!e||!e.node)return Promise.resolve(O.create(S.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(O.create(S.VALUE)):Promise.resolve(i)}execute(e){if(!e||!e.node)return O.create(S.VALUE);let t=e.node,n=e.refOffsetX,r=e.refOffsetY;this._execute(t,n,r);let i=t.getValue();return i==null?O.create(S.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(m.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===B.REFERENCE&&e.setRefOffset(t,n),e.nodeType===B.FUNCTION&&e.isAsync()?await e.executeAsync():e.execute(),Promise.resolve(m.SUCCESS)}_execute(e,t=0,n=0){if(this._runtimeService.isStopExecution())return m.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===B.REFERENCE&&e.setRefOffset(t,n),e.execute(),m.SUCCESS}};Ca=vn([j(0,Zi)],Ca);function wa(e){return e instanceof M?e.getToken()===`L_1`:!1}function Ta(e){return e instanceof M?e.getToken()===Bt:!1}function Ea(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(!(wa(a)&&e!==0))if(i instanceof M)Ea(i,t,n);else{let a=i.trim();if(n.has(a)){let i=new M;i.setToken(`LR_1`),i.setLambdaId(t),i.setLambdaPrivacyVar(n),i.setLambdaParameter(a),r[e]=i}}}}function Da(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}function Oa(e,t=0,n=0){return{node:e,refOffsetX:t,refOffsetY:n}}function ka(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:ka(i)}var Aa=class e extends se{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,b(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 O.create(S.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let n;if(this._interpreter.checkAsyncNode(this._lambdaNode))n=new wi(this._interpreter.executeAsync(Oa(this._lambdaNode)));else{let e=this._interpreter.execute(Oa(this._lambdaNode));n=e.isReferenceObject()?e.toArrayValueObject():e}return this._lambdaNode.setNotEmpty(!0),n}executeCustom(...e){let t=e.map(e=>bi.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=ka(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}},ja=class extends $i{constructor(e,t,n,r,i){super(e),this._lambdaId=t,this._interpreter=n,this._lambdaPrivacyVarKeys=r,this._runtimeService=i,b(this,`_isNotEmpty`,!0)}get nodeType(){return B.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(Aa.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{let e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}this._runtimeService.setUnitArrayFormulaEmbeddedMap()}};let Ma=class extends ta{constructor(e,t){super(),this._runtimeService=e,this._interpreter=t}get zIndex(){return Qi.get(B.LAMBDA)||100}create(e){let t=e.getChildren(),n=t[0],r=t.slice(1,-1),i=t[t.length-1];if(!(n instanceof M&&i instanceof M))return ea.create(S.NAME);if(n.getToken()===`L_1`){let e=n.getChildren();if(r.length!==e.length)return ea.create(S.VALUE)}else r=t.slice(0,-1);let a=(0,c.generateRandomId)(8),o=new Map;for(let e=0;e<r.length;e++){let t=r[e];if(t instanceof M){let e=t.getChildren()[0];t.setToken(Bt),o.set(e.trim(),void 0)}else return ea.create(S.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(a,o),this._updateLambdaStatement(i,a,o),new ja(e.getToken(),a,this._interpreter,[...o.keys()],this._runtimeService)}checkAndCreateNodeType(e){if(e instanceof M&&e.getToken().trim().toUpperCase()===`LAMBDA`)return this.create(e)}_updateLambdaStatement(e,t,n){Ea(e,t,n)}};Ma=vn([j(0,Zi),j(1,(0,c.Inject)(Ca))],Ma);function Na(e){if(!e)return;if(e.getToken()!==`LR_1`)return e;let t=e,n=t.getCurrentLambdaPrivacyVar(),r=t.getLambdaParameter();if(n)return Na(n.get(r))}var Pa=class extends $i{constructor(e,t,n){super(e),this._lambdaParameter=t,this._currentLambdaPrivacyVar=n}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return B.LAMBDA_PARAMETER}execute(){let e=Na(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(e)this.setValue(e.getValue());else{let e=this.getValue();(e==null||e.isError())&&this.setValue(O.create(S.NAME))}}},Fa=class extends ta{get zIndex(){return Qi.get(B.LAMBDA_PARAMETER)||100}create(e){let t=e.getFunctionDefinitionPrivacyVar(),n=e.getLambdaParameter();return t?new Pa(e.getToken(),n,t):new ea(S.NAME)}checkAndCreateNodeType(e){if(e instanceof M&&e.getToken().trim()===`LR_1`)return this.create(e)}},Ia=class extends $i{constructor(e){super(e),this._operatorString=e}get nodeType(){return B.NULL}execute(){this.setValue(N.create())}},La=class extends $i{constructor(e,t,n){super(e),this._functionExecutor=t,this._runtimeService=n}get nodeType(){return B.OPERATOR}execute(){let e=this.getChildren();this._functionExecutor.name===ga.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!==T.MINUS&&a!==T.PLUS){this.setValue(O.create(S.VALUE));return}r==null&&(r=N.create()),i==null&&(i=N.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 Ra=class extends ta{constructor(e,t){super(),this._functionService=e,this._runtimeService=t}get zIndex(){return Qi.get(B.OPERATOR)||100}create(e){let t=``,n=e;n===T.PLUS?t=ga.PLUS:n===T.MINUS?t=ga.MINUS:n===T.MULTIPLY?t=ga.MULTIPLY:n===T.DIVIDED?t=ga.DIVIDED:n===T.CONCATENATE?t=K.CONCATENATE:n===T.POWER?t=W.POWER:re.has(n)&&(t=ga.COMPARE);let r=this._functionService.getExecutor(t);return r?new La(n,r,this._runtimeService):(console.error(`No function ${e}`),ea.create(S.NAME))}checkAndCreateNodeType(e){if(e instanceof M)return;let t=e.trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&ne.has(t))return this.create(t)}};Ra=vn([j(0,ma),j(1,Zi)],Ra);var za=class extends Ci{constructor(e,t,n,r){super(e),this._tableData=t,this._columnDataString=n,this._tableOptionMap=r,b(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 h.ALL:f=u,p=d;break;case h.DATA:f=u+1,p=d;break;case h.HEADERS:f=u,p=u;break;case h.TOTALS:f=d,p=d;break;case h.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:h.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:h.DATA}}let c=this._stripOuterBracketOnce(s),l=this._findCommaAtTopLevel(c);if(c.length===0)return{startColumn:a,endColumn:o,type:h.DATA};if(l===-1){if(c.startsWith(`#`)){let e=this._mapSection(c);return e===void 0?{startColumn:a,endColumn:o,type:h.DATA}:{startColumn:a,endColumn:o,type:e}}let{startColumn:e,endColumn:n}=this._parseColumnOrRange(c,t,a);return{startColumn:e,endColumn:n,type:h.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===D.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?h.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===D.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)}},Ba=class extends $i{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,b(this,`_refOffsetX`,0),b(this,`_refOffsetY`,0)}get nodeType(){return B.REFERENCE}execute(){let e=this._currentConfigService,t=this._runtimeService,n=this._tableReferenceObject||Wi(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(O.create(S.NAME)):this.setValue(n)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}};let Va=class extends ta{constructor(e,t,n,r){super(),this._currentConfigService=e,this._formulaRuntimeService=t,this._functionService=n,this._superTableService=r}get zIndex(){return Qi.get(B.REFERENCE)||100}checkAndCreateNodeType(e){let t=!1,n,r=!1;if(e instanceof M){var i;t=!0,n=e.getToken().trim(),((i=e.getParent())==null||(i=i.getParent())==null?void 0:i.getToken().trim())===D.COLON&&(r=!0)}else n=e.trim();let{tokenTrim:a,minusPrefixNode:o,atPrefixNode:s}=ya(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 Ba(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(Et(e))return s(Ui.CELL);let l=t&&this._checkParentIsUnionOperator(r);return l&&At(e)?s(Ui.ROW):l&&jt(e)?s(Ui.COLUMN):this._getTableReferenceNode(e,t,n,!1)}_getTableReferenceNode(e,t,n,r=!1){if(!this._checkTokenIsTableReference(e)&&!r)return;let{tableName:i,columnStruct:a}=_n(e),o=this._getTableMap();if(!t&&o!=null&&o.has(i)){let t=a,r=o.get(i),s=this._superTableService.getTableOptionMap();return new Ba(this._currentConfigService,this._formulaRuntimeService,e,Ui.COLUMN,n,new za(e,r,t,s))}}_checkTokenIsTableReference(e){return Mt(e)||Nt(e)||Pt(e)||Ft(e)}_checkParentIsUnionOperator(e){var t;return((t=e.getParent())==null||(t=t.getParent())==null?void 0:t.getToken().trim())===D.COLON}};Va=vn([j(0,_r),j(1,Zi),j(2,ma),j(3,Kn)],Va);var Ha=class extends $i{constructor(e,t,n,r){super(n),this._currentConfigService=e,this._lexer=t,this._operatorString=n,this._functionExecutor=r}get nodeType(){return B.SUFFIX}execute(){var e;let t=(e=this.getChildren()[0])==null?void 0:e.getValue(),n;if(t==null){this.setValue(O.create(S.ERROR));return}if(this._operatorString===ie.PERCENTAGE){if(t.isReferenceObject()&&(t=t.toArrayValueObject()),n=this._functionExecutor.calculate(t,F.create(100)),n.isNumber()){let e=Number(n.getValue());n=F.create(e,`0.00%`)}}else n=this._operatorString===ie.POUND?this._handlerPound(t):O.create(S.VALUE);this.setValue(n)}_handlerPound(e){var t;if(!e.isReferenceObject()||!e.isCell())return O.create(S.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),O.create(S.VALUE)}};let Ua=class extends ta{constructor(e,t,n){super(),this._functionService=e,this._lexer=t,this._currentConfigService=n}get zIndex(){return Qi.get(B.SUFFIX)||100}checkAndCreateNodeType(e){if(!(e instanceof M))return;let t=e.getToken().trim();if(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)return;let n=``;if(t===ie.PERCENTAGE)n=ga.DIVIDED;else if(t===ie.POUND)return new Ha(this._currentConfigService,this._lexer,t);else return;let r=this._functionService.getExecutor(n);return r?new Ha(this._currentConfigService,this._lexer,t,r):(console.error(`No function ${e}`),ea.create(S.NAME))}};Ua=vn([j(0,ma),j(1,(0,c.Inject)(vr)),j(2,_r)],Ua);var Wa=class extends $i{constructor(e){super(e)}get nodeType(){return B.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(O.create(S.VALUE));return}let a;a=this.getToken()===D.COLON?this._unionFunction(r,i):O.create(S.NAME),this.setValue(a)}_unionFunction(e,t){return e.isError()||t.isError()||!e.isReferenceObject()||!t.isReferenceObject()?O.create(S.REF):(e=e,t=t,Gi(e,t))}};let Ga=class extends ta{constructor(e){super(),this._functionService=e}get zIndex(){return Qi.get(B.UNION)||100}create(e){return new Wa(e)}checkAndCreateNodeType(e){if(!(e instanceof M))return;let t=e.getToken().trim();if(!(t.charAt(0)===`"`&&t.charAt(t.length-1)===`"`)&&t===D.COLON)return this.create(t)}};Ga=vn([j(0,ma)],Ga);var Ka=class extends $i{constructor(e){super(e)}get nodeType(){return B.VALUE}execute(){let e=this.getParent(),t=!0;if((e==null?void 0:e.nodeType)===B.FUNCTION){var n,r;t=(n=(r=e.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(e))==null?!0:n}this.setValue(bi.create(this.getToken(),t))}},qa=class extends ta{get zIndex(){return Qi.get(B.VALUE)||100}_checkValueNode(e){if(Number.isNaN(Number(e))){let t=e.trim(),n=t.charAt(0),r=t.charAt(t.length-1);if(C.has(t)||n===`"`&&r===`"`||n===`{`&&r===`}`)return this.create(t);let i=t.toUpperCase();if(i===p.TRUE||i===p.FALSE)return this.create(i)}else return this.create(e)}create(e){return new Ka(e)}checkAndCreateNodeType(e){if(!(e instanceof M))return this._checkValueNode(e)}};let Ja=class extends c.Disposable{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,b(this,`_astNodeFactoryList`,[]),this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){let t=new na(`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 ea.create(S.VALUE);let n=t.getLambdaId(),r=new na(`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 M){Ea(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 M;r.setToken(Vt);let i=new M;i.setToken(`L_1`);let a=[...t];for(let e=0;e<n;e++){let t=a[e];if(!(t instanceof M))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?ea.create(S.ERROR):this._parse(n,t)}if(o===`P_1`){if(a=t,r===0)return new Ia(`R_1`).setParent(t),a}else{if(o===`L_1`){let n=this._lambdaParameterHandler(e,t);return n===!1&&(n=ea.create(S.ERROR)),n}if(a=this._checkAstNode(e),a==null)return ea.create(S.NAME)}let s=n[0];for(let e=0;e<r;e++){let t=n[e];if(wa(s)){if(e!==0&&e!==r-1)continue}else if(Ta(t)&&e!==r-1)continue;let o=null;if(t instanceof M){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 ea.create(S.NAME)}if(o=this._parse(t,a),o===a)continue}else o=this._checkAstNode(t);if(o==null)return ea.create(S.NAME);if(o=Da(o),o==null||(o==null?void 0:o.nodeType)===B.ERROR)return o;switch(o.nodeType){case B.FUNCTION:{let e=o.getToken().trim().toUpperCase();Ht.has(e)&&o.setForcedCalculateFunction(),i.push(o);break}case B.LAMBDA:i.push(o);break;case B.LAMBDA_PARAMETER:i.push(o);break;case B.OPERATOR:{let e=i.pop(),t=i.pop();t&&t.setParent(o),e&&e.setParent(o),i.push(o);break}case B.REFERENCE:i.push(o);break;case B.ROOT:i.push(o);break;case B.UNION:i.push(o);break;case B.VALUE:i.push(o);break;case B.PREFIX:i.push(o);break;case B.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 xa: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(c.sortRules)}};Ja=vn([j(0,Zi),j(1,(0,c.Inject)(ra)),j(2,(0,c.Inject)(Sa)),j(3,(0,c.Inject)(Ma)),j(4,(0,c.Inject)(Fa)),j(5,(0,c.Inject)(Ra)),j(6,(0,c.Inject)(va)),j(7,(0,c.Inject)(Va)),j(8,(0,c.Inject)(Ua)),j(9,(0,c.Inject)(Ga)),j(10,(0,c.Inject)(qa))],Ja);var Ya=class extends c.Disposable{constructor(...e){super(...e),b(this,`_otherFormulaData`,new Map),b(this,`_featureFormulaData`,new Map),b(this,`_formulaData`,new Map),b(this,`_definedNameMap`,new Map),b(this,`_otherFormulaDataMainData`,new Set),b(this,`_dependencyRTreeCache`,new c.RTree),b(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.`)}},Xa=class extends Ya{constructor(...e){super(...e),b(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 c.ObjectMatrix),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 c.ObjectMatrix),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 Za=(0,c.createIdentifier)(`univer.formula.dependency-manager.service`);var Qa=class extends c.Disposable{constructor(...e){super(...e),b(this,`_referenceExecutorMap`,new Map),b(this,`_onChanged$`,new l.Subject),b(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 $a=(0,c.createIdentifier)(`univer.formula.feature-calculation-manager.service`);var eo=class extends c.Disposable{constructor(...e){super(...e),b(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 to=(0,c.createIdentifier)(`univer.formula.other-formula-manager.service`);let no=function(e){return e[e.DEFAULT=0]=`DEFAULT`,e[e.ADDED=1]=`ADDED`,e[e.SKIP=2]=`SKIP`,e}({}),ro=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 io=class{constructor(){b(this,`_state`,no.DEFAULT),b(this,`type`,ro.NORMAL_FORMULA),b(this,`treeId`,void 0),b(this,`children`,new Set),b(this,`parents`,new Set)}resetState(){this._state=no.DEFAULT}setAdded(){this._state=no.ADDED}isAdded(){return this._state===no.ADDED}setSkip(){this._state=no.SKIP}isSkip(){return this._state===no.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)}},ao=class extends io{constructor(...e){super(...e),b(this,`refTree`,void 0),b(this,`refOffsetX`,-1),b(this,`refOffsetY`,-1),b(this,`isCache`,!1),b(this,`isDirty`,!1),b(this,`addressFunctionNodes`,[]),b(this,`getDirtyData`,void 0),b(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:(0,c.moveRangeByOffset)(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}},oo=class extends io{constructor(e){super(),b(this,`isCache`,!1),b(this,`featureId`,void 0),b(this,`featureDirtyRanges`,[]),b(this,`refOffsetX`,0),b(this,`refOffsetY`,0),b(this,`formulaId`,void 0),b(this,`subUnitId`,``),b(this,`unitId`,``),b(this,`rangeList`,[]),b(this,`formula`,``),b(this,`row`,-1),b(this,`column`,-1),b(this,`rowCount`,-1/0),b(this,`columnCount`,-1/0),b(this,`isDirty`,!1),b(this,`node`,void 0),b(this,`addressFunctionNodes`,[]),b(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!==ro.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}}]}},so=class{constructor(e){if(b(this,`children`,new Set),b(this,`parents`,new Set),b(this,`treeId`,-1),b(this,`formula`,``),b(this,`refOffsetX`,0),b(this,`refOffsetY`,0),b(this,`row`,-1),b(this,`column`,-1),b(this,`unitId`,``),b(this,`subUnitId`,``),b(this,`rangeList`,[]),b(this,`refTreeId`,void 0),b(this,`formulaId`,void 0),b(this,`featureId`,void 0),b(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 co(e){return e.getLastTreeId()||0}const lo=(0,c.createIdentifier)(`engine-formula.dependency-generator`);let uo=class extends c.Disposable{constructor(e,t,n,r,i,a,o,s,l,u){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=l,this._lexerTreeBuilder=u,b(this,`_updateRangeFlattenCache`,new Map),b(this,`_dependencyRTreeCacheForAddressFunction`,new c.RTree),b(this,`_executedAddressFunctionNodeIds`,new Set),b(this,`_formulaDependencyTreeModel`,new Map),this._initUnitDispose()}dispose(){super.dispose(),this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),ua.clear()}_initUnitDispose(){this.disposeWithMe(this._univerInstanceService.getTypeOfUnitDisposed$(c.UniverInstanceType.UNIVER_SHEET).subscribe(e=>{this._disposeByUnitId(e.getUnitId())}))}_disposeByUnitId(e){ua.forEach((t,n)=>{n.startsWith(e)&&ua.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,co(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 oo(t||co(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=ro.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=da(r,c,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:f,firstColumn:p}=this._getFirstCellOfRange(l),m=this._dependencyManagerService.getOtherFormulaDependency(r,e,t),h=new oo((m==null?void 0:m.getValue(0,0))||co(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=ro.OTHER_FORMULA,h.isCache=u,n.push(h),this._dependencyManagerService.addOtherFormulaDependency(r,e,t,h),this._dependencyManagerService.addFormulaDependencyByDefinedName(h);continue}let l=new ao;l.treeId=(m==null?void 0:m.getValue(o,s))||co(this._dependencyManagerService),l.refTree=h,l.refOffsetX=o,l.refOffsetY=s,l.isCache=u,l.type=ro.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 c.ObjectMatrix(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 oo(co(this._dependencyManagerService)),u=i[e][t];return l.node=da(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 ao;return i.treeId=co(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===B.UNION||e.nodeType===B.PREFIX&&e.getToken()===oe.AT||e.nodeType===B.SUFFIX&&e.getToken()===ie.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===B.UNION)for(let e of r.getChildren())e.nodeType===B.FUNCTION&&e.isAddress()&&this._nodeTraversalRef(e,t);continue}else r.nodeType===B.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===B.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 c.RTree;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||pa(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 so(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 so(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===ro.FEATURE_FORMULA||e===ro.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}}};uo=vn([j(0,_r),j(1,Zi),j(2,to),j(3,$a),j(4,(0,c.Inject)(c.IUniverInstanceService)),j(5,(0,c.Inject)(Ca)),j(6,(0,c.Inject)(Ja)),j(7,(0,c.Inject)(vr)),j(8,Za),j(9,(0,c.Inject)(sr))],uo);const fo=(0,c.createIdentifier)(`engine-formula.calculate-formula.service`);let po=class extends c.Disposable{constructor(e,t,n,r,i,a,o){super(),this._configService=e,this._lexer=t,this._currentConfigService=n,this._runtimeService=r,this._formulaDependencyGenerator=i,this._interpreter=a,this._astTreeBuilder=o,b(this,`_executionInProgressListener$`,new l.Subject),b(this,`executionInProgressListener$`,this._executionInProgressListener$.asObservable()),b(this,`_executionCompleteListener$`,new l.Subject),b(this,`executionCompleteListener$`,this._executionCompleteListener$.asObservable()),b(this,`_executeLock`,new c.AsyncLock),b(this,`_isCalculateTreeModel`,!1)}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),Si.clear(),pr.clear(),ce.clear(),fi.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(Ji.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(),Si.clear(),this._runtimeService.isCycleDependency());e++);this._runtimeService.setFormulaExecuteStage(Ji.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),pr.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:(Si.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 c.ObjectMatrix(i[e]);if(a==null)return!0;let o=new c.ObjectMatrix;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(Ji.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage(Ji.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let t=(await this._formulaDependencyGenerator.generate(this._isCalculateTreeModel)).reverse(),n=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage(Ji.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage(Ji.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let r=[],i=this._configService.getConfig(Xn),a=(i==null?void 0:i.intervalCount)||500,o=t.length;for(let i=0;i<o;i++){var s;let o=t[i],l=o.nodeData,u=o.getDirtyData;if(i%a===0&&(await new Promise(e=>{let t=(0,c.requestImmediateMacroTask)(e);r.push(t)}),e?(this._runtimeService.setFormulaExecuteStage(Ji.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(i+1)):(this._runtimeService.setFormulaExecuteStage(Ji.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(i+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||l==null&&u==null)){this._runtimeService.setFormulaExecuteStage(Ji.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 d;if(u!=null&&o.featureId!=null){let{runtimeCellData:e,dirtyRanges:t}=u(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(o.featureId,e),this._runtimeService.setRuntimeFeatureRange(o.featureId,t)}else l!=null&&(d=n.checkAsyncNode(l.node)?await n.executeAsync(l):n.execute(l),o.formulaId==null?this._runtimeService.setRuntimeData(d):this._runtimeService.setRuntimeOtherData(o.formulaId,o.refOffsetX,o.refOffsetY,d));(s=l.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(S).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)}};po=vn([j(0,c.IConfigService),j(1,(0,c.Inject)(vr)),j(2,_r),j(3,Zi),j(4,lo),j(5,(0,c.Inject)(Ca)),j(6,(0,c.Inject)(Ja))],po);let mo=class extends c.Disposable{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===An.id)this._calculateFormulaService.stopFormulaExecution();else if(e.id===En.id)this._calculate(e.params);else if(e.id===Gt.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===On.id)this._calculateFormulaString(e.params);else if(e.id===Nn.id)this._generateAllDependencyTreeJson();else if(e.id===Fn.id)this._generateCellDependencyTreeJson(e.params);else if(e.id===Ln.id){let t=e.params;this._queryFormulaDependencyJson(t)}else if(e.id===zn.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(Rn.id,{result:r},{onlyLocal:!0})}async _queryFormulaDependencyAllJson(e){let{unitRanges:t}=e,n=await this._calculateFormulaService.getDependentsAndInRangeFormulas(t);this._commandService.executeCommand(Bn.id,{result:n},{onlyLocal:!0})}async _generateAllDependencyTreeJson(){let e=await this._calculateFormulaService.getAllDependencyJson();this._commandService.executeCommand(Pn.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(In.id,{result:a},{onlyLocal:!0})}async _calculateFormulaString(e){let{formulas:t}=e,n=await this._calculateFormulaService.executeFormulas(t);this._commandService.executeCommand(kn.id,{result:n},{onlyLocal:!0})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(e=>{let t=e.functionsExecutedState;switch(t){case Yi.NOT_EXECUTED:this._applyTreeResult(e);break;case Yi.STOP_EXECUTION:break;case Yi.SUCCESS:this._applyResult(e);break;case Yi.INITIAL:break}this._commandService.executeCommand(jn.id,{functionsExecutedState:t},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(e=>{this._commandService.executeCommand(jn.id,{stageInfo:e},{onlyLocal:!0})})}async _applyTreeResult(e){let{dependencyTreeModelData:t}=e;t.length>0&&this._commandService.executeCommand(Pn.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(Gt.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData(),arrayFormulaEmbedded:o},{onlyLocal:!0})),s&&s.length>0&&this._commandService.executeCommand(Hn.id,{imageFormulaData:s},{onlyLocal:!0}),this._applyTreeResult(e),this._commandService.executeCommand(Mn.id,{unitData:zt(t),unitOtherData:n},{onlyLocal:!0})}};mo=vn([j(0,c.ICommandService),j(1,fo),j(2,(0,c.Inject)(ur))],mo);const ho=/[\[\]]/g;function go(e,t){return ho.test(e)?t+Number(e.replace(ho,``)):Number(e)-1}function _o(e,t=0,n=0){e=e.toLocaleUpperCase();let r=e.split(/[RC]/),i=r[1],a=r[2];return{row:go(i,t),column:go(a,n),absoluteRefType:c.AbsoluteRefType.NONE}}function vo(e,t=0,n=0){let{refBody:r,sheetName:i,unitId:a}=nn(e),o=r.indexOf(`:`);if(o===-1){let e=_o(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=_o(s,t,n),u=_o(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 yo(e){let t=bo(e.startRow,e.startAbsoluteRefType,!0),n=bo(e.startColumn,e.startAbsoluteRefType,!1),r=bo(e.endRow,e.endAbsoluteRefType,!0),i=bo(e.endColumn,e.endAbsoluteRefType,!1);return t===r&&n===i?`R${t}C${n}`:`R${t}C${n}:R${r}C${i}`}function bo(e,t=c.AbsoluteRefType.ALL,n){switch(e+=1,t){case c.AbsoluteRefType.ALL:return`${e}`;case c.AbsoluteRefType.ROW:return n?`${e}`:`[${e}]`;case c.AbsoluteRefType.COLUMN:return n?`[${e}]`:`${e}`;case c.AbsoluteRefType.NONE:return`[${e}]`}}function xo(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return O.create(S.VALUE);t=e.get(0,0)}return t.isError(),t}function So(...e){for(let t=0;t<e.length;t++){let n=xo(e[t]);if(n.isError())return{isError:!0,errorObject:n};e[t]=n}return{isError:!1,variants:e}}function q(...e){for(let t=0;t<e.length;t++){let n=xo(e[t]);if(n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:O.create(S.VALUE)};e[t]=n}return{isError:!1,variants:e}}function Co(...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:O.create(S.NA)};if(n=xo(e[t]),n.isError())return{isError:!0,errorObject:n};if(n.isBoolean())return{isError:!0,errorObject:O.create(S.VALUE)};e[t]=n}return{isError:!1,variants:e}}function J(...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 Y=class{constructor(e){this._name=e,b(this,`_unitId`,void 0),b(this,`_subUnitId`,void 0),b(this,`_row`,-1),b(this,`_column`,-1),b(this,`_definedNames`,void 0),b(this,`_locale`,void 0),b(this,`_sheetOrder`,void 0),b(this,`_sheetNameMap`,void 0),b(this,`_formulaDataModel`,void 0),b(this,`_rowCount`,-1),b(this,`_columnCount`,-1),b(this,`needsExpandParams`,!1),b(this,`needsReferenceObject`,!1),b(this,`needsLocale`,!1),b(this,`needsSheetsInfo`,!1),b(this,`needsFormulaDataModel`,!1),b(this,`needsSheetRowColumnCount`,!1),b(this,`needsFilteredOutRows`,!1),b(this,`minParams`,-1),b(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 O.create(S.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?O.create(S.VALUE):t;if(n.isString()){let e=Number(n.getValue());return Number.isNaN(e)?O.create(S.REF):e}else if(n.isNumber())return n.getValue();return O.create(S.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 O.create(S.NA);let o;return o=n.getRowCount()===1?n.get(0,a)||N.create():n.get(a,0)||N.create(),o.isNull()?F.create(0):o}_getOneFirstByRaw(e){return e.length===0?O.create(S.NA):e[0][0]||O.create(S.NA)}_getOneLastByRaw(e){return e.length===0?O.create(S.NA):e[e.length-1][e[0].length-1]||O.create(S.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,E.EQUALS));return r?this._getOneFirstByRaw(i):this._getOneLastByRaw(i)}orderSearch(e,t,n,r=wr.MIN,i=!1){let a=t.orderSearch(e,r,i);if(a==null)return O.create(S.NA);let o=n.get(a.row,a.column)||N.create();return o.isNull()?O.create(S.NA):o}binarySearchExpand(e,t,n,r=0,i,a){let o=t.binarySearch(e,i,a);return o==null?O.create(S.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?O.create(S.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,E.EQUALS),o;return o=r?a.getFirstTruePosition():a.getLastTruePosition(),o==null?O.create(S.NA):i===0?n.slice([o.row,o.row+1]):n.slice(void 0,[o.column,o.column+1])}orderSearchExpand(e,t,n,r=wr.MIN,i=!1,a=0){let o=t.orderSearch(e,r,i);return o==null?O.create(S.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 Ai(n,1,n[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Pi(e)),e.isString()){let t=Number(e.getValue());e=F.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){let n=e.getForcedUnitId()||e.getDefaultUnitId()||``,r=e.getForcedSheetId()||e.getDefaultUnitId()||``,i=en({unitId:n,sheetName:e.getForcedSheetName(),range:t}),a;return a=Et(i)?new Di(i):At(i)?new ki(i):jt(i)?new Oi(i):new Ei(t,r,n),this._setReferenceDefault(e,a)}_setReferenceDefault(e,t){if(this.unitId==null||this.subUnitId==null)return O.create(S.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}},wo=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;let{isError:r,errorObject:i,variants:a}=So(t,n);if(r)return i;let{isError:o,errorObject:s,variants:c}=J(...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 O.create(S.NUM);if(d===0||f===0)return O.create(S.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])}},To=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 R.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}};let Eo=function(e){return e.ARRAY_CONSTRAIN=`ARRAY_CONSTRAIN`,e.FLATTEN=`FLATTEN`,e}({});const Do=[[wo,Eo.ARRAY_CONSTRAIN],[To,Eo.FLATTEN]];let Oo;(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)})()})(Oo||(Oo={}));function ko(e){return/^[01]{1,10}$/.test(e)}function Ao(e){return/^[0-7]{1,10}$/.test(e)}function jo(e){return/^[0-9A-Fa-f]{1,10}$/.test(e)}function Mo(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 No(e){return 1-Mo(e)}function Po(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=No(r)-t;r+=e/(1.1283791670955126*Math.exp(-r*r)-r*e)}return e<1?r:-r}function Fo(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 Io(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 Lo(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 Ro(e,t){let n=Lo(e,t);return n===0?0:Math.abs(e*t)/n}function zo(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}=Ko(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 Bo(e){let t=zo(e);return t===0?null:e.length===1?[[1/t]]:Ho(e).map(e=>e.map(e=>e/t))}function Vo(e,t,n){return e.filter((e,n)=>n!==t).map(e=>e.filter((e,t)=>t!==n))}function Ho(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)*zo(Vo(e,r,i));n[i][r]=t===0?0:t}return n}function Uo(e,t){return e.map(e=>t[0].map((n,r)=>e.reduce((e,n,i)=>e+n*t[i][r],0)))}function Wo(e){return e[0].map((t,n)=>e.map(e=>e[n]))}function Go(e){let{smallPivotDetected:t,luMatrix:n,permutation:r}=Ko(e);return t?null:qo(n,r)}function Ko(e){let t=Wo(e),n=t.length,r=t[0].length,i=!0,a=!1,o=Jo(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 qo(e,t){let n=t.length,r=Jo(n,n,0);for(let e=0;e<n;e++)r[e][e]=1;let i=Jo(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 Jo(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 Yo(e){let t=Xo(e);if(!t)return null;let{matrixU:n,matrixS:r,matrixV:i}=t,a=Wo(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 Uo(i,Uo(o,a))}function Xo(e){let t=Wo(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=Qo(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=Qo(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=$o(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=$o(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=Qo(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=Zo(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=Zo(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=Zo(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=Zo(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 Zo(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 Qo(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 $o(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 es=new Map([[`I`,1],[`V`,5],[`X`,10],[`L`,50],[`C`,100],[`D`,500],[`M`,1e3]]),ts=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`]]),ns=[[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 rs(e,t,n){return e<=0?0:e>=1?1:os(e,t,n)}function is(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)/cs(t,n):Math.exp((t-1)*Math.log(e)+(n-1)*Math.log(1-e)-ls(t,n))}function as(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=-ls(t,n),a,o,s;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(a=os(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 os(e,t,n){let r=e===0||e===1?0:Math.exp(Ts(t+n)-Ts(t)-Ts(n)+t*Math.log(e)+n*Math.log(1-e));return e<(t+1)/(t+n+2)?r*ss(e,t,n)/t:1-r*ss(1-e,n,t)/n}function ss(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 cs(e,t){return e+t>170?Math.exp(ls(e,t)):xs(e)*xs(t)/xs(e+t)}function ls(e,t){return Ts(e)+Ts(t)-Ts(e+t)}function us(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+=ds(i,t,n);return r}function ds(e,t,n){return n===0||n===1?t*n===e?1:0:Io(t,e)*n**e*(1-n)**(t-e)}function fs(e,t){return e<=0?0:Es(t/2,e/2)}function ps(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)-Ts(t/2))}function ms(e,t){return e<=0?0:e>=1?1/0:2*Ds(e,t/2)}function hs(e,t,n){return e<0?0:os(t*e/(t*e+n),t/2,n/2)}function gs(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/cs(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 _s(e,t,n){return e<=0?0:e>=1?1/0:n/(t*(1/as(e,t/2,n/2)-1))}function vs(e,t){return e<0?0:1-Math.exp(-t*e)}function ys(e,t){return e<0?0:t*Math.exp(-t*e)}function bs(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 xs(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 Ss(e,t,n){return e<=0?0:Es(t,e/n)}function Cs(e,t,n){return e<0?0:e===0&&t===1?1/n:Math.exp((t-1)*Math.log(e)-e/n-Ts(t)-t*Math.log(n))}function ws(e,t,n){return e<=0?0:e>=1?1/0:n*Ds(e,t)}function Ts(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 Es(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=Ts(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 Ds(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=Ts(t),i,a;for(let o=0;o<12;o++){if(n<=0)return 0;if(i=Es(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 Os(e,t,n,r){let i=0;for(let a=0;a<=e;a++)i+=ks(a,t,n,r);return i}function ks(e,t,n,r){return t-e>r-n?0:Io(n,e)*Io(r-n,t-e)/Io(r,t)}function As(e,t,n){return e<0?0:.5+.5*Mo((Math.log(e)-t)/Math.sqrt(2*n*n))}function js(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 Ms(e,t,n){return Math.exp(Ls(e,t,n))}function Ns(e,t,n){if(e<0)return 0;let r=0;for(let i=0;i<=e;i++)r+=Ps(i,t,n);return r}function Ps(e,t,n){return e<0?0:Io(e+t-1,t-1)*n**t*(1-n)**e}function Fs(e,t,n){return .5*(1+Mo((e-t)/Math.sqrt(2*n*n)))}function Is(e,t,n){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(n)-(e-t)**2/(2*n*n))}function Ls(e,t,n){return-1.4142135623730951*n*Po(2*e)+t}function Rs(e,t){let n=0;for(let r=0;r<=e;r++)n+=zs(r,t);return n}function zs(e,t){return Math.exp(-t)*t**e/Fo(e)}function Bs(e,t){let n=.5*os(t/(e**2+t),t/2,.5);return e<0?n:1-n}function Vs(e,t){let n=(1+e**2/t)**(-(t+1)/2);return 1/(Math.sqrt(t)*cs(.5,t/2))*n}function Hs(e,t){let n=as(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}function Us(e,t,n,r,i){let a=[],o=[],s=!0;for(let l=0;l<n;l++){let n=Math.floor(l/r),u=l%r,d=Math.floor(l/i),f=l%i,p=e.isArray()?e.get(n,u):e,m=t.isArray()?t.get(d,f):t;if(p.isError())return{isError:!0,errorObject:p,array1Values:a,array2Values:o,noCalculate:s};if(m.isError())return{isError:!0,errorObject:m,array1Values:a,array2Values:o,noCalculate:s};if(p.isNull()||m.isNull()||p.isBoolean()||m.isBoolean())continue;let h=p.getValue(),g=m.getValue();!(0,c.isRealNum)(h)||!(0,c.isRealNum)(g)||(a.push(+h),o.push(+g),s=!1)}return{isError:!1,errorObject:null,array1Values:a,array2Values:o,noCalculate:s}}function Ws(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:O.create(S.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:O.create(S.REF)}}return{isError:!1,errorObject:null}}function Gs(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 O.create(S.VALUE);r[i].push(+n.getValue())}}return r}function Ks(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 qs(e,t,n,r){let i=t;r&&(i=t.map(e=>Math.log(e)));let a,o;return n?{slope:a,intercept:o}=Js(e,i):{slope:a,intercept:o}=Ys(e,i),r&&(a=Math.exp(a),o=Math.exp(o)),Number.isNaN(a)&&!n&&(a=0),{slope:a,intercept:o,Y:i}}function Js(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 Ys(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 Xs(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=Wo(o),s=Wo(s),c=Wo(c)),r&&(s=s.map(e=>[...e,1]));let l=Wo(s),u=Uo(l,s),d=Uo(l,o),f=Go(u);if(!f&&(f=Yo(u),!f))return O.create(S.NA);let p=Uo(f,d);r||p.push([0]),p=Wo(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 Zs(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 X=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 Qs(e,t){let n=e[t];return n?n.hd===c.BooleanNumber.TRUE:!1}function $s(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(`${W.SUBTOTAL}(`)>-1||e.indexOf(`${W.AGGREGATE}(`)>-1))return!0}return!1}function ec(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 F.create(n[0])}function tc(e,t){let{type:n,ignoreRowHidden:r,ignoreErrorValues:i,ignoreNested:a,formulaDataModel:o}=e,s=[],l=0,u=0,d=0,f=0,p=0,m=0,h=1,g={},_=1,v=0;for(let e=0;e<t.length;e++){var y;let b=t[e],x=b.getFilteredOutRows(),S=b.getRowData(),C=b.getUnitId(),w=b.getSheetId(),ee=(y=b.getUnitData()[C])==null||(y=y[w])==null?void 0:y.cellData,T;if(b.iterator((e,t,y)=>{if(x.includes(t)||r&&Qs(S,t)||a&&$s(ee,t,y,w,C,o))return!0;if(n===X.COUNT)return e!=null&&e.isNumber()&&l++,!0;if(n===X.COUNTA)return e!=null&&!e.isNull()&&u++,!0;if(e!=null&&e.isError())return i?!0:(T=e,!1);if(!e||e.isNull()||e.isBoolean()||e.isString())return!0;let b=e.getValue();if(!(0,c.isRealNum)(b))return!0;if(b=+b,f++,n===X.MAX)return p=f===1?b:Math.max(p,b),!0;if(n===X.MIN)return m=f===1?b:Math.min(m,b),!0;if(n===X.MODE_SNGL)return g[b]?(g[b].count++,g[b].count>_&&(_=g[b].count)):g[b]={count:1,order:v++},!0;d+=b,h*=b,s.push(e)}),T!=null&&T.isError())return T}switch(n){case X.AVERAGE:return f===0?O.create(S.DIV_BY_ZERO):F.create(d/f);case X.COUNT:return F.create(l);case X.COUNTA:return F.create(u);case X.MAX:return F.create(p);case X.MIN:return F.create(m);case X.PRODUCT:return F.create(f===0?0:h);case X.STDEV:case X.STDEV_S:return f<2?O.create(S.DIV_BY_ZERO):Ai([s],1,f).std(1);case X.STDEVP:case X.STDEV_P:return f===0?O.create(S.DIV_BY_ZERO):Ai([s],1,f).std();case X.SUM:return F.create(d);case X.VAR:case X.VAR_S:return f<2?O.create(S.DIV_BY_ZERO):Ai([s],1,f).var(1);case X.VARP:case X.VAR_P:return f===0?O.create(S.DIV_BY_ZERO):Ai([s],1,f).var();case X.MEDIAN:return f===0?O.create(S.NUM):rc(s.map(e=>+e.getValue()));case X.MODE_SNGL:return v===0||_===1?O.create(S.NA):ec(g,_);default:return O.create(S.VALUE)}}function nc(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(),l=e.getRowData(),u=e.getUnitId(),d=e.getSheetId(),f=(s=e.getUnitData()[u])==null||(s=s[d])==null?void 0:s.cellData,p;if(e.iterator((e,s,m)=>{if(t.includes(s)||r&&Qs(l,s))return!0;if(e!=null&&e.isError())return i?!0:(p=e,!1);if(a&&n&&$s(f,s,m,d,u,n)||!e||e.isNull()||e.isBoolean()||e.isString())return!0;let h=e.getValue();if(!(0,c.isRealNum)(h))return!0;o.push(+h)}),p)return p}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();(0,c.isRealNum)(a)&&o.push(+a)}}return o.length===0?O.create(S.NUM):o}function rc(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 F.create(n)}function ic(e,t){if(t<1||t>e.length)return O.create(S.NUM);e.sort((e,t)=>t-e);let n=Math.ceil(t);return F.create(e[n-1])}function ac(e,t){if(t<1||t>e.length)return O.create(S.NUM);e.sort((e,t)=>e-t);let n=Math.floor(t);return F.create(e[n-1])}function oc(e,t){let n=e.length;if(t<0||t>1)return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t*(n-1),i=Math.floor(r),a=r-i;if(a===0)return F.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return F.create(o)}function sc(e,t){let n=e.length;if(t<1/(n+1)||t>1-1/(n+1))return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t*(n+1)-1,i=Math.floor(r),a=r-i;if(a===0)return F.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return F.create(o)}function cc(e,t){let n=e.length;if(t<0||t>4)return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t/4*(n-1),i=Math.floor(r),a=r-i;if(a===0)return F.create(e[i]);let o=e[i]+a*(e[i+1]-e[i]);return F.create(o)}function lc(e,t){let n=e.length;if(t<=0||t>=4)return O.create(S.NUM);e.sort((e,t)=>e-t);let r=t/4;if(r<1/(n+1)||r>1-1/(n+1))return O.create(S.NUM);let i=r*(n+1)-1,a=Math.floor(i),o=i-a;if(o===0)return F.create(e[a]);let s=e[a]+o*(e[a+1]-e[a]);return F.create(s)}var uc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.create(1):i;a.isNull()&&(a=F.create(0)),o.isNull()&&(o=F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.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}=J(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 O.create(S.NUM);let v=as(p,m,h)*(_-g)+g;return F.create(v)}},dc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?us(d,f,p):ds(d,f,p),F.create(h)}},fc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=0;for(;f<=l&&!(us(f,l,u)>=d);)f++;return F.create(f)}},pc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=1-fs(s,c);return F.create(l)}},mc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=ms(1-s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},hc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.NA);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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 O.create(S.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-fs(i,a);return F.create(o)}},gc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let g=Math.abs(Ls(p/2,0,1)*m/Math.sqrt(h));return F.create(g)});return r===1&&i===1?c.get(0,0):c}},_c=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return O.create(S.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 F.create(s/n)}},vc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?vs(l,u):ys(l,u),F.create(f)}},yc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=1-hs(l,u,d);return F.create(f)}},bc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=_s(1-l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},xc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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-hs(i/c,a,l));return u>1&&(u=2-u),F.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:O.create(S.VALUE),variance:t,ns1:n}:{isError:!0,errorObject:O.create(S.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 l=i.getValue();(0,c.isRealNum)(l)&&(a.push(+l),o+=+l)}if(a.length<=1)return{isError:!0,errorObject:O.create(S.DIV_BY_ZERO),variance:t,ns1:n};let s=o/a.length,l=0;for(let e=0;e<a.length;e++)l+=(a[e]-s)**2;return n=a.length-1,t=l/n,t===0?{isError:!0,errorObject:O.create(S.DIV_BY_ZERO),variance:t,ns1:n}:{isError:!1,errorObject:null,variance:t,ns1:n}}},Sc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?Ss(d,f,p):Cs(d,f,p),F.create(h)}},Cc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=ws(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},wc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Ms(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},Tc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(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 O(S.NA):ec(t,r)}},Ec=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?Fs(d,f,p):Is(d,f,p),F.create(h)}},Dc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Ls(l,u,d);return F.create(f)}},Oc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0||a>=1)return O.create(S.NUM);let o=Ls(a,0,1);return F.create(o)}},kc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return oc(e,+a.getValue())}},Ac=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?F.create(3):n;i.isNull()&&(i=F.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=z(a,o,t,O.create(S.NA)),c=z(a,o,i,O.create(S.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 O)return e;let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NA);if(u===1)return c===e[0]?F.create(1):O.create(S.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?O.create(S.NUM):(d=Zr(d,l),F.create(d)):O.create(S.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();(0,c.isRealNum)(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},jc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?Rs(l,u):zs(l,u),F.create(f)}},Mc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return cc(e,Math.floor(+a.getValue()))}},Nc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std()}},Pc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.std(1)}},Fc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Math.abs(Hs(s/2,c));return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Ic=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(u,d,n,O.create(S.NA)),p=z(u,d,r,O.create(S.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}=J(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)?O.create(S.NUM):y===1&&i?a:y!==1&&c instanceof O?c:y!==1&&l instanceof O?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 O.create(S.DIV_BY_ZERO);let{isError:i,errorObject:a,x:o,degFreedom:s}=this._getTDistParamByArrayValues(e,t,r);if(i)return a;let c=Bs(-o,s);return n===2&&(c*=2),Number.isNaN(c)||!Number.isFinite(c)?O.create(S.NUM):F.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 O.create(S.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:O.create(S.VALUE),array1Values:[],array2Values:[]};if(n*r!==i*a)return{isError:!0,errorObject:O.create(S.NA),array1Values:[],array2Values:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,array1Values:[],array2Values:[]}:f||u.length<2?{isError:!0,errorObject:O.create(S.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:O.create(S.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:O.create(S.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:O.create(S.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))}}},Lc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var()}},Rc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e);return t.isError()?t:t.var(1)}},zc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.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)?O.create(S.NUM):F.create(g)}},Bc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(i,a,t,O.create(S.NA)),s=n?z(i,a,n,O.create(S.NA)):void 0,c=o.mapValue((e,t,i)=>{if(r instanceof O)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?O.create(S.NA):r.length===1?O.create(S.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}=J(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}=J(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 O.create(S.NUM);let f=1-Fs((l/c-s)/(d/Math.sqrt(c)),0,1);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.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();(0,c.isRealNum)(a)&&t.push(+a)}return t}},Vc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.create(1):i;a.isNull()&&(a=F.create(0)),o.isNull()&&(o=F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.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}=J(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 O.create(S.NUM);let v=rs((p-g)/(_-g),m,h);return F.create(v)}};let Z=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 Hc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h=ks(d,f,p,m);return Number.isNaN(h)&&(h=0),F.create(h)}},Uc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=As(l,u,d);return F.create(f)}},Wc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Ps(l,u,d);return F.create(f)}},Gc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Fs(+i.getValue(),0,1);return F.create(a)}},Kc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(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?F.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=z(c,l,r,O.create(S.NA)),d=z(c,l,s,O.create(S.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return O.create(S.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 O.create(S.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?O.create(S.NA):F.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=O.create(S.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}}},qc=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=Bs(-l,u);return d===2&&(f*=2),Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}};const Jc=[[Vc,Z.BETADIST],[uc,Z.BETAINV],[dc,Z.BINOMDIST],[pc,Z.CHIDIST],[mc,Z.CHIINV],[hc,Z.CHITEST],[gc,Z.CONFIDENCE],[_c,Z.COVAR],[fc,Z.CRITBINOM],[vc,Z.EXPONDIST],[yc,Z.FDIST],[bc,Z.FINV],[xc,Z.FTEST],[Sc,Z.GAMMADIST],[Cc,Z.GAMMAINV],[Hc,Z.HYPGEOMDIST],[Uc,Z.LOGNORMDIST],[wc,Z.LOGINV],[Tc,Z.MODE],[Wc,Z.NEGBINOMDIST],[Ec,Z.NORMDIST],[Dc,Z.NORMINV],[Gc,Z.NORMSDIST],[Oc,Z.NORMSINV],[kc,Z.PERCENTILE],[Ac,Z.PERCENTRANK],[jc,Z.POISSON],[Mc,Z.QUARTILE],[Kc,Z.RANK],[Pc,Z.STDEV],[Nc,Z.STDEVP],[qc,Z.TDIST],[Fc,Z.TINV],[Ic,Z.TTEST],[Rc,Z.VAR],[Lc,Z.VARP],[zc,Z.WEIBULL],[Bc,Z.ZTEST]],Yc=[];let Xc=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 Zc=class extends Y{isCustom(){return!0}},Qc=class extends Zc{isAsync(){return!0}};function $c(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:O.create(S.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()||(0,c.isRealNum)(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,databaseValues:t}}function el(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:O.create(S.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()||(0,c.isRealNum)(o))&&(o=Math.floor(+o)),typeof o==`number`){if(o<1||o>t[0].length)return{isError:!0,errorObject:O.create(S.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:O.create(S.VALUE),fieldIndex:n};return{isError:!1,errorObject:null,fieldIndex:n}}function tl(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:O.create(S.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()||(0,c.isRealNum)(a)){n.push(+a);continue}n.push(a)}t.push(n)}return{isError:!1,errorObject:null,criteriaValues:t}}function nl(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]=ji(`${i}`);if(!bi.create(`${e}`).compare(o,a).getValue()){r=!1;break}}}if(r){o=!0;break}}return o}var rl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f+=t,p++)}return p===0?O.create(S.DIV_BY_ZERO):F.create(f/p)}},il=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)typeof a[e][c]==`number`&&nl(d,a,e)&&f++;return F.create(f)}},al=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&nl(d,a,e)&&f++;return F.create(f)}},ol=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0,p=0;for(let e=1;e<a.length;e++)a[e][c]!=null&&nl(d,a,e)&&(f++,p=e);return f===0?O.create(S.VALUE):f>1?O.create(S.NUM):e.get(p,c)}},sl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f=Math.max(f,t),p++)}return p===0?F.create(0):F.create(f)}},cl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f=Math.min(f,t),p++)}return p===0?F.create(0):F.create(f)}},ll=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f*=t,p++)}return p===0?F.create(0):F.create(f)}},ul=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return O.create(S.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 F.create(_)}},dl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return O.create(S.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 F.create(_)}},fl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(n);if(l)return u;let f=0;for(let e=1;e<a.length;e++){let t=a[e][c];typeof t==`number`&&nl(d,a,e)&&(f+=t)}return F.create(f)}},pl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m<=1)return O.create(S.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 F.create(_)}},ml=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,databaseValues:a}=$c(e);if(r)return i;let{isError:o,errorObject:s,fieldIndex:c}=el(t,a);if(o)return s;let{isError:l,errorObject:u,criteriaValues:d}=tl(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`&&nl(d,a,e)&&(f.push(t),p+=t,m++)}if(m===0)return O.create(S.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 F.create(_)}};let hl=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 gl=[[rl,hl.DAVERAGE],[il,hl.DCOUNT],[al,hl.DCOUNTA],[ol,hl.DGET],[sl,hl.DMAX],[cl,hl.DMIN],[ll,hl.DPRODUCT],[ul,hl.DSTDEV],[dl,hl.DSTDEVP],[fl,hl.DSUM],[pl,hl.DVAR],[ml,hl.DVARP]];var _l=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);p>=0&&p<1899&&(p+=1900);let g=de(new Date(Date.UTC(p,m-1,h)));return g<0?O.create(S.NUM):F.create(g,le)});return r===1&&i===1?c.get(0,0):c}},vl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=A(r);if(typeof o!=`number`)return o;let s=A(i);return typeof s==`number`?s<o||!a.isString()?O.create(S.NUM):this._getResultByUnit(o,s,a):s}_getResultByUnit(e,t,n){let r=k(e),i=r.getUTCFullYear(),a=r.getUTCMonth()+1,o=r.getUTCDate(),s=k(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+=Me(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(de(p))-Math.floor(e);break;default:return O.create(S.NUM)}return F.create(f)}},yl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=he(t);if(n===null&&(n=ge(t)),n){let{v:e,z:t}=n;if(t&&_e(t))return e instanceof Date&&(e=fe(e)),F.create(Math.trunc(+e))}}return O.create(S.VALUE)}},bl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(!me(`${n}`))return O.create(S.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return O.create(S.NUM);if(n===0)return F.create(0);t=k(n)}let r=t.getUTCDate();return F.create(r)}},xl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(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=A(e);if(typeof i!=`number`)return i;let o=A(r);if(typeof o!=`number`)return o;let s=Math.floor(i)-Math.floor(o);return F.create(s)});return n===1&&r===1?o.get(0,0):o}},Sl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?P.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=A(e);if(typeof a!=`number`)return a;if(r.isError())return r;let o=A(r);if(typeof o!=`number`)return o;if(i.isString()&&(i=i.convertToNumberObjectValue()),i.isError())return i;let{days:l}=we(a,o,+i.getValue()?4:0),u=o>=a?l:-l;return F.create(u)});return i===1&&a===1?l.get(0,0):l}},Cl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(n,r,t);return i.map((e,t,n)=>{let r=a.get(t,n)||N.create();if(e.isError())return e;if(r.isError())return r;if(e.isString()||e.isBoolean()||r.isString()||r.isBoolean())return O.create(S.VALUE);let i=+e.getValue();if(i<0)return O.create(S.NUM);let o=Math.floor(+r.getValue()),s=k(i),c=s.getUTCFullYear(),l=s.getUTCMonth()+o,u=s.getUTCDate(),d=de(new Date(Date.UTC(c,l,u)));return F.create(d,le)})}},wl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);n=n.get(0,0)}if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return O.create(S.VALUE);r=r.get(0,0)}if(n.isError())return n;if(r.isError())return r;let i=A(n);if(typeof i!=`number`)return i;if(r.isBoolean())return O.create(S.VALUE);let a=k(i),o=i>0?a.getUTCFullYear():1900,s=i>0?a.getUTCMonth():0,c=Math.floor(+r.getValue());if(Number.isNaN(c))return O.create(S.VALUE);let l=de(new Date(Date.UTC(o,s+c+1,0)));return F.create(l)}},Tl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(this,`needsReferenceObject`,!0)}calculate(e,t){let n=t==null?F.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 O.create(S.VALUE);let c=+o.getValue(),{isError:l,errorObject:u,variants:d}=J(s);if(l)return u;let[f]=d,p=Math.floor(+f.getValue());if(c<0||p<1||p>3)return O.create(S.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 F.create(e)}else{let e=fe(m);return F.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:O.create(S.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:O.create(S.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}}},El=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;if(t===0)return F.create(0);let n=pe(t).getUTCHours();return F.create(n)}},Dl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;let n=k(t),r=t>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=de(i),o=Ce(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=de(i),o=Ce(a),s=o<1?a+1:o<=4?a-(o-1):a+(11-o));let c=Math.ceil((t-s+1)/7);return F.create(c)}},Ol=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;if(t===0)return F.create(0);let n=pe(t).getUTCMinutes();return F.create(n)}},kl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(!me(`${n}`))return O.create(S.VALUE);t=new Date(`${n}`)}else{let n=+e.getValue();if(n<0)return O.create(S.NUM);if(n===0)return F.create(1);t=k(n)}let r=t.getUTCMonth()+1;return F.create(r)}},Al=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return O.create(S.VALUE);let a=A(r);if(typeof a!=`number`)return a;let o=A(i);if(typeof o!=`number`)return o;if(n)return this._getResultByHolidays(a,o,n);let s=xe(a,o);return F.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return O.create(S.VALUE);let e=A(n);if(typeof e!=`number`)return e;r.push(e)}let i=xe(e,t,1,r);return F.create(i)}},jl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.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()&&!ye(o))return O.create(S.VALUE);if(!ye(o))return O.create(S.NUM)}if(i.isBoolean()||a.isBoolean())return O.create(S.VALUE);let s=A(i);if(typeof s!=`number`)return s;let c=A(a);if(typeof c!=`number`)return c;if(r)return this._getResultByHolidays(s,c,o,r);let l=xe(s,c,o);return F.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return O.create(S.VALUE);let e=A(r);if(typeof e!=`number`)return e;i.push(e)}let a=xe(e,t,n,i);return F.create(a)}},Ml=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){let e=new Date,t=fe(new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())));return F.create(t,`yyyy/mm/dd hh:mm`)}},Nl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=A(e);if(typeof t!=`number`)return t;if(t===0)return F.create(0);let n=pe(t).getUTCSeconds();return F.create(n)}},Pl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e),o=z(r,i,t),s=z(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)||N.create(),s=n.get(r,i)||N.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 O.create(S.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 F.create(d,`h:mm A/P`)}},Fl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=(0,c.getNumfmtParseValueFilter)(`${e.getValue()}`);if(t){let{v:e,z:n}=t;if(n&&_e(n))return e instanceof Date&&(e=fe(e)),F.create(di(+e))}}return O.create(S.VALUE)}},Il=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(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 O.create(S.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 F.create(r,`yyyy-MM-dd hh:mm:ss AM/PM`)}},Ll=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){let e=new Date,t=de(new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())));return F.create(t,le)}},Rl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(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?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=A(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 O.create(S.NUM);let a=Ce(r),o=this._returnTypeMap[i][a];return F.create(o)}},zl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(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?F.create(1):t;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return O.create(S.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 O.create(S.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean())return O.create(S.VALUE);let i=A(n);if(typeof i!=`number`)return i;if(r.isBoolean())return O.create(S.VALUE);let a=Math.floor(+r.getValue());return Number.isNaN(a)?O.create(S.VALUE):a in this._returnTypeMap?this._getResult(i,a):O.create(S.NUM)}_getResult(e,t){let n=k(e),r=e>0?n.getUTCFullYear():1900,i=new Date(Date.UTC(r,0,1)),a=de(i),o=Ce(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=de(i),o=Ce(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 F.create(c)}},Bl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);i=i.get(0,0)}if(i.isError())return i;if(n!=null&&n.isError())return n;if(r.isBoolean()||i.isBoolean())return O.create(S.VALUE);let a=A(r);if(typeof a!=`number`)return a;let o=+i.getValue();if(Number.isNaN(o))return O.create(S.VALUE);if(n)return this._getResultByHolidays(a,o,n);let s=Se(a,o);return typeof s==`number`?F.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;r.push(a)}}else{if(n.isBoolean())return O.create(S.VALUE);let e=A(n);if(typeof e!=`number`)return e;r.push(e)}let i=Se(e,t,1,r);return typeof i==`number`?F.create(i):i}},Vl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.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 O.create(S.VALUE);let s=A(e);if(typeof s!=`number`)return s;let c=+t.getValue();if(Number.isNaN(c))return O.create(S.VALUE);let l=i.getValue();if(i.isBoolean()&&(l=+l),i.isString()&&(!ye(l)||l===`1111111`))return O.create(S.VALUE);if(!ye(l))return O.create(S.NUM);if(r)return this._getResultByHolidays(s,c,l,r);let u=Se(s,c,l);return typeof u==`number`?F.create(u):u}_checkArrayError(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.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 O.create(S.VALUE);let a=A(t);if(typeof a!=`number`)return a;i.push(a)}}else{if(r.isBoolean())return O.create(S.VALUE);let e=A(r);if(typeof e!=`number`)return e;i.push(e)}let a=Se(e,t,n,i);return typeof a==`number`?F.create(a):a}},Hl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(!me(`${n}`))return O.create(S.VALUE);t=new Date(`${n}`)}else{let e=+n;if(e<0)return O.create(S.NUM);if(e===0)return F.create(1900);t=k(e)}let r=t.getUTCFullYear();return F.create(r)}},Ul=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.create(0):n,i=xo(e);if(i.isError())return i;let a=xo(t);if(a.isError())return a;if(r=xo(r),r.isError())return r;if(i.isBoolean()||a.isBoolean()||r.isBoolean())return O.create(S.VALUE);let o=A(i);if(typeof o!=`number`)return o;let s=A(a);if(typeof s!=`number`)return s;let c=Math.floor(+r.getValue());if(Number.isNaN(c))return O.create(S.VALUE);if(c<0||c>4)return O.create(S.NUM);let{days:l,yearDays:u}=we(o,s,c),d=l/u;return F.create(d)}};const Wl=[[_l,ia.DATE],[vl,ia.DATEDIF],[yl,ia.DATEVALUE],[bl,ia.DAY],[xl,ia.DAYS],[Sl,ia.DAYS360],[Cl,ia.EDATE],[wl,ia.EOMONTH],[Tl,ia.EPOCHTODATE],[El,ia.HOUR],[Dl,ia.ISOWEEKNUM],[Ol,ia.MINUTE],[kl,ia.MONTH],[Al,ia.NETWORKDAYS],[jl,ia.NETWORKDAYS_INTL],[Ml,ia.NOW],[Nl,ia.SECOND],[Pl,ia.TIME],[Fl,ia.TIMEVALUE],[Il,ia.TO_DATE],[Ll,ia.TODAY],[Rl,ia.WEEKDAY],[zl,ia.WEEKNUM],[Bl,ia.WORKDAY],[Vl,ia.WORKDAY_INTL],[Hl,ia.YEAR],[Ul,ia.YEARFRAC]];var Gl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.besseli(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Kl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.besselj(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},ql=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.besselk(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Jl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);let l=Oo.bessely(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Yl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!ko(a))return O.create(S.NUM);let o;return o=a.length===10&&a.substring(0,1)===`1`?Number.parseInt(a.substring(1),2)-512:Number.parseInt(a,2),F.create(o)}},Xl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!ko(s))return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c.toLocaleUpperCase())}},Zl=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!ko(s))return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c)}},Ql=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=o&s;return F.create(c)});return n===1&&r===1?o.get(0,0):o}},$l=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)<<BigInt(s):BigInt(o)>>BigInt(-s));return c>0xffffffffffff?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},eu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=Number(BigInt(o)|BigInt(s));return F.create(c)});return n===1&&r===1?o.get(0,0):o}},tu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);s=Math.trunc(s);let c=Number(s>=0?BigInt(o)>>BigInt(s):BigInt(o)<<BigInt(-s));return c>0xffffffffffff?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},nu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=o^s;return F.create(c)});return n===1&&r===1?o.get(0,0):o}};d.default.prototype.cos=function(){let e=this.toNumber();return new d.default(Math.cos(e))};var Q=class e{static getComplex(e,t,n){let r=new d.default(e).toSignificantDigits(15).toNumber(),i=new d.default(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(b(this,`_inumber`,``),b(this,`_realNum`,0),b(this,`_iNum`,0),b(this,`_suffix`,``),b(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 d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){let e=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),t=d.default.acos(new d.default(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=d.default.cos(this._realNum).mul(d.default.cosh(this._iNum)).toNumber(),n=d.default.sin(this._realNum).mul(d.default.sinh(this._iNum)).negated().toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.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=d.default.cosh(this._realNum).mul(d.default.cos(this._iNum)).toNumber(),n=d.default.sinh(this._realNum).mul(d.default.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.cosh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Cot(){if(this._iNum){let t=d.default.cosh(this._iNum*2).sub(d.default.cos(this._realNum*2)),n=d.default.sin(this._realNum*2).div(t).toNumber(),r=d.default.sinh(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.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=d.default.cosh(this._realNum*2).sub(d.default.cos(this._iNum*2)),n=d.default.sinh(this._realNum*2).div(t).toNumber(),r=d.default.sin(this._iNum*2).div(t).negated().toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.tanh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Csc(){if(this._iNum){let t=d.default.cosh(this._iNum*2).sub(d.default.cos(this._realNum*2)),n=d.default.sin(this._realNum).mul(d.default.cosh(this._iNum)).mul(2).div(t).toNumber(),r=d.default.cos(this._realNum).mul(d.default.sinh(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.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=d.default.cosh(this._realNum*2).sub(d.default.cos(this._iNum*2)),n=d.default.sinh(this._realNum).mul(d.default.cos(this._iNum)).mul(2).div(t).toNumber(),r=d.default.cosh(this._realNum).mul(d.default.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.sinh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Div(t){let n=new d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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=d.default.exp(this._realNum).mul(d.default.cos(this._iNum)).toNumber(),n=d.default.exp(this._realNum).mul(d.default.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}Ln(){let t=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),n=d.default.ln(t).toNumber(),r=d.default.acos(new d.default(this._realNum).div(t)).toNumber();return e.getComplex(n,r,this._suffix)}Log(t){let n=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),r=d.default.ln(n),i=d.default.acos(new d.default(this._realNum).div(n));this._iNum<0&&(i=i.negated());let a=d.default.ln(t),o=new d.default(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=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),r=d.default.acos(new d.default(this._realNum).div(n));this._iNum<0&&(r=r.negated()),n=d.default.pow(n,t),r=r.mul(t);let i=d.default.cos(r).mul(n).toNumber(),a=d.default.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 d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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=d.default.cosh(this._iNum*2).add(d.default.cos(this._realNum*2)),n=d.default.cos(this._realNum).mul(d.default.cosh(this._iNum)).mul(2).div(t).toNumber(),r=d.default.sin(this._realNum).mul(d.default.sinh(this._iNum)).mul(2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.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=d.default.cosh(this._realNum*2).add(d.default.cos(this._iNum*2)),n=d.default.cosh(this._realNum).mul(d.default.cos(this._iNum)).mul(2).div(t).toNumber(),r=d.default.sinh(this._realNum).mul(d.default.sin(this._iNum)).mul(-2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=new d.default(1).div(d.default.cosh(this._realNum)).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sin(){if(this._iNum){let t=d.default.sin(this._realNum).mul(d.default.cosh(this._iNum)).toNumber(),n=d.default.cos(this._realNum).mul(d.default.sinh(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.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=d.default.sinh(this._realNum).mul(d.default.cos(this._iNum)).toNumber(),n=d.default.cosh(this._realNum).mul(d.default.sin(this._iNum)).toNumber();return e.getComplex(t,n,this._suffix)}else{let t=d.default.sinh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}Sqrt(){let t=d.default.sqrt(d.default.pow(this._realNum,2).add(d.default.pow(this._iNum,2))),n=d.default.sqrt(t),r=d.default.acos(new d.default(this._realNum).div(t));this._iNum<0&&(r=r.negated());let i=n.mul(d.default.cos(r.div(2).toNumber())).toNumber(),a=n.mul(d.default.sin(r.div(2))).toNumber();return e.getComplex(i,a,this._suffix)}Sub(t){let n=new d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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 d.default(this._realNum),r=new d.default(this._iNum),i=new d.default(t.getRealNum()),a=new d.default(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=d.default.cos(this._realNum*2).add(d.default.cosh(this._iNum*2)),n=d.default.sin(this._realNum*2).div(t).toNumber(),r=d.default.sinh(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=d.default.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=d.default.cosh(this._realNum*2).add(d.default.cos(this._iNum*2)),n=d.default.sinh(this._realNum*2).div(t).toNumber(),r=d.default.sin(this._iNum*2).div(t).toNumber();return e.getComplex(n,r,this._suffix)}else{let t=d.default.tanh(this._realNum).toNumber();return e.getComplex(t,this._iNum,this._suffix)}}},ru=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=q(e,t,n==null?I.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 O.create(S.VALUE);let f=Q.getComplex(l,u,d);return typeof f==`number`?F.create(f):I.create(f)}},iu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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]]),b(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`]}),b(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}=q(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 O.create(S.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 O.create(S.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),F.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}}},au=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return O.create(S.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${s}`)||s<-512||s>511)return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c)}},ou=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return O.create(S.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${s}`)||s<-549755813888||s>549755813887)return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c.toLocaleUpperCase())}},su=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=Math.trunc(+o.getValue());if(Number.isNaN(s))return O.create(S.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${s}`)||s<-536870912||s>536870911)return O.create(S.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 O.create(S.NUM);c=`0`.repeat(n-c.length)+c}return I.create(c)}},cu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e,t==null?F.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 O.create(S.VALUE);let l=s===c?1:0;return F.create(l)}},lu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n;if(t){let{isError:r,errorObject:i,variants:a}=q(e,t);if(r)return i;let[o,s]=a,c=+o.getValue(),l=+s.getValue();if(Number.isNaN(c)||Number.isNaN(l))return O.create(S.VALUE);n=Mo(l)-Mo(c)}else{let{isError:t,errorObject:r,variants:i}=q(e);if(t)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return O.create(S.VALUE);n=Mo(o)}return F.create(n)}},uu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return O.create(S.VALUE);let o=Mo(a);return F.create(o)}},du=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return O.create(S.VALUE);let o=No(a);return F.create(o)}},fu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=+i.getValue();if(Number.isNaN(a))return O.create(S.VALUE);let o=No(a);return F.create(o)}},pu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t==null?F.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 O.create(S.VALUE);let l=s>=c?1:0;return F.create(l)}},mu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!jo(s))return O.create(S.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 O.create(S.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 O.create(S.NUM);u=`0`.repeat(n-u.length)+u}return I.create(u)}},hu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!jo(a))return O.create(S.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),F.create(o)}},gu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!jo(s))return O.create(S.NUM);let c=Number.parseInt(s,16);if(c>536870911&&c<0xffe0000000)return O.create(S.NUM);let l;if(c>=0xffe0000000)l=(c-0xffc0000000).toString(8);else if(l=c.toString(8),t){if(n<l.length)return O.create(S.NUM);l=`0`.repeat(n-l.length)+l}return I.create(l)}},_u=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Abs();return F.create(o)}},vu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.getINum();return F.create(o)}},yu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);if(a.getRealNum()===0&&a.getINum()===0)return O.create(S.DIV_BY_ZERO);let o=a.Argument();return F.create(o)}},bu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Conjugate();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},xu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Cos();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Su=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Cosh();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Cu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Cot();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},wu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Coth();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Tu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Csc();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Eu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Csch();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Du=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,l=`${o.getValue()}`,u=new Q(s),d=new Q(l);if(u.isError()||d.isError()||u.isDifferentSuffixes(d)||d.getRealNum()===0&&d.getINum()===0)return O.create(S.NUM);let f=u.Div(d);return typeof f==`number`||(0,c.isRealNum)(f)?F.create(+f):I.create(f)}},Ou=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Exp();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},ku=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Ln();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Au=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e);if(n)return r;let[a]=i,o=t==null?F.create(10):t;if(o.isArray()){let e=o.getRowCount(),t=o.getColumnCount();if(e>1||t>1)return O.create(S.VALUE);o=o.get(0,0)}let{isError:s,errorObject:l,variants:u}=J(o);if(s)return l;let[d]=u,f=`${a.getValue()}`,p=+d.getValue(),m=new Q(f);if(m.isError()||m.getRealNum()===0&&m.getINum()===0||p<=0)return O.create(S.NUM);let h=m.Log(p);return m.isError()?O.create(S.NUM):typeof h==`number`||(0,c.isRealNum)(h)?F.create(+h):I.create(h)}},ju=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Log(2);return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Mu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError()||a.getRealNum()===0&&a.getINum()===0)return O.create(S.NUM);let o=a.Log(10);return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Nu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=new Q(`${a.getValue()}`);if(s.isError())return O.create(S.NUM);let l=+o.getValue();if(Number.isNaN(l))return O.create(S.VALUE);let u=s.Power(l);return s.isError()?O.create(S.NUM):typeof u==`number`||(0,c.isRealNum)(u)?F.create(+u):I.create(u)}},Pu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof O)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 O)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof O?t:typeof t==`number`||(0,c.isRealNum)(t)?F.create(+t):I.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return O.create(S.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new Q(r);if(e.isError())return O.create(S.NUM);n=e.toString()}else{let e=new Q(t),i=new Q(r);if(e.isError()||i.isError())return O.create(S.NUM);if(e.isDifferentSuffixes(i))return O.create(S.VALUE);n=e.Product(i)}return n}},Fu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.getRealNum();return F.create(o)}},Iu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sec();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Lu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sech();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Ru=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sin();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},zu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Sinh();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Bu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);if(a.getRealNum()===0&&a.getINum()===0)return F.create(0);let o=a.Sqrt();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Vu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=`${a.getValue()}`,l=`${o.getValue()}`,u=new Q(s),d=new Q(l);if(u.isError()||d.isError()||u.isDifferentSuffixes(d))return O.create(S.NUM);let f=u.Sub(d);return typeof f==`number`||(0,c.isRealNum)(f)?F.create(+f):I.create(f)}},Hu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=``;for(let n=0;n<e.length;n++){if(t instanceof O)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 O)return e=!0,n=t,!1}),e)return n}else t=this._handleSingleObject(r,t)}return t instanceof O?t:typeof t==`number`||(0,c.isRealNum)(t)?F.create(+t):I.create(t)}_handleSingleObject(e,t){let n=t;if(e.isError())return e;if(e.isBoolean())return O.create(S.VALUE);let r=`${e.getValue()}`;if(typeof t!=`number`&&!t){let e=new Q(r);if(e.isError())return O.create(S.NUM);n=e.toString()}else{let e=new Q(t),i=new Q(r);if(e.isError()||i.isError())return O.create(S.NUM);if(e.isDifferentSuffixes(i))return O.create(S.VALUE);n=e.Sum(i)}return n}},Uu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Tan();return typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Wu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=new Q(`${i.getValue()}`);if(a.isError())return O.create(S.NUM);let o=a.Tanh();return a.isError()?O.create(S.NUM):typeof o==`number`||(0,c.isRealNum)(o)?F.create(+o):I.create(o)}},Gu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ao(s))return O.create(S.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 O.create(S.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 O.create(S.NUM);u=`0`.repeat(n-u.length)+u}return I.create(u)}},Ku=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let{isError:t,errorObject:n,variants:r}=q(e);if(t)return n;let[i]=r,a=`${i.getValue()}`;if(!Ao(a))return O.create(S.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),F.create(o)}},qu=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){if(e.isNull())return O.create(S.NA);let n=0;if(t){let{isError:e,errorObject:r,variants:i}=q(t);if(e)return r;let[a]=i;if(n=Math.floor(+a.getValue()),Number.isNaN(n))return O.create(S.VALUE);if(n<0||n>10)return O.create(S.NUM)}let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=`${o.getValue()}`;if(!Ao(s))return O.create(S.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 O.create(S.NUM);l=`0`.repeat(n-l.length)+l}return I.create(l.toLocaleUpperCase())}};const Ju=[[Gl,V.BESSELI],[Kl,V.BESSELJ],[ql,V.BESSELK],[Jl,V.BESSELY],[Yl,V.BIN2DEC],[Xl,V.BIN2HEX],[Zl,V.BIN2OCT],[Ql,V.BITAND],[$l,V.BITLSHIFT],[eu,V.BITOR],[tu,V.BITRSHIFT],[nu,V.BITXOR],[ru,V.COMPLEX],[iu,V.CONVERT],[au,V.DEC2BIN],[ou,V.DEC2HEX],[su,V.DEC2OCT],[cu,V.DELTA],[lu,V.ERF],[uu,V.ERF_PRECISE],[du,V.ERFC],[fu,V.ERFC_PRECISE],[pu,V.GESTEP],[mu,V.HEX2BIN],[hu,V.HEX2DEC],[gu,V.HEX2OCT],[_u,V.IMABS],[vu,V.IMAGINARY],[yu,V.IMARGUMENT],[bu,V.IMCONJUGATE],[xu,V.IMCOS],[Su,V.IMCOSH],[Cu,V.IMCOT],[wu,V.IMCOTH],[Tu,V.IMCSC],[Eu,V.IMCSCH],[Du,V.IMDIV],[Ou,V.IMEXP],[ku,V.IMLN],[Au,V.IMLOG],[Mu,V.IMLOG10],[ju,V.IMLOG2],[Nu,V.IMPOWER],[Pu,V.IMPRODUCT],[Fu,V.IMREAL],[Iu,V.IMSEC],[Lu,V.IMSECH],[Ru,V.IMSIN],[zu,V.IMSINH],[Bu,V.IMSQRT],[Vu,V.IMSUB],[Hu,V.IMSUM],[Uu,V.IMTAN],[Wu,V.IMTANH],[Gu,V.OCT2BIN],[Ku,V.OCT2DEC],[qu,V.OCT2HEX]];function Yu(e,t,n,r){let{days:i}=we($u(e,t,n),e,r);return i}function Xu(e,t,n,r){let i;if(r===1){let r=$u(e,t,n),a=k(r);a=Ie(a,12/n);let o=de(a);i=r<0&&n===1?365:o-r}else i=r===3?365/n:360/n;return i}function Zu(e,t,n){let r=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Ie(i,-12/n);return i=Ie(i,12/n),de(i)}function Qu(e,t,n){let r=0,i=k(e),a=k(t);for(;a>i;)a=Ie(a,-12/n),r++;return r}function $u(e,t,n){let r=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i<r&&i.setUTCFullYear(i.getUTCFullYear()+1);i>r;)i=Ie(i,-12/n);return de(i)}function ed(e,t,n,r,i,a){let o=Yu(e,t,i,a),s=Xu(e,t,i,a),c=Qu(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 td(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 nd(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 rd(e,t,n,r,i,a){let o=td(e,n,r,i,a);return(t===1?a===1?0:-r:a===1?nd(e,t-2,o,r,1)-o:nd(e,t-1,o,r,0))*e}function id(e,t){let n=0;for(let r=1;r<=t.length;r++)n+=t[r-1]/(1+e)**r;return n}function ad(e,t,n,r,i,a,o,s,c){let l=cd(n,r,c),u=Xu(e,r,s,c);return l<u?od(e,t,n,r,i,a,o,s,c,l,u):sd(e,t,n,r,i,a,o,s,c,u)}function od(e,t,n,r,i,a,o,s,c,l,u){let d=0,f=Qu(e,t,s),p=cd(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=cd(n,e,c);return d-=100*i/s*m/u,d}function sd(e,t,n,r,i,a,o,s,c,l){let u=0,d=Qu(r,t,s),f=fd(r,e,12/s,!0),p;if(c===2||c===3)p=cd(e,Zu(e,r,s),c);else{let{days:t}=we($u(e,r,s),e,c);p=l-t}u+=o/(1+a/s)**(d+f+p/l);let m=Qu(n,r,s),h=r,g=0,_=0;for(let t=m;t>=1;t--){let r=dd(h,-12/s,!1),i=c===1?cd(r,h,c):l,a=t>1?i:cd(n,h,c);g+=a/i;let o=cd(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 cd(e,t,n){let{days:r}=we(e,t,n);return e<t?r:0}function ld(e,t,n){let r=k(e),i=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),s=Fe(i,a,o),c=k(t),l=c.getUTCFullYear(),u=c.getUTCMonth(),d=c.getUTCDate(),f=Fe(l,u,d);return!(o!==d&&!(s&&f)||Math.abs((l-i)*12+(u-a))%(12/n)!=0)}function ud(e,t,n){return $u(e,t,n)>=0}function dd(e,t,n){let r=k(e);if(r=Ie(r,t),n){let e=Me(r.getUTCFullYear(),r.getUTCMonth());r.setUTCDate(e)}return de(r)}function fd(e,t,n,r){let i=k(e),a=k(t),o=i.getUTCFullYear(),s=i.getUTCMonth(),c=i.getUTCDate(),l=a.getUTCFullYear(),u=a.getUTCMonth(),d=a.getUTCDate(),f=Fe(o,s,c),p=!f&&s!==1&&c>28&&c<Me(o,s)?Fe(l,u,d):f,m=dd(t,0,p),h=r-0+ +(t<m),g=dd(m,n,p);for(;!(n>0?g>=t:g<=t);)g=dd(g,n,p),h++;return h}function pd(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?md(e,t):a}function md(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 O.create(S.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 O.create(S.NUM);if(e===59)return O.create(S.NUM)}s=s,c=c;let u=t(s),d=t(c),f,p;if(Math.abs(u)<n||Math.abs(d)<n)return O.create(S.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 hd(e,t,n,r,i,a,o){let s=Qu(e,t,a),c=Xu(e,t,a,o),l=Yu(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 gd(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 _d=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=o==null?F.create(0):o,l=s==null?P.create(!0):s,{isError:u,errorObject:d,variants:f}=q(e,t,n,r,i,a,c);if(u)return d;let[p,m,h,g,_,v,y]=f,b=A(p);if(typeof b!=`number`)return b;let x=A(m);if(typeof x!=`number`)return x;let C=A(h);if(typeof C!=`number`)return C;let w=+g.getValue(),ee=+_.getValue(),T=Math.floor(+v.getValue()),E=Math.floor(+y.getValue()),te=+l.getValue();return Number.isNaN(w)||Number.isNaN(ee)||Number.isNaN(T)||Number.isNaN(E)||Number.isNaN(te)?O.create(S.VALUE):w<=0||ee<=0||![1,2,4].includes(T)||E<0||E>4||Math.floor(b)>=Math.floor(C)?O.create(S.NUM):this._getResult(b,x,C,w,ee,T,E,te)}_getResult(e,t,n,r,i,a,o,s){let c=$u(e,t,a);if(c<=0)return F.create(0);c=$u(n,t,a);let l=12/a,u=k(t),d=Fe(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),f=dd(t,-l,d);if(n>t&&s)for(f=t;f<n;)f=dd(f,l,d);let p=e>f?e:f,{days:m}=we(p,n,o);if(c>=e){let{days:e}=we(p,n,o?4:0);m=e}n<p&&(m=-m);let h=Xu(f,t,a,o),g=m/h,_=f,v=e;for(;_>e;){v=_,_=dd(_,-l,d),p=e>_?e:_;let{days:t}=we(p,v,o);if(o===0)m=v>=p||e<=_?t:-t,h=Xu(_,v,a,o);else if(m=v<p?-t:t,o===3)h=365/a;else{let{days:e}=we(_,v,o);h=v<_?-e:e}g+=e<=_?s?1:0:m/h}let y=i*r/a*g;return F.create(y)}},vd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=q(e,t,n,r,i==null?F.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=A(c);if(typeof p!=`number`)return p;let m=A(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 O.create(S.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>Math.floor(m))return O.create(S.NUM);if(Math.floor(p)===Math.floor(m))return F.create(0);let{days:v,yearDays:y}=we(p,m,_),b=g*h*v/y;return F.create(b)}},yd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let{isError:s,errorObject:c,variants:l}=q(e,t,n,r,i,a,o==null?F.create(0):o);if(s)return c;let[u,d,f,p,m,h,g]=l,_=A(d);if(typeof _!=`number`)return _;let v=A(f);if(typeof v!=`number`)return v;let y=+u.getValue(),b=+p.getValue(),x=+m.getValue(),C=+h.getValue(),w=Math.floor(+g.getValue());return Number.isNaN(y)||Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(C)||Number.isNaN(w)?O.create(S.VALUE):y<=0||b<0||y<b||Math.floor(_)>Math.floor(v)||x<0||C<=0||![0,1,3,4].includes(w)?O.create(S.NUM):(x=x>1?Math.floor(x):Math.ceil(x),this._getResult(y,_,v,b,x,C,w))}_getResult(e,t,n,r,i,a,o){let s=e-r,c=e*a,{days:l,yearDays:u}=we(t,n,o),d=l/u,f=Math.ceil(s/c-d);if(f<0)return F.create(0);let p=c;return i===0?p=c*d:i===f?p=s-c*(d+i-1):i>f&&(p=0),F.create(p)}},bd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=Yu(d,f,p,m);return F.create(h)}},xd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=Xu(d,f,p,m);return F.create(h)}},Sd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=k(d),g=k(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:_}=we(d,de(g),m);return F.create(_)}},Cd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=Zu(d,f,p);return F.create(h)}},wd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f)||$u(d,f,p)<0)return O.create(S.NUM);let h=Qu(d,f,p);return F.create(h)}},Td=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a,variants:o}=q(e,t,n,r==null?F.create(0):r);if(i)return a;let[s,c,l,u]=o,d=A(s);if(typeof d!=`number`)return d;let f=A(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 O.create(S.VALUE);if(![1,2,4].includes(p)||m<0||m>4||Math.floor(d)>=Math.floor(f))return O.create(S.NUM);let h=$u(d,f,p);return h<0&&(h=0),F.create(h)}},Ed=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=q(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)?O.create(S.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||v>g||y>g||![0,1].includes(b)?O.create(S.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?F.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=td(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?nd(e,t-2,o,n,1):nd(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)),F.create(s)}},Dd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let{isError:o,errorObject:s,variants:c}=q(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)?O.create(S.VALUE):h<=0||g<=0||_<=0||v<1||y<1||v>y||![0,1].includes(b)?O.create(S.NUM):Math.trunc(v)!==v&&Math.trunc(y)!==y&&Math.trunc(v)===Math.trunc(y)?F.create(0):this._getResult(h,g,_,v,y,b)}_getResult(e,t,n,r,i,a){let o=td(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-(nd(e,t-2,o,n,1)-o)*e:o-nd(e,t-1,o,n,0)*e;return F.create(s)}},Od=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?F.create(12):i;a.isNull()&&(a=F.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=z(o,s,e,O.create(S.NA)),l=z(o,s,t,O.create(S.NA)),u=z(o,s,n,O.create(S.NA)),d=z(o,s,r,O.create(S.NA)),f=z(o,s,a,O.create(S.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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?O.create(S.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)?O.create(S.NUM):a===0&&o===0?F.create(f,zr(this.getLocale())):F.create(f)}},kd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=i==null?F.create(2):i;a.isNull()&&(a=F.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=z(o,s,e,O.create(S.NA)),l=z(o,s,t,O.create(S.NA)),u=z(o,s,n,O.create(S.NA)),d=z(o,s,r,O.create(S.NA)),f=z(o,s,a,O.create(S.NA)),p=c.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);let b=gd(h,g,_,v,y);return Number.isNaN(b)||!Number.isFinite(b)?O.create(S.NUM):t===0&&n===0?F.create(b,zr(this.getLocale())):F.create(b)});return o===1&&s===1?p.get(0,0):p}},Ad=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=q(e,t,n,r,i==null?F.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=A(c);if(typeof p!=`number`)return p;let m=A(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 O.create(S.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return O.create(S.NUM);let{days:v,yearDays:y}=we(p,m,_),b=(g-h)/g*(y/v);return F.create(b)}},jd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);if(c>=0&&c<1)return O.create(S.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,F.create(l)}},Md=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(c<0)return O.create(S.NUM);if(c>=0&&c<1)return O.create(S.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,F.create(l)}},Nd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(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 O.create(S.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_)||g<=0||_<=366)return O.create(S.NUM);let C=ed(g,_,v,y,b,x);return F.create(C)}},Pd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(s<=0||c<1)return O.create(S.NUM);c=Number.parseInt(`${c}`,10);let l=(1+s/c)**c-1;return F.create(l)}},Fd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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=nd(+o.getValue(),+s.getValue(),+c.getValue(),+l.getValue(),+m.getValue()?1:0);return Number.isNaN(h)||!Number.isFinite(h)?O.create(S.NUM):t===0&&n===0?F.create(h,zr(this.getLocale())):F.create(h)});return s===1&&c===1?m.get(0,0):m}},Id=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e);if(n)return r;let[a]=i,o=+a.getValue();if(Number.isNaN(o))return O.create(S.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 O.create(S.VALUE);let r=+n.getValue();if(Number.isNaN(r))return O.create(S.VALUE);s*=1+r}}else{if(t.isBoolean())return O.create(S.VALUE);let e=+t.getValue();if(Number.isNaN(e))return O.create(S.VALUE);s*=1+e}return F.create(s)}},Ld=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=q(e,t,n,r,i==null?F.create(0):i);if(a)return o;let[c,l,u,d,f]=s,p=A(c);if(typeof p!=`number`)return p;let m=A(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 O.create(S.VALUE);if(h<=0||g<=0||_<0||_>4||Math.floor(p)>=Math.floor(m))return O.create(S.NUM);let{days:v,yearDays:y}=we(p,m,_),b=(g-h)/h*(y/v);return F.create(b)}},Rd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,6),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?F.create(0):i,s=a==null?F.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,n,O.create(S.NA)),p=z(c,l,r,O.create(S.NA)),m=z(c,l,o,O.create(S.NA)),h=z(c,l,s,O.create(S.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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(),C=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y))return O.create(S.NUM);let w=rd(_,v,y,b,x,C?1:0);return Number.isNaN(w)||!Number.isFinite(w)?O.create(S.NUM):t===0&&n===0?F.create(w,zr(this.getLocale())):F.create(w)});return c===1&&l===1?g.get(0,0):g}},zd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.create(.1):t;return n.isNull()&&(n=F.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 O.create(S.VALUE);if(!e.isArray())return O.create(S.NUM);let{_values:i,valuesHasError:a}=this._getValues(e);if(a)return O.create(S.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 O.create(S.NUM);let u=pd(s,e=>id(e,i));return typeof u==`number`?n===0&&r===0?F.create(u,`0%`):F.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}}},Bd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.NA)),u=o.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.DIV_BY_ZERO);let _=g*p*(m/h-1);return F.create(_)});return i===1&&a===1?u.get(0,0):u}},Vd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(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 O.create(S.VALUE);if(v<0||y<0||![1,2,4].includes(b)||x<0||x>4||Math.floor(g)>=Math.floor(_))return O.create(S.NUM);let C=ed(g,_,v,y,b,x);return C/=1+y/b,F.create(C)}},Hd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(s,c,t,O.create(S.NA)),u=z(s,c,n,O.create(S.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 O.create(S.DIV_BY_ZERO);let l=+t.getValue(),d=+c.getValue();if(Number.isNaN(l)||Number.isNaN(d))return O.create(S.VALUE);if(d===-1)return O.create(S.DIV_BY_ZERO);let f=this._getResult(i,l,d);return n===0&&s===0?F.create(f,`0%`):F.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=O.create(S.VALUE);else if(!e.isArray())t=O.create(S.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=O.create(S.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}},Ud=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(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 O.create(S.VALUE);if(s<=0||c<1)return O.create(S.NUM);c=Number.parseInt(`${c}`,10);let l=((s+1)**(1/c)-1)*c;return F.create(l)}},Wd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.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)?O.create(S.NUM):F.create(b)});return s===1&&c===1?m.get(0,0):m}},Gd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(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=id(+e.getValue(),r);return Number.isNaN(s)||Math.abs(s)===1/0?O.create(S.DIV_BY_ZERO):i===0&&a===0?F.create(s,zr(this.getLocale())):F.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=O.create(S.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:O.create(S.VALUE)};t.push(e)}}return{isError:!1,values:t}}},Kd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,8),b(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?F.create(0):c;l.isNull()&&(l=F.create(0));let{isError:u,errorObject:d,variants:f}=Co(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,C=A(p);if(typeof C!=`number`)return C;let w=A(m);if(typeof w!=`number`)return w;let ee=A(h);if(typeof ee!=`number`)return ee;let T=A(g);if(typeof T!=`number`)return T;let E=+_.getValue(),te=+v.getValue(),ne=+y.getValue(),re=Math.floor(+b.getValue()),D=Math.floor(+x.getValue());if(Number.isNaN(E)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(D))return O.create(S.VALUE);if(E<0||te<0||ne<=0||![1,2,4].includes(re)||D<0||D>4||!this._validDate(w,T,C,ee,re))return O.create(S.NUM);let ie=ad(C,w,ee,T,E,te,ne,re,D);return F.create(ie)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&ld(e,t,i)&&ud(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)}},qd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,8),b(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s,c){let l=c==null?F.create(0):c;l.isNull()&&(l=F.create(0));let{isError:u,errorObject:d,variants:f}=Co(e,t,n,r,i,a,o,s,l);if(u)return d;let[p,m,h,g,_,v,y,b,x]=f,C=A(p);if(typeof C!=`number`)return C;let w=A(m);if(typeof w!=`number`)return w;let ee=A(h);if(typeof ee!=`number`)return ee;let T=A(g);if(typeof T!=`number`)return T;let E=+_.getValue(),te=+v.getValue(),ne=+y.getValue(),re=Math.floor(+b.getValue()),D=Math.floor(+x.getValue());return Number.isNaN(E)||Number.isNaN(te)||Number.isNaN(ne)||Number.isNaN(re)||Number.isNaN(D)?O.create(S.VALUE):E<0||te<=0||ne<=0||![1,2,4].includes(re)||D<0||D>4||!this._validDate(w,T,C,ee,re)?O.create(S.NUM):this._getResult(C,w,ee,T,E,te,ne,re,D)}_validDate(e,t,n,r,i){return this._getDateCorrectOrder(e,t,n,r)&&ld(e,t,i)&&ud(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}=we(e,t,c),u=(i*l*100-(a-100))/((a-100)*.25*(1+2*l)+l*100);function d(l){return a-ad(e,t,n,r,i,l,o,s,c)}let f=pd(u,e=>d(e));return typeof f==`number`?F.create(f):f}},Jd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,7),b(this,`maxParams`,8)}calculate(e,t,n,r,i,a,o,s){let c=s==null?F.create(0):s;c.isNull()&&(c=F.create(0));let{isError:l,errorObject:u,variants:d}=Co(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=A(f);if(typeof b!=`number`)return b;let x=A(p);if(typeof x!=`number`)return x;let C=A(m);if(typeof C!=`number`)return C;let w=+h.getValue(),ee=+g.getValue(),T=+_.getValue(),E=Math.floor(+v.getValue()),te=Math.floor(+y.getValue());if(Number.isNaN(w)||Number.isNaN(ee)||Number.isNaN(T)||Number.isNaN(E)||Number.isNaN(te))return O.create(S.VALUE);if(w<0||ee<0||T<=0||![1,2,4].includes(E)||te<0||te>4||!this._validDate(x,b,C,E))return O.create(S.NUM);let ne=this._getResult(b,x,C,w,ee,T,E,te);return F.create(ne)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&ud(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=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return de(i)}_getFrac(e,t,n,r,i){let a=k(e),o=k(t),s=k(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=de(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=de(s);if(l>=t){let{days:n}=we(e,t,i);return n/Xu(c,l,r,i)}let{days:u}=we(e,l,i),d=u/Xu(c,l,r,i),f=k(l),p=k(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=de(f),l=de(p);let{days:m}=we(c,t,i),h=Xu(c,l,r,i);return d+=m/h,d}},Yd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,8),b(this,`maxParams`,9)}calculate(e,t,n,r,i,a,o,s){let c=s==null?F.create(0):s;c.isNull()&&(c=F.create(0));let{isError:l,errorObject:u,variants:d}=Co(e,t,n,r,i,a,o,c);if(l)return u;let[f,p,m,h,g,_,v,y]=d,b=A(f);if(typeof b!=`number`)return b;let x=A(p);if(typeof x!=`number`)return x;let C=A(m);if(typeof C!=`number`)return C;let w=+h.getValue(),ee=+g.getValue(),T=+_.getValue(),E=Math.floor(+v.getValue()),te=Math.floor(+y.getValue());if(Number.isNaN(w)||Number.isNaN(ee)||Number.isNaN(T)||Number.isNaN(E)||Number.isNaN(te))return O.create(S.VALUE);if(w<0||ee<=0||T<=0||![1,2,4].includes(E)||te<0||te>4||!this._validDate(x,b,C,E))return O.create(S.NUM);let ne=this._getResult(b,x,C,w,ee,T,E,te);return F.create(ne)}_validDate(e,t,n,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)&&ud(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=k(e),i=k(t);for(i.setUTCFullYear(r.getUTCFullYear()),i>r&&i.setUTCFullYear(i.getUTCFullYear()-1);i<r;)i.setUTCMonth(i.getUTCMonth()+12/n);return de(i)}_getFrac(e,t,n,r,i){let a=k(e),o=k(t),s=k(n);for(s.setUTCFullYear(a.getUTCFullYear()),s<a&&s.setUTCFullYear(s.getUTCFullYear()+1);s>a;)s.setUTCMonth(s.getUTCMonth()-12/r);let c=de(s);s.setUTCMonth(s.getUTCMonth()+12/r);let l=de(s);if(l>=t){let{days:n}=we(e,t,i);return n/Xu(c,l,r,i)}let{days:u}=we(e,l,i),d=u/Xu(c,l,r,i),f=k(l),p=k(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=de(f),l=de(p);let{days:m}=we(c,t,i),h=Xu(c,l,r,i);return d+=m/h,d}},Xd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);let m=(Math.log(p)-Math.log(f))/Math.log(1+d);return Number.isNaN(m)||!Number.isFinite(m)?O.create(S.NUM):F.create(m)});return r===1&&i===1?c.get(0,0):c}},Zd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);let b=td(h,g,_,v,y?1:0);return Number.isNaN(b)||!Number.isFinite(b)?O.create(S.NUM):t===0&&n===0?F.create(b,zr(this.getLocale())):F.create(b)});return s===1&&c===1?m.get(0,0):m}},Qd=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,6),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a){let o=i==null?F.create(0):i,s=a==null?F.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,n,O.create(S.NA)),p=z(c,l,r,O.create(S.NA)),m=z(c,l,o,O.create(S.NA)),h=z(c,l,s,O.create(S.NA)),g=u.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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(),C=+g.getValue();if(v<1||Math.floor(v)>Math.ceil(y)||v-y>=1)return O.create(S.NUM);let w=td(_,y,b,x,C?1:0)-rd(_,v,y,b,x,C?1:0);return Number.isNaN(w)||!Number.isFinite(w)?O.create(S.NUM):t===0&&n===0?F.create(w,zr(this.getLocale())):F.create(w)});return c===1&&l===1?g.get(0,0):g}},$d=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?F.create(0):o;s.isNull()&&(s=F.create(0));let{isError:c,errorObject:l,variants:u}=Co(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=A(d);if(typeof v!=`number`)return v;let y=A(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),C=+h.getValue(),w=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(C)||Number.isNaN(w)||Number.isNaN(ee))return O.create(S.VALUE);if(b<0||x<0||C<=0||![1,2,4].includes(w)||ee<0||ee>4||v>=y||!ud(v,y,w))return O.create(S.NUM);let T=hd(v,y,b,x,C,w,ee);return F.create(T)}},ef=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?F.create(0):i;a.isNull()&&(a=F.create(0));let{isError:o,errorObject:s,variants:c}=Co(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=A(l);if(typeof m!=`number`)return m;let h=A(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 O.create(S.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return O.create(S.NUM);let{days:y,yearDays:b}=we(m,h,v),x=_-g*_*y/b;return F.create(x)}},tf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(d);if(typeof _!=`number`)return _;let v=A(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 O.create(S.VALUE);let C=this._getDateCorrectOrder(_,g,v);if(y<0||b<0||x<0||x>4||!C)return O.create(S.NUM);let w=Pe(g,x),{days:ee}=we(g,_,x),{days:T}=we(v,_,x),{days:E}=we(v,g,x),te=(100+T/w*y*100)/(1+ee/w*b)-E/w*y*100;return F.create(te)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}},nf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i){let a=r==null?F.create(0):r,o=i==null?F.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=z(s,c,e,O.create(S.NA)),u=z(s,c,t,O.create(S.NA)),d=z(s,c,n,O.create(S.NA)),f=z(s,c,a,O.create(S.NA)),p=z(s,c,o,O.create(S.NA)),m=l.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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)?O.create(S.NUM):t===0&&n===0?F.create(b,zr(this.getLocale())):F.create(b)});return s===1&&c===1?m.get(0,0):m}},rf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?F.create(0):r,s=i==null?F.create(0):i,c=a==null?F.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=z(l,u,e,O.create(S.NA)),f=z(l,u,t,O.create(S.NA)),p=z(l,u,n,O.create(S.NA)),m=z(l,u,o,O.create(S.NA)),h=z(l,u,s,O.create(S.NA)),g=z(l,u,c,O.create(S.NA)),_=d.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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(),C=+d.getValue();return x=x?1:0,_<=0||v>=0&&y>=0&&b>=0||v<=0&&y<=0&&b<=0?O.create(S.NUM):this._getResult(_,v,y,b,x,C,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 O.create(S.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?O.create(S.NUM):F.create(l,o===0&&s===0?`0%`:void 0)}_computeSimpleGrowthRate(e,t,n,r,i){if(Math.sign(t)===Math.sign(n))return O.create(S.NUM);let a=(n/-t)**(1/e)-1;return F.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)}},af=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?F.create(0):i;a.isNull()&&(a=F.create(0));let{isError:o,errorObject:s,variants:c}=Co(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=A(l);if(typeof m!=`number`)return m;let h=A(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 O.create(S.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return O.create(S.NUM);let{days:y,yearDays:b}=we(m,h,v),x=g/(1-_*y/b);return x<0?O.create(S.NUM):F.create(x)}},of=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.NA)),c=a.map((e,t,n)=>{let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NUM);if(f===0&&p===0)return F.create(0);let m=(p/f)**(1/d)-1;return Number.isNaN(m)||!Number.isFinite(m)||p/f<0?O.create(S.NUM):F.create(m)});return r===1&&i===1?c.get(0,0):c}},sf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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 O.create(S.VALUE);if(l===0)return O.create(S.DIV_BY_ZERO);let u=(a-c)/l;return t===0&&n===0?F.create(u,zr(this.getLocale())):F.create(u)});return r===1&&i===1?c.get(0,0):c}},cf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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 O.create(S.VALUE);if(u<0||d<=0||f>d)return O.create(S.NUM);let p=(o-u)*(d-f+1)*2/(d*(d+1));return t===0&&n===0?F.create(p,zr(this.getLocale())):F.create(p)});return i===1&&a===1?u.get(0,0):u}},lf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Co(e,t,n);if(r)return i;let[o,s,c]=a,l=A(o);if(typeof l!=`number`)return l;let u=A(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return O.create(S.VALUE);if(d<=0||l>=u)return O.create(S.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Ne(k(l).getUTCFullYear()))return O.create(S.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 O.create(S.NUM)}return p<0?O.create(S.NUM):F.create(p)}},uf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(this,`needsLocale`,!0)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Co(e,t,n);if(r)return i;let[o,s,c]=a,l=A(o);if(typeof l!=`number`)return l;let u=A(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return O.create(S.VALUE);if(d<=0||l>=u)return O.create(S.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Ne(k(l).getUTCFullYear()))return O.create(S.NUM);let p=100*(1-d*f/360);return p<0?O.create(S.NUM):F.create(p,zr(this.getLocale()))}},df=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=Co(e,t,n);if(r)return i;let[o,s,c]=a,l=A(o);if(typeof l!=`number`)return l;let u=A(s);if(typeof u!=`number`)return u;let d=+c.getValue();if(Number.isNaN(d))return O.create(S.VALUE);if(d<=0||l>=u)return O.create(S.NUM);let f=Math.floor(u)-Math.floor(l);if(f>Ne(k(l).getUTCFullYear()))return O.create(S.NUM);let p=(100-d)/d*360/f;return F.create(p)}},ff=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,7),b(this,`needsLocale`,!0)}calculate(e,t,n,r,i,a,o){let s=a==null?F.create(2):a;s.isNull()&&(s=F.create(2));let c=o==null?P.create(!1):o;c.isNull()&&(c=P.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=z(l,u,e,O.create(S.NA)),f=z(l,u,t,O.create(S.NA)),p=z(l,u,n,O.create(S.NA)),m=z(l,u,r,O.create(S.NA)),h=z(l,u,i,O.create(S.NA)),g=z(l,u,s,O.create(S.NA)),_=z(l,u,c,O.create(S.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}=J(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(),C=+h.getValue(),w=+g.getValue(),ee=+_.getValue(),T=+v.getValue();if(y<0||b<0||x<0||C<0||w<0||w>x||C>w||ee<0)return O.create(S.NUM);if(x===0&&C===0&&w===0)return O.create(S.DIV_BY_ZERO);let E=this._getResult(y,b,x,C,w,ee,T);return s===0&&c===0?F.create(E,zr(this.getLocale())):F.create(E)});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=gd(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=gd(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}},pf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull())return O.create(S.NA);let{isError:r,errorObejct:i,_values:a,_dates:o}=this._checkErrors(e,t);if(r)return i;let s=n==null?F.create(.1):n;s.isNull()&&(s=F.create(.1));let{isError:c,errorObject:l,variants:u}=q(s);if(c)return l;let[d]=u,f=+d.getValue();if(Number.isNaN(f))return O.create(S.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 O.create(S.NUM);let h=pd(f,e=>this._iterF(a,o,e));return typeof h==`number`?F.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=O.create(S.VALUE);return e.iterator(e=>{let i=e;if(i.isError())return n=!0,r=i,!1;if(i.isBoolean())return n=!0,r=O.create(S.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=O.create(S.VALUE),!1;t.push(a)}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:O.create(S.NA)}:{isError:n,_values:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!(0,c.isRealNum)(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:{isError:!0,errorObejct:O.create(S.NA)}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=O.create(S.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=O.create(S.VALUE),!1;let i=+e.getValue();if(Number.isNaN(i))return n=!0,r=O.create(S.VALUE),!1;if(i<0)return n=!0,r=O.create(S.NUM),!1;t.push(Math.floor(i))}),n?{isError:n,errorObejct:r}:t.length<=1?{isError:!0,errorObejct:O.create(S.NA)}:{isError:n,_dates:t}}else{let t=e.getValue();return e.isBoolean()||e.isString()&&!(0,c.isRealNum)(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:+t<0?{isError:!0,errorObejct:O.create(S.NUM)}:{isError:!0,errorObejct:O.create(S.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)}},mf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isNull()||t.isNull()||n.isNull())return O.create(S.NA);let{isError:r,errorObject:i,variants:a}=q(e);if(r)return i;let[o]=a,s=+o.getValue();if(Number.isNaN(s))return O.create(S.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 O.create(S.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 F.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=O.create(S.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=O.create(S.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=O.create(S.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:O.create(S.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:{isError:!1,_values:[t]}}}_checkErrorDates(e){let t=[];if(e.isArray()){let n=!1,r=O.create(S.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=O.create(S.VALUE),!1;let a=+i.getValue();if(Number.isNaN(a))return n=!0,r=O.create(S.VALUE),!1;if(a<0)return n=!0,r=O.create(S.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:O.create(S.VALUE)};let t=+e.getValue();return Number.isNaN(t)?{isError:!0,errorObejct:O.create(S.VALUE)}:+t<0?{isError:!0,errorObejct:O.create(S.NUM)}:{isError:!1,_dates:[Math.floor(t)]}}}},hf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,6),b(this,`maxParams`,7)}calculate(e,t,n,r,i,a,o){let s=o==null?F.create(0):o;s.isNull()&&(s=F.create(0));let{isError:c,errorObject:l,variants:u}=Co(e,t,n,r,i,a,s);if(c)return l;let[d,f,p,m,h,g,_]=u,v=A(d);if(typeof v!=`number`)return v;let y=A(f);if(typeof y!=`number`)return y;let b=+p.getValue(),x=+m.getValue(),C=+h.getValue(),w=Math.floor(+g.getValue()),ee=Math.floor(+_.getValue());if(Number.isNaN(b)||Number.isNaN(x)||Number.isNaN(C)||Number.isNaN(w)||Number.isNaN(ee))return O.create(S.VALUE);if(b<0||x<=0||C<=0||![1,2,4].includes(w)||ee<0||ee>4||v>=y||!ud(v,y,w))return O.create(S.NUM);let T=this._getResult(v,y,b,x,C,w,ee);return F.create(T)}_getResult(e,t,n,r,i,a,o){if(Qu(e,t,a)>1){let s=n||.01,c=hd(e,t,n,s,i,a,o),l=c-r;for(let u=0;u<100&&Math.abs(l)>1e-7;u++)c=hd(e,t,n,1.01*s,i,a,o),s+=-l/(c-r-l)*s*.01,l=hd(e,t,n,s,i,a,o)-r;return s}let s=Yu(e,t,a,o),c=Xu(e,t,a,o),{days:l}=we(e,t,o),u=r/100+s/c*n/a;return(i/100+n/a-u)/u*a*c/l}},gf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let a=i==null?F.create(0):i;a.isNull()&&(a=F.create(0));let{isError:o,errorObject:s,variants:c}=Co(e,t,n,r,a);if(o)return s;let[l,u,d,f,p]=c,m=A(l);if(typeof m!=`number`)return m;let h=A(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 O.create(S.VALUE);if(g<=0||_<=0||v<0||v>4||m>=h)return O.create(S.NUM);let{days:y,yearDays:b}=we(m,h,v),x=(_/g-1)/(y/b);return F.create(x)}},_f=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=a==null?F.create(0):a;o.isNull()&&(o=F.create(0));let{isError:s,errorObject:c,variants:l}=Co(e,t,n,r,i,o);if(s)return c;let[u,d,f,p,m,h]=l,g=A(u);if(typeof g!=`number`)return g;let _=A(d);if(typeof _!=`number`)return _;let v=A(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 O.create(S.VALUE);let C=this._getDateCorrectOrder(_,g,v);if(y<0||b<=0||x<0||x>4||!C)return O.create(S.NUM);let w=Pe(g,x),{days:ee}=we(g,_,x),{days:T}=we(v,_,x),{days:E}=we(v,g,x),te=((1+T/w*y)/(b/100+E/w*y)-1)/(ee/w);return F.create(te)}_getDateCorrectOrder(e,t,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(n)}};const vf=[[_d,H.ACCRINT],[vd,H.ACCRINTM],[yd,H.AMORLINC],[bd,H.COUPDAYBS],[xd,H.COUPDAYS],[Sd,H.COUPDAYSNC],[Cd,H.COUPNCD],[wd,H.COUPNUM],[Td,H.COUPPCD],[Ed,H.CUMIPMT],[Dd,H.CUMPRINC],[Od,H.DB],[kd,H.DDB],[Ad,H.DISC],[jd,H.DOLLARDE],[Md,H.DOLLARFR],[Nd,H.DURATION],[Pd,H.EFFECT],[Fd,H.FV],[Id,H.FVSCHEDULE],[Ld,H.INTRATE],[Rd,H.IPMT],[zd,H.IRR],[Bd,H.ISPMT],[Vd,H.MDURATION],[Hd,H.MIRR],[Ud,H.NOMINAL],[Wd,H.NPER],[Gd,H.NPV],[Kd,H.ODDFPRICE],[qd,H.ODDFYIELD],[Jd,H.ODDLPRICE],[Yd,H.ODDLYIELD],[Xd,H.PDURATION],[Zd,H.PMT],[Qd,H.PPMT],[$d,H.PRICE],[ef,H.PRICEDISC],[tf,H.PRICEMAT],[nf,H.PV],[rf,H.RATE],[af,H.RECEIVED],[of,H.RRI],[sf,H.SLN],[cf,H.SYD],[lf,H.TBILLEQ],[uf,H.TBILLPRICE],[df,H.TBILLYIELD],[ff,H.VDB],[pf,H.XIRR],[mf,H.XNPV],[hf,H.YIELD],[gf,H.YIELDDISC],[_f,H.YIELDMAT]];var yf=class extends Y{constructor(...e){super(...e),b(this,`needsReferenceObject`,!0),b(this,`minParams`,2),b(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 O.create(S.NA);let{columnData:i,defaultColumnWidth:a}=r.getCurrentActiveSheetData();r=r.toArrayValueObject();let o=r.getCurrentRow(),s=r.getCurrentColumn();r=r.getFirstCell();let l=`${e.getValue()}`,u;switch(l.toLocaleLowerCase()){case`address`:return I.create(`$${c.Tools.chatAtABC(s)}$${o+1}`);case`col`:return F.create(s+1);case`color`:return F.create(0);case`contents`:return r;case`filename`:return O.create(S.VALUE);case`format`:return I.create(`G`);case`parentheses`:return F.create(0);case`prefix`:return I.create(``);case`protect`:return F.create(1);case`row`:return F.create(o+1);case`type`:return u=`v`,r.isNull()&&(u=`b`),r.isString()&&(u=`l`),I.create(u);case`width`:return this._getWidthResult(i,a,s,n);default:return O.create(S.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 F.create(a);let o=[[a,a===t]];return R.createByArray(o)}},bf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`_errorTypeValueMap`,new Map([[S.NULL,1],[S.DIV_BY_ZERO,2],[S.VALUE,3],[S.REF,4],[S.NAME,5],[S.NUM,6],[S.NA,7],[S.CONNECT,8],[S.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?F.create(n):O.create(S.NA)}},xf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5)}calculate(e,t,n,r,i){let{isError:a,errorObject:o,variants:s}=So(e,t,n,r==null?P.create(!0):r,i==null?P.create(!0):i);if(a)return o;let[c,l,u,d,f]=s;if(d.isString()||f.isString())return O.create(S.VALUE);if(l.compare(u,`>`).getValue()===!0)return O.create(S.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?P.create(!1):P.create(!0)}},Sf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isNull()?P.create(!0):e.isArray()?e.mapValue(e=>e.isNull()?P.create(!0):P.create(!1)):P.create(!1)}},Cf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==``?P.create(_e(t.getPattern())):t.isString()&&(he(`${t.getValue()}`)||ge(`${t.getValue()}`))?P.create(!0):P.create(!1)}},wf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return P.create(!1);let n=`${t.getValue()}`;if(n.length>254)return P.create(!1);let r=c.Tools.topLevelDomainCombiningString(),i=RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${r})$`,`i`);return P.create(i.test(n))}},Tf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.getValue()===S.NA?P.create(!1):e.isError()?P.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===S.NA?P.create(!1):e.isError()?P.create(!0):P.create(!1)):P.create(!1)}},Ef=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isError()?P.create(!0):e.isArray()?e.mapValue(e=>e.isError()?P.create(!0):P.create(!1)):P.create(!1)}},Df=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return O.create(S.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return O.create(S.VALUE);let r=n%2==0;return P.create(r)}},Of=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0)}calculate(e){var t;if(e.isError())return e;if(!e.isReferenceObject())return O.create(S.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?P.create(!0):P.create(!1)});return a.getRowCount()===1&&a.getColumnCount()===1?o.get(0,0):o}},kf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isBoolean()?P.create(!0):e.isArray()?e.mapValue(e=>e.isBoolean()?P.create(!0):P.create(!1)):P.create(!1)}},Af=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.getValue()===S.NA?P.create(!0):e.isArray()?e.mapValue(e=>e.getValue()===S.NA?P.create(!0):P.create(!1)):P.create(!1)}},jf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return!e.isArray()&&!e.isString()?P.create(!0):e.isArray()?e.mapValue(e=>e.isString()?P.create(!1):P.create(!0)):P.create(!1)}},Mf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isNumber()?P.create(!0):e.isArray()?e.mapValue(e=>e.isNumber()?P.create(!0):P.create(!1)):P.create(!1)}},Nf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return O.create(S.VALUE);let n=Math.trunc(+t.getValue());if(Number.isNaN(n))return O.create(S.VALUE);let r=n%2!=0;return P.create(r)}},Pf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?P.create(!0):P.create(!1)}},Ff=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isString()?P.create(!0):e.isArray()?e.mapValue(e=>e.isString()?P.create(!0):P.create(!1)):P.create(!1)}},If=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return P.create(!1);let n=`${t.getValue()}`.replace(/^\s+|\s+$/g,``);if(n.length>1e3)return P.create(!1);let r=c.Tools.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 P.create(i.test(n))}},Lf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return F.create(0);let n=+t.getValue();return F.create(n)}},Rf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return O.create(S.NA)}},zf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0),b(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 F.create(e+1)}if(e.isReferenceObject()){let t=e.getForcedSheetId(),r=e.getDefaultSheetId(),i=n.findIndex(e=>t?e===t:e===r);return F.create(i+1)}if(e.isArray())return O.create(S.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 O.create(S.NA);let o=n.findIndex(e=>e===a);return F.create(o+1)}},Bf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0),b(this,`needsSheetsInfo`,!0)}calculate(){let{sheetOrder:e}=this.getSheetsInfo();return F.create(e.length)}},Vf=class extends Y{constructor(...e){super(...e),b(this,`needsReferenceObject`,!0),b(this,`minParams`,1),b(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 F.create(16);if(t.isBoolean())return F.create(4);if(t.isString())return F.create(2);if(t.isNumber()||t.isNull())return F.create(1)}else return F.create(64)}else{if(e.isArray())return F.create(64);if(e.isError())return F.create(16);if(e.isBoolean())return F.create(4);if(e.isString())return F.create(2);if(e.isNumber()||e.isNull())return F.create(1)}return F.create(128)}};const Hf=[[yf,aa.CELL],[bf,aa.ERROR_TYPE],[xf,aa.ISBETWEEN],[Sf,aa.ISBLANK],[Cf,aa.ISDATE],[wf,aa.ISEMAIL],[Tf,aa.ISERR],[Ef,aa.ISERROR],[Df,aa.ISEVEN],[Of,aa.ISFORMULA],[kf,aa.ISLOGICAL],[Af,aa.ISNA],[jf,aa.ISNONTEXT],[Mf,aa.ISNUMBER],[Nf,aa.ISODD],[Pf,aa.ISREF],[Ff,aa.ISTEXT],[If,aa.ISURL],[Lf,aa.N],[Rf,aa.NA],[zf,aa.SHEET],[Bf,aa.SHEETS],[Vf,aa.TYPE]];var Uf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.VALUE):P.create(t)}},Wf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(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 O.create(S.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=z(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=R.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 O.create(S.CALC);c=c.get(0,0)}c.isNull()&&(c=F.create(0)),s[0].push(c)}return o===1?s[0][0]:R.create({calculateValueList:s,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Gf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(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 O.create(S.VALUE);let i=t,a=n.isArray()?n.getRowCount():1,o=n.isArray()?n.getColumnCount():1;n=z(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=R.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 O.create(S.CALC);c=c.get(0,0)}c.isNull()&&(c=F.create(0)),s.push([c])}return a===1?s[0][0]:R.create({calculateValueList:s,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Kf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return P.create(!1)}},qf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n=P.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=z(i,a,r,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.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}},Jf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&i.set(t,n,a.get(t,n))}),i}},Yf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==S.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===S.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=z(n,r,e),a=z(n,r,t);return i.iterator((e,t,n)=>{e!=null&&e.isError()&&e.getErrorType()===S.NA&&i.set(t,n,a.get(t,n))}),i}},Xf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255)}calculate(...e){if(e.length%2!=0)return O.create(S.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=>z(t,n,e,O.create(S.NA))),i=r[0].map((e,t,n)=>{for(let e=0;e<r.length;e+=2){let i=r[e].get(t,n)||N.create(),a=r[e+1].get(t,n)||N.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 O.create(S.VALUE)}if(+o)return a.isNull()?O.create(S.NA):a}return O.create(S.NA)});return t===1&&n===1?i.get(0,0):i}},Zf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){return O.create(S.VALUE)}},Qf=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255)}calculate(...e){return O.create(S.VALUE)}},$f=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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 O.create(S.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(F.create(e+1),F.create(t+1));n.isArray()&&(n=n.get(0,0)),i[e][t]=n}}return new Ti(i)}isAsync(){return!0}},ep=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(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 O.create(S.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 O?a:r===1&&i===1?a[0][0]:R.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(O.create(S.NA)),o=!0;break}let l=s.get(a,i);if(!l){n.push(O.create(S.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 O.create(S.CALC);s=s.get(0,0)}s.isNull()&&(s=F.create(0)),n.push(s)}i.push(n)}return i}},tp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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)?O.create(S.VALUE):P.create(!t)}},np=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O(S.VALUE):new P(t)}},rp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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 O.create(S.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=F.create(0)),c=o}return c.isReferenceObject()?c.toArrayValueObject():c}},ip=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3),b(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 O.create(S.VALUE);if(r.isArray()){let e=r.getRowCount(),t=r.getColumnCount();if(e>1||t>1)return O.create(S.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 O.create(S.CALC);s=s.get(0,0)}s.isNull()&&(s=F.create(0)),c=s,r.push(s)}a.push(r)}return o===1&&s===1?a[0][0]:R.create({calculateValueList:a,rowCount:o,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},ap=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3)}calculate(e,...t){if(e.isError())return e;let n=t.length%2!=0,r=n?t[t.length-1]:N.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()?O.create(S.NA):i}}return n.isNull()?O.create(S.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=z(i,a,e),s=t.map(e=>z(i,a,e,O.create(S.NA))),c=z(i,a,n,O.create(S.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)||N.create(),a=s[i+1].get(t,n)||N.create();if(!r.isNull()){if(r.isError()||e.isError())return r.isError()?r:e;if(`${e.getValue()}`.toLocaleLowerCase()===`${r.getValue()}`.toLocaleLowerCase())return a.isNull()?O.create(S.NA):a}}let i=c.get(t,n)||N.create();return i.isNull()?O.create(S.NA):i})}},op=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return P.create(!0)}},sp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.VALUE):P.create(t%2==1)}};const cp=[[Uf,oa.AND],[Wf,oa.BYCOL],[Gf,oa.BYROW],[Kf,oa.FALSE],[qf,oa.IF],[Jf,oa.IFERROR],[Yf,oa.IFNA],[Xf,oa.IFS],[Zf,oa.LAMBDA],[Qf,oa.LET],[$f,oa.MAKEARRAY],[ep,oa.MAP],[tp,oa.NOT],[np,oa.OR],[rp,oa.REDUCE],[ip,oa.SCAN],[ap,oa.SWITCH],[op,oa.TRUE],[sp,oa.XOR]];var lp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.create(1):n,o=r==null?P.create(!0):r,s=i==null?I.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,a,O.create(S.NA)),p=z(c,l,o,O.create(S.NA)),m=z(c,l,s,O.create(S.NA));return u.map((e,t,n)=>{let r=d.get(t,n)||O.create(S.NA),i=f.get(t,n)||O.create(S.NA),a=p.get(t,n)||O.create(S.NA),o=m.get(t,n)||O.create(S.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 O.create(S.VALUE);let c=up(s),l=this.getZeroOrOneByOneDefault(r),u=dn(`${i.getValue()}`),d={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:c,endAbsoluteRefType:c},f=r&&!l?yo(d):Zt(d);return I.create(u===``?f:`${u}!${f}`)}};function up(e){switch(e){case 1:return c.AbsoluteRefType.ALL;case 2:return c.AbsoluteRefType.ROW;case 3:return c.AbsoluteRefType.COLUMN;case 4:return c.AbsoluteRefType.NONE;default:return c.AbsoluteRefType.ALL}}var dp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0)}calculate(e){return e.isReferenceObject()?F.create(1):O.create(S.VALUE)}},fp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(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]||O.create(S.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=z(r,i,n,O.create(S.NA)),o=t.map(e=>{let t=e;return t.isReferenceObject()&&(t=t.toArrayValueObject()),z(r,i,t,O.create(S.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))||O.create(S.VALUE);return a!=null&&a.isNull()&&(a=F.create(0)),a})}},pp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.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 R.create({calculateValueList:i,rowCount:i.length,columnCount:i[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},mp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.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 R.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},hp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,1)}calculate(e){if(e==null)return F.create(this.column+1);if(e.isError())return e;if(!e.isArray())return O.create(S.NA);let t=e.getCurrentColumn(),n=e.getColumnCount(),r=[];for(let e=0;e<n;e++)r.push(F.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 R.create(i)}},gp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return F.create(1);if(!e.isArray())return O.create(S.NA);let t=e.getColumnCount();return F.create(t)}},_p=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(o,s,t,O.create(S.NA)),l=z(o,s,r,O.create(S.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 O.create(S.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,i,a);return s?c:e.isArray()?O.create(S.VALUE):e});if(e.isError())return e;if(e.isNull())return O.create(S.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:O.create(S.VALUE)}:Math.abs(i)>=n||Math.abs(a)>=r?{isError:!0,errorObject:O.create(S.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()?F.create(0):e),r-t===1&&i-n===1?s.get(0,0):s}},vp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.create(a):n,c=r==null?O.create(S.NA):r;t.isNull()&&(o=F.create(i)),s.isNull()&&(s=F.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=z(l,u,o,O.create(S.NA)),f=z(l,u,s,O.create(S.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 O.create(S.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 O.create(S.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:O.create(S.VALUE)};let s=n;if(n.isArray()){let e=n.getRowCount(),t=n.getColumnCount();if(e>1||t>1)return{isError:!0,errorObject:O.create(S.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()?F.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]:R.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},yp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?O.create(S.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?O.create(S.VALUE):i===1&&a===1?this._getResultArrayByR1C1(e,t,r):o===1?s===a?this._getResultArrayByR1(i,a,e,t,r):O.create(S.VALUE):s===1?o===i?this._getResultArrayByC1(i,a,e,t,r):O.create(S.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:R.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:R.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},bp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(this,`needsReferenceObject`,!0),b(this,`needsFormulaDataModel`,!0)}calculate(e){var t;if(!e.isReferenceObject())return O.create(S.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 I.create(e)}return O.create(S.NA)});return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}},xp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return O.create(S.REF);if(!t.isArray()||n.isError()||r!=null&&r.isError())return O.create(S.NA);let i=this.getZeroOrOneByOneDefault(r);if(i==null)return O.create(S.VALUE);let a=this.getIndexNumValue(n);if(a instanceof O)return a;let o=t.slice([0,1]),s=t.slice([a-1,a]);return o==null||s==null?O.create(S.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)}},Sp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(O.create(S.NA)):n[e].push(r)}}}return R.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Cp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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())),I.create(a,{isHyperlink:!0,hyperlinkUrl:i})}},wp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=z(a,o,e,O.create(S.NA)),c=t?z(a,o,t,O.create(S.NA)):void 0,l=n?z(a,o,n,O.create(S.NA)):void 0,u=r?z(a,o,r,O.create(S.NA)):void 0,d=i?z(a,o,i,O.create(S.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 O.create(S.VALUE);let a=e.getValue(),o=``;t&&(t.isBoolean()?o=t.getValue()?`TRUE`:`FALSE`:t.isNull()||(o=`${t.getValue()}`));let s=n==null?F.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 O.create(S.VALUE);let l=r==null?F.create(0):r;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=Math.ceil(+l.getValue()),d=i==null?F.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?O.create(S.VALUE):I.create(``,{isImage:!0,imageInfo:{source:a,altText:o,sizing:c,height:u,width:f}})}},Tp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,4),b(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?F.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=z(c,l,a,O.create(S.NA)),n=o?z(c,l,o,O.create(S.NA)):[],r=z(c,l,s,O.create(S.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}=J(t,n,r);if(e)return i;a=c[0],o=c[1],s=c[2]}else{let{isError:e,errorObject:n,variants:i}=J(t,r);if(e)return n;a=i[0],s=i[1]}let c=Math.floor(+s.getValue());if(c<0)return O.create(S.VALUE);if(c>i.length)return O.create(S.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 O.create(S.VALUE);if(u>l.rowCount||d>l.columnCount)return O.create(S.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 O.create(S.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)}},Ep=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(()=>O.create(S.VALUE));r=e.getFirstCell()}return this._handleSingleObject(r,n)}_handleSingleObject(e,t){let n=`${e.getValue()}`;if(n.trim()===``)return O.create(S.REF);let r=this._convertToDefinedName(n);if(t===0){let{range:e,sheetName:t,unitId:n}=vo(r),i=new Ei(e);return i.setForcedUnitIdDirect(n),i.setForcedSheetName(t),this._setDefault(i)}if(Et(r))return this._setDefault(new Di(r));if(Ot(r))return this._setDefault(new ki(r));if(kt(r))return this._setDefault(new Oi(r));let{range:i,sheetName:a,unitId:o}=$n(r);if(Number.isNaN(i.startRow)||i.endRow+1>c.MAX_ROW_COUNT||Number.isNaN(i.startColumn)||i.endColumn+1>c.MAX_COLUMN_COUNT)return O.create(S.REF);let s=new Ei(i);return s.setForcedUnitIdDirect(o),s.setForcedSheetName(a),this._setDefault(s)}_setDefault(e){return this.unitId==null||this.subUnitId==null?O.create(S.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(T.EQUALS)?n.slice(1):n}},Dp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(this,`needsExpandParams`,!0)}calculate(e,t,n){return e.isError()?e:t.isError()?O.create(S.REF):t.isArray()?n!=null&&n.isError()?n:t.getColumnCount()===1||t.getRowCount()===1?n!=null&&!n.isArray()?O.create(S.REF):this._handleVector(e,t,n):this._handleArray(e,t):O.create(S.VALUE)}_handleVector(e,t,n){let r=n;if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return O.create(S.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?O.create(S.VALUE):e.isArray()?e.map(e=>this.binarySearch(e,i,a)):this.binarySearch(e,i,a)}},Op=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){if(e.isError())return e;if(t.isError())return O.create(S.REF);if(!t.isArray())return O.create(S.VALUE);let r=t.getRowCount(),i=t.getColumnCount();if(r!==1&&i!==1||n!=null&&n.isError())return O.create(S.NA);let a=this.getMatchTypeValue(n);return a==null?O.create(S.VALUE):e.isArray()?e.map(e=>this._handleSingleObject(e,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,n){let r=e.isNull()?F.create(0):e,i=this._getSearchModeValue(n),a=t.orderSearch(r,i);if(a==null)return O.create(S.NA);if(a instanceof O)return a;let o=t.getRowCount()===1?a.column+1:a.row+1;return F.create(o)}_getSearchModeValue(e){switch(e){case 1:return wr.MIN;case 0:return wr.NORMAL;case-1:return wr.MAX}}},kp=class extends Ci{constructor(e,t=[]){super(e),b(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 Ai([],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]=N.create()}}}return Ai(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}}},Ap=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,5),b(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 O.create(S.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?F.create(a):r;l.isReferenceObject()&&(l=l.toArrayValueObject()),l.isNull()&&(l=F.create(a));let u=i==null?F.create(o):i;u.isReferenceObject()&&(u=u.toArrayValueObject()),u.isNull()&&(u=F.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=z(d,f,s,O.create(S.NA)),m=z(d,f,c,O.create(S.NA)),h=z(d,f,l,O.create(S.NA)),g=z(d,f,u,O.create(S.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]=O.create(S.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 kp(``,_)}_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 l=n;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let u=+s.getValue(),d=+l.getValue();if(typeof u!=`number`||typeof d!=`number`)return O.create(S.VALUE);let f=a+u,p=o+d;if(f<0||p<0||f>=c.MAX_ROW_COUNT||p>=c.MAX_COLUMN_COUNT)return O.create(S.REF);let m=this.getIndexNumValue(r),h=this.getIndexNumValue(i);if(typeof m!=`number`||typeof h!=`number`)return O.create(S.VALUE);if(m===0||h===0)return O.create(S.REF);let g=m>0?f+m-1:f+m+1,_=h>0?p+h-1:p+h+1;if(g<0||_<0||g>=c.MAX_ROW_COUNT||_>=c.MAX_COLUMN_COUNT)return O.create(S.REF);let v={startRow:f<g?f:g,startColumn:p<_?p:_,endRow:f>g?f:g,endColumn:p>_?p:_};return this.createReferenceObject(e,v)}},jp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,1)}calculate(e){if(e==null)return F.create(this.row+1);if(e.isError())return e;if(!e.isArray())return O.create(S.NA);let t=e.getCurrentRow(),n=e.getRowCount(),r=[];for(let e=0;e<n;e++)r.push([F.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 R.create(i)}},Mp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return F.create(1);if(!e.isArray())return O.create(S.NA);let t=e.getRowCount();return F.create(t)}},Np=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let i=t==null?F.create(1):t,a=n==null?F.create(1):n,o=r==null?P.create(!1):r;if(i.isNull()&&(i=F.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 O.create(S.VALUE);let c=this._checkArrayError(n);if(c.isError())return c;let l=Math.floor(+c.getValue());if(l!==-1&&l!==1)return O.create(S.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 O.create(S.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 O.create(S.VALUE);let r=e.transpose().getArrayValue();return r.sort(this._sort(t-1,n)),R.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 O.create(S.VALUE);let r=e.getArrayValue();return r.sort(this._sort(t-1,n)),R.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=Tr();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)}}},Pp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255)}calculate(e,...t){t.length===1&&t.push(F.create(1));let n=this._getVariantsError(e,...t),{maxRowLength:r,maxColumnLength:i}=Li(t);if(n.isError()){let e=z(r,i,n);return r===1&&i===1?e.get(0,0):e}let a=t.map((e,t)=>t%2==0?e:z(r,i,e,O.create(S.NA))),o=this._getResultArray(e,a,r,i);return r===1&&i===1?o[0][0]:R.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 O.create(S.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 O.create(S.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 O.create(S.VALUE)}return P.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=R.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=O.create(S.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=Tr();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)}},Fp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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?F.create(i):n;t.isNull()&&(a=F.create(r)),o.isNull()&&(o=F.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=z(s,c,a,O.create(S.NA)),u=z(s,c,o,O.create(S.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 O.create(S.VALUE);let{isError:s,errorObject:c}=this._checkRowsColumns(t,o,r,i);return s?c:e.isArray()?O.create(S.VALUE):e});if(e.isError())return e;if(e.isNull())return O.create(S.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:O.create(S.VALUE)}:Math.abs(i)===0||Math.abs(a)===0?{isError:!0,errorObject:O.create(S.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()?F.create(0):e),t===1&&n===1?s.get(0,0):s}},Ip=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(0):t,i=n==null?P.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=z(a,o,r,O.create(S.NA)),c=z(a,o,i,O.create(S.NA)),l=s.mapValue((t,n,r)=>{let i=c.get(n,r);if(e.isError())return e;if(e.isNull())return O.create(S.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 O.create(S.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?O.create(S.CALC):a>1||o>1||u.length===1?u[0]:R.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()?F.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()?F.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}}},Lp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(0):t,i=n==null?P.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=z(a,o,r,O.create(S.NA)),c=z(a,o,i,O.create(S.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 O.create(S.VALUE);if(!e.isArray())return e;let u=[];return u=l?this._getArrayValueByColumn(e,s):this._getArrayValueByRow(e,s),u.length===0?O.create(S.CALC):a>1||o>1||u.length===1?u[0]:R.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()?F.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()?F.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}}},Rp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}},zp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?P.create(!1):t,i=n==null?P.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=z(s,c,r,O.create(S.NA)),u=z(s,c,i,O.create(S.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?O.create(S.CALC):(t&&(a=this._transposeArray(a)),R.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()&&(0,c.isRealNum)(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}},Bp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return O.create(S.VALUE);if(n.isError())return n;if(r!=null&&r.isError())return r;let i=r==null?P.create(!0):r;return Fi(e)&&Fi(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 O.create(S.VALUE);let o,s=[];return n.iterator((e,n,r)=>{if(e==null)return o=O.create(S.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||Ai(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=z(i,a,e),s=z(i,a,r);return o.map((e,r,i)=>{if(e.isError())return e;let a=s.get(r,i);if(a==null)return O.create(S.VALUE);if(a.isError())return a;let o=this.getZeroOrOneByOneDefault(a);return o==null?O.create(S.VALUE):this._handleTableArray(e,t,n,o)})}_handleTableArray(e,t,n,r){let i=this.getIndexNumValue(n);if(i instanceof O)return i;if(i=Math.floor(i),i<1)return O.create(S.VALUE);let a=t.slice(void 0,[0,1]);if(a==null)return O.create(S.VALUE);let o=t.slice(void 0,[i-1,i]);return o==null?O.create(S.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)}},Vp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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(O.create(S.NA)):r.push(t)}n.push(r)}}return R.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}},Hp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?O.create(S.NA):n;r.isNull()&&(r=O.create(S.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=z(o,s,t,O.create(S.NA)),l=z(o,s,r,O.create(S.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return O.create(S.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return O.create(S.VALUE);if(u<1)return O.create(S.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]:R.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()?F.create(0):e[o]):a[r].push(n)}return a}},Up=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?O.create(S.NA):n;r.isNull()&&(r=O.create(S.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=z(o,s,t,O.create(S.NA)),l=z(o,s,r,O.create(S.NA)),u=c.mapValue((t,n,r)=>{let c=l.get(n,r);if(e.isError())return e;if(e.isNull())return O.create(S.VALUE);if(t.isError())return t;let u=Math.trunc(+t.getValue());if(i>1&&a>1||Number.isNaN(u))return O.create(S.VALUE);if(u<1)return O.create(S.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]:R.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()?F.create(0):e[o]):r.push(n)}a.push(r)}return a}},Wp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=r==null?O.create(S.NA):r;r!=null&&r.isNull()&&(o=O.create(S.NA));let s=i==null?F.create(0):i;i!=null&&i.isNull()&&(s=F.create(0));let c=a==null?F.create(1):a;if(a!=null&&a.isNull()&&(c=F.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 O.create(S.VALUE);if(s.isError())return s;if(c.isError())return c;let p=this.getIndexNumValue(s);if(p instanceof O)return p;let m=this.getIndexNumValue(c);return m instanceof O?m:this._getResult(e,zi(t),zi(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?O.create(S.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?O.create(S.NA):m}_handleExpandObject(e,t,n,r,i,a=0){if((i===2||i===-2)&&r!==2){let o=Mr(i),s=jr(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?wr.MAX:wr.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=Mr(i),o=jr(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?wr.MAX:wr.MIN,i===-1):this.equalSearch(e,t,n,i!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?O.create(S.VALUE):null}},Gp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,4)}calculate(e,t,n,r){let i=F.create(0);n&&!n.isNull()&&(i=n);let a=F.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=z(o,s,e,O.create(S.NA)),l=z(o,s,i,O.create(S.NA)),u=z(o,s,a,O.create(S.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 O.create(S.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)?O.create(S.VALUE):this._getResult(e,t,c,l)}_getResult(e,t,n,r){let i=zi(t),a;if((r===2||r===-2)&&n!==2){let t=Mr(r),o=jr(n);a=i.binarySearch(e,t,o)}else if(n===2){let t=i.compare(e,E.EQUALS),n;if(n=r===-1?t.getLastTruePosition():t.getFirstTruePosition(),n==null)return O.create(S.NA);a=i.getRowCount()===1?n.column:n.row}else if(n===-1||n===1){let t=i.orderSearch(e,n===1?wr.MAX:wr.MIN,r===-1);if(t==null)return O.create(S.NA);if(t instanceof O)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 O.create(S.NA);a=i.getRowCount()===1?n.column:n.row}return a==null?O.create(S.NA):F.create(a+1)}};const Kp=[[lp,U.ADDRESS],[dp,U.AREAS],[fp,U.CHOOSE],[pp,U.CHOOSECOLS],[mp,U.CHOOSEROWS],[hp,U.COLUMN],[gp,U.COLUMNS],[_p,U.DROP],[vp,U.EXPAND],[yp,U.FILTER],[bp,U.FORMULATEXT],[xp,U.HLOOKUP],[Sp,U.HSTACK],[Cp,U.HYPERLINK],[wp,U.IMAGE],[Tp,U.INDEX],[Ep,U.INDIRECT],[Dp,U.LOOKUP],[Op,U.MATCH],[Ap,U.OFFSET],[jp,U.ROW],[Mp,U.ROWS],[Np,U.SORT],[Pp,U.SORTBY],[Fp,U.TAKE],[Ip,U.TOCOL],[Lp,U.TOROW],[Rp,U.TRANSPOSE],[zp,U.UNIQUE],[Bp,U.VLOOKUP],[Vp,U.VSTACK],[Hp,U.WRAPCOLS],[Up,U.WRAPROWS],[Wp,U.XLOOKUP],[Gp,U.XMATCH]];var qp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}},Jp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}},Yp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}},Xp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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:Zp(e)):Zp(t)}};function Zp(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return O.create(S.VALUE);t=Number(t);let n=Math.atan(1/t);return t<0&&(n+=Math.PI),Number.isNaN(n)?O.create(S.VALUE):F.create(n)}var Qp=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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:$p(e)):$p(t)}};function $p(e){let t=e.getValue();if(e.isBoolean()&&(t=t?1:0),!Number.isFinite(t))return O.create(S.VALUE);if(t=Number(t),Math.abs(t)<=1)return O.create(S.NUM);let n=1/2*Math.log((t+1)/(t-1));return Number.isNaN(n)?O.create(S.VALUE):F.create(n)}const em={1:X.AVERAGE,2:X.COUNT,3:X.COUNTA,4:X.MAX,5:X.MIN,6:X.PRODUCT,7:X.STDEV_S,8:X.STDEV_P,9:X.SUM,10:X.VAR_S,11:X.VAR_P,12:X.MEDIAN,13:X.MODE_SNGL};var tm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0),b(this,`needsFilteredOutRows`,!0),b(this,`needsFormulaDataModel`,!0)}calculate(e,t,...n){let{isError:r,multiAreaRefs:i,normalRefs:a}=Zs(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=z(c,l,o,O.create(S.NA)),d=z(c,l,s,O.create(S.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?O.create(S.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 O.create(S.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 O.create(S.VALUE);let l=this._getAggregateOptions(c);return o>=14&&o<=19?this._handleLargeSmallPercentileQuartile(o,l,n[0],n[1]):tc({type:em[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 O.create(S.VALUE);i=i.get(0,0)}let a=nc(n,t,this._formulaDataModel);if(!Array.isArray(a))return a;let o=+i.getValue();switch(e){case 14:return ic(a,o);case 15:return ac(a,o);case 16:return oc(a,o);case 17:return cc(a,o);case 18:return sc(a,o);case 19:return lc(a,o);default:return O.create(S.VALUE)}}},nm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 F.create(0);if(e.isBoolean()||e.isNumber())return O.create(S.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return O.create(S.VALUE);let n=t.startsWith(`-`);n&&(t=t.slice(1));let r=0;for(let e=0;e<t.length;e++){let n=es.get(t[e])||0,i=es.get(t[e+1])||0,a=es.get(t[e+2])||0,o=es.get(t[e+3])||0;if(!n||a>=i&&a>n||n===i&&n===a&&n===o||n===i/2)return O.create(S.VALUE);n<i?r-=n:r+=n}return F.create(n?-r:r)}},rm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}},im=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}},am=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}},om=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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))}},sm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}},cm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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 O.create(S.NUM);let l=o.toString(s);return l.length<c&&(l=Array(c-l.length+1).join(`0`)+l),I.create(l.toLocaleUpperCase())}},lm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);if(o===0||s===0)return F.create(0);let c=Qr(o/s,0)*s;return F.create(c)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}},um=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(1):t,i=n==null?F.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=z(a,o,e,O.create(S.NA)),c=z(a,o,r,O.create(S.NA)),l=z(a,o,i,O.create(S.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?F.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?Qr(Math.abs(e)/Math.abs(t),0):-Qr(Math.abs(e)/t,0))*t:(t<0?-Qr(e/Math.abs(t),0):Qr(e/t,0))*t,F.create(r)}},dm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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 F.create(0);let c=(s<0?-Qr(a/Math.abs(s),0):Qr(a/s,0))*s;return F.create(c)});return r===1&&i===1?s.get(0,0):s}},fm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=Io(o,s);return Number.isNaN(c)||!Number.isFinite(c)?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},pm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);let c=Io(o+s-1,o-1);return Number.isNaN(c)||!Number.isFinite(c)?O.create(S.NUM):F.create(c)});return n===1&&r===1?o.get(0,0):o}},mm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}},hm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}},gm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):n===0?O.create(S.DIV_BY_ZERO):t.tan().getReciprocal()}},_m=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.DIV_BY_ZERO):t.tanh().getReciprocal()}},vm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):n===0?O.create(S.DIV_BY_ZERO):t.sin().getReciprocal()}},ym=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.DIV_BY_ZERO):!Number.isNaN(n)&&!Number.isFinite(Math.sinh(n))?F.create(0):t.sinh().getReciprocal()}},bm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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((0,c.isRealNum)(i)&&(+i<0||+i>=2**53||!Number.isInteger(+i))||i.toLocaleLowerCase()===`true`||i.toLocaleLowerCase()===`false`||o<2||o>36)return O.create(S.NUM);if(i.replace(/\s/g,``)===``)return F.create(0);if(!this._isValidCharForRadix(i,o))return O.create(S.NUM);let s=Number.parseInt(i,o);return Number.isNaN(s)?O.create(S.NUM):F.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}},xm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=n*(180/Math.PI);return Number.isNaN(r)?O.create(S.VALUE):F.create(r)}},Sm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=(n<0?-Qr(Math.abs(n)/2,0):Qr(n/2,0))*2;return Number.isNaN(r)?O.create(S.VALUE):r===0?F.create(0):F.create(r)}},Cm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}},wm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=Fo(Math.floor(+t.getValue()));return Number.isNaN(n)||!Number.isFinite(n)?O.create(S.NUM):F.create(n)}},Tm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(e.isArray()){let n=e.getRowCount(),r=e.getColumnCount();if(n>1||r>1)return O.create(S.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=Fo(Math.floor(+t.getValue()),2);return Number.isNaN(n)||!Number.isFinite(n)?O.create(S.NUM):F.create(n)}},Em=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.NUM);if(o===0)return F.create(0);if(s===0)return O.create(S.DIV_BY_ZERO);let c=Zr(o/s,0)*s;return F.create(c)});return n===1&&r===1?o.get(0,0):o}},Dm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(1):t,i=n==null?F.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=z(a,o,e,O.create(S.NA)),c=z(a,o,r,O.create(S.NA)),l=z(a,o,i,O.create(S.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 F.create(0);let d;return d=o<0&&u!==0?(s<0?Zr(Math.abs(o)/Math.abs(s),0):-Zr(Math.abs(o)/s,0))*s:(s<0?-Zr(o/Math.abs(s),0):Zr(o/s,0))*s,F.create(d)});return a===1&&o===1?u.get(0,0):u}},Om=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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 F.create(0);let c=(s<0?-Zr(a/Math.abs(s),0):Zr(a/s,0))*s;return F.create(c)});return r===1&&i===1?s.get(0,0):s}},km=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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=Lo(t,o)}),e)return n}else{let{isError:e,errorObject:n,number:i}=this._handleSingleObject(r);if(e)return n;t=Lo(t,i)}}return F.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:O.create(S.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:O.create(S.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Am=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 F.create(n)}},jm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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=Ro(t,s),n=!1}),e)return r}else{let{isError:e,errorObject:r,number:a}=this._handleSingleObject(i);if(e)return r;t=Ro(t,a),n=!1}}return n?F.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?O.create(S.VALUE):F.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:O.create(S.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:O.create(S.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Mm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}},Nm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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 O.create(S.NUM);let c=Math.log(s);if(c===0)return O.create(S.DIV_BY_ZERO);let l=Math.log(a)/c;return F.create(l)});return r===1&&i===1?s.get(0,0):s}},Pm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}},Fm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.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 O.create(S.VALUE);let i=zo(r);return F.create(i)}},Im=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.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 O.create(S.VALUE);let i=Bo(r);return i===null?O.create(S.NUM):R.createByArray(i)}},Lm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);let o=this._getMatrix(e,n,r),s=this._getMatrix(t,i,a);if(o instanceof O)return o;if(s instanceof O)return s;let c=Uo(o,s);return R.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 O.create(S.VALUE);if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let a=+n.getValue();t.push(a)}r.push(t)}return r}},Rm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},zm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return O.create(S.VALUE);if(a===0)return F.create(0);if(i>0&&a<0||i<0&&a>0)return O.create(S.NUM);let o=Xr(i/a,0)*a;return F.create(o)}},Bm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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=O.create(S.NUM),!1;n*=Fo(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 O.create(S.NUM);n*=Fo(a)}}let r=Fo(t)/n;return F.create(r)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:O.create(S.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:O.create(S.NUM),number:null}:{isError:!1,errorObject:null,number:n}}},Vm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.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 R.createByArray(r)}},Hm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=n<0?-Qr(Math.abs(n),0):Qr(n,0);return Number.isNaN(r)?O.create(S.VALUE):(Math.abs(r)%2==0&&(n<0?r--:r++),F.create(r))}},Um=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return F.create(Math.PI)}},Wm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},Gm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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?F.create(0):t}},Km=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=q(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue();if(Number.isNaN(s)||Number.isNaN(c))return O.create(S.VALUE);if(c===0)return O.create(S.DIV_BY_ZERO);let l=Math.trunc(s/c);return F.create(l)}},qm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let r=n*(Math.PI/180);return Number.isNaN(r)?O.create(S.VALUE):F.create(r)}},Jm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,0)}calculate(){return F.create(Math.random())}},Ym=class extends Y{constructor(...e){super(...e),b(this,`minParams`,0),b(this,`maxParams`,5),b(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?F.create(1):e,o=t==null?F.create(1):t,s=n==null?F.create(0):n,c=r==null?F.create(1):r,l=i==null?F.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=z(a,o,e,O.create(S.NA)),c=z(a,o,t,O.create(S.NA)),l=z(a,o,n,O.create(S.NA)),u=z(a,o,r,O.create(S.NA)),d=z(a,o,i,O.create(S.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?O.create(S.VALUE):F.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 O.create(S.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?F.create(g[0][0]):R.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:O.create(S.CALC)};let s=this._rowCount-this.row,c=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:O.create(S.VALUE)};if(a>s||o>c)return{errorObject:O.create(S.REF)};let l=+n.getValue(),u=+r.getValue(),d=+i.getValue();return l>u||d&&(!Number.isInteger(l)||!Number.isInteger(u))?{errorObject:O.create(S.VALUE)}:{rowsValue:a,columnsValue:o,minValue:l,maxValue:u,wholeNumberValue:d}}},Xm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 O.create(S.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isBoolean()||r.isBoolean())return O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(Number.isNaN(i)||Number.isNaN(a))return O.create(S.VALUE);if(i>a)return O.create(S.NUM);i=Math.ceil(i),a=Math.floor(a);let o=Math.floor(Math.random()*(a-i+1))+i;return F.create(o)}},Zm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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}=J(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 O.create(S.VALUE);let l=ns[c],u=l.length-1,d=``;for(;o>0;){u=this._binarySearch(o,0,u,l);let e=l[u];o-=e,d+=ts.get(e)}return I.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}},Qm=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},$m=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(e,r);if(i)return o;let[c,l]=s,u=+c.getValue(),d=Math.trunc(+l.getValue()),f=this._roundBank(u,d);return F.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}},eh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},th=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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)}},nh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):t.cos().getReciprocal()}},rh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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?O.create(S.NUM):t.cosh().getReciprocal():F.create(0)}},ih=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4),b(this,`needsSheetRowColumnCount`,!0)}calculate(e,t,n,r){let i=e,a=t==null?F.create(1):t,o=n==null?F.create(1):n,s=r==null?F.create(1):r;i.isNull()&&(i=F.create(1)),a.isNull()&&(a=F.create(1)),o.isNull()&&(o=F.create(1)),s.isNull()&&(s=F.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=z(c,l,i,O.create(S.NA)),d=z(c,l,a,O.create(S.NA)),f=z(c,l,o,O.create(S.NA)),p=z(c,l,s,O.create(S.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}=J(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 O.create(S.VALUE);if(p===0||m===0)return O.create(S.CALC);let _=this._rowCount-this.row,v=this._columnCount-this.column;if(p>_||m>v)return O.create(S.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?F.create(y[0][0]):R.createByArray(y)}},ah=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,4)}calculate(e,t,n,r){if(e.isNull()||t.isNull()||n.isNull()||r.isNull())return O.create(S.NA);let{isError:i,errorObject:a,variants:o}=q(e,t,n);if(i)return a;let{isError:s,errorObject:c,variants:l}=J(...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=O.create(S.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(_)?O.create(S.NUM):F.create(_)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:O.create(S.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}}},oh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();return a>0?F.create(1):a<0?F.create(-1):F.create(0)}},sh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}},ch=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}},lh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}},uh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;if(t.isArray()){let e=t.getRowCount(),n=t.getColumnCount();if(e>1||n>1)return O.create(S.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;let n=+t.getValue();if(n<0)return O.create(S.NUM);let r=Math.sqrt(n*Math.PI);return F.create(r)}};const dh={1:X.AVERAGE,2:X.COUNT,3:X.COUNTA,4:X.MAX,5:X.MIN,6:X.PRODUCT,7:X.STDEV,8:X.STDEVP,9:X.SUM,10:X.VAR,11:X.VARP};var fh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0),b(this,`needsFilteredOutRows`,!0),b(this,`needsFormulaDataModel`,!0)}calculate(e,...t){let n;n=e.isReferenceObject()?e.toArrayValueObject():e;let{isError:r,multiAreaRefs:i,normalRefs:a}=Zs(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 O.create(S.VALUE);let a=Math.floor(+i.getValue());if(a<1||a>11&&a<101||a>111)return O.create(S.VALUE);let o=!1;return a>=101&&(a-=100,o=!0),tc({type:dh[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(O.create(S.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]:Ai(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}}},ph=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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}},mh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return O.create(S.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=Mi(r,t);i=Vi(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()}},hh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`SUMIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},gh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O)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 O.create(S.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 O.create(S.VALUE);if(o.isError())return o;o.isNumber()?r*=o.getValue():r=0}i+=r}return F.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=R.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}},_h=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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}},vh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=N.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?O.create(S.DIV_BY_ZERO):F.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 O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!(0,c.isRealNum)(i)||n.isBoolean()||r.isString()&&!(0,c.isRealNum)(a)||r.isBoolean())return O.create(S.DIV_BY_ZERO);let o=i**2-a**2;return F.create(o)}},yh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=N.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?O.create(S.DIV_BY_ZERO):F.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 O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!(0,c.isRealNum)(i)||n.isBoolean()||r.isString()&&!(0,c.isRealNum)(a)||r.isBoolean())return O.create(S.DIV_BY_ZERO);let o=i**2+a**2;return F.create(o)}},bh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.NA);if(n===1)return this._calculateSingleCell(e,t);{let n=e.flatten(),r=t.flatten(),i=N.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?O.create(S.DIV_BY_ZERO):F.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 O.create(S.VALUE);let i=+n.getValue(),a=+r.getValue();if(n.isString()&&!(0,c.isRealNum)(i)||n.isBoolean()||r.isString()&&!(0,c.isRealNum)(a)||r.isBoolean())return O.create(S.DIV_BY_ZERO);let o=(i-a)**2;return F.create(o)}},xh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}},Sh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}},Ch=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=$r(a,c),u=Math.trunc(Jr(a,c)+l)/c;return F.create(u)});return r===1&&i===1?s.get(0,0):s}};const wh=[[qp,W.ABS],[Jp,W.ACOS],[Yp,W.ACOSH],[Xp,W.ACOT],[Qp,W.ACOTH],[tm,W.AGGREGATE],[nm,W.ARABIC],[rm,W.ASIN],[im,W.ASINH],[am,W.ATAN],[om,W.ATAN2],[sm,W.ATANH],[cm,W.BASE],[lm,W.CEILING],[um,W.CEILING_MATH],[dm,W.CEILING_PRECISE],[fm,W.COMBIN],[pm,W.COMBINA],[mm,W.COS],[hm,W.COSH],[gm,W.COT],[_m,W.COTH],[vm,W.CSC],[ym,W.CSCH],[bm,W.DECIMAL],[xm,W.DEGREES],[Sm,W.EVEN],[Cm,W.EXP],[wm,W.FACT],[Tm,W.FACTDOUBLE],[Em,W.FLOOR],[Dm,W.FLOOR_MATH],[Om,W.FLOOR_PRECISE],[km,W.GCD],[Am,W.INT],[jm,W.LCM],[Mm,W.LN],[Nm,W.LOG],[Pm,W.LOG10],[Fm,W.MDETERM],[Im,W.MINVERSE],[Lm,W.MMULT],[Rm,W.MOD],[zm,W.MROUND],[Bm,W.MULTINOMIAL],[Vm,W.MUNIT],[Hm,W.ODD],[Um,W.PI],[Wm,W.POWER],[Gm,W.PRODUCT],[Km,W.QUOTIENT],[qm,W.RADIANS],[Jm,W.RAND],[Ym,W.RANDARRAY],[Xm,W.RANDBETWEEN],[Zm,W.ROMAN],[Qm,W.ROUND],[$m,W.ROUNDBANK],[eh,W.ROUNDDOWN],[th,W.ROUNDUP],[nh,W.SEC],[rh,W.SECH],[ah,W.SERIESSUM],[ih,W.SEQUENCE],[oh,W.SIGN],[sh,W.SIN],[ch,W.SINH],[lh,W.SQRT],[uh,W.SQRTPI],[fh,W.SUBTOTAL],[ph,W.SUM],[mh,W.SUMIF],[hh,W.SUMIFS],[gh,W.SUMPRODUCT],[_h,W.SUMSQ],[vh,W.SUMX2MY2],[yh,W.SUMX2PY2],[bh,W.SUMXMY2],[xh,W.TAN],[Sh,W.TANH],[Ch,W.TRUNC]];var Th=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(this,`_compareType`,E.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}},Eh=class e extends se{static create(t){return new e(t)}isCube(){return!0}constructor(e){super(``),b(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=F.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=F.create(-1/0);return this._values.forEach(t=>{let n=t.max();e.isLessThan(n)&&(e=n)}),e}min(){let e=F.create(1/0);return this._values.forEach(t=>{let n=t.max();e.isGreaterThan(n)&&(e=n)}),e}count(){let e=F.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){let e=F.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){let e=F.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}},Dh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);t.push(r)}return Eh.create(t)}},Oh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?O.create(S.DIV_BY_ZERO):e.divided(t)}},kh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}},Ah=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}},jh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}};const Mh=[[Th,ga.COMPARE],[Oh,ga.DIVIDED],[kh,ga.MINUS],[Ah,ga.MULTIPLY],[jh,ga.PLUS],[Dh,ga.CUBE]],Nh=new Set([W.ACOT,W.ACOTH,W.ARABIC,W.BASE,W.CEILING_MATH,W.CEILING_PRECISE,W.COMBINA,W.COT,W.COTH,W.CSC,W.CSCH,W.DECIMAL,W.FLOOR_MATH,W.FLOOR_PRECISE,W.MUNIT,W.RANDARRAY,W.SEC,W.SECH,W.SEQUENCE,U.CHOOSECOLS,U.CHOOSEROWS,U.DROP,U.EXPAND,U.FILTER,U.FORMULATEXT,U.HSTACK,U.SORT,U.SORTBY,U.TAKE,U.TOCOL,U.TOROW,U.UNIQUE,U.VSTACK,U.WRAPCOLS,U.WRAPROWS,U.XLOOKUP,U.XMATCH,V.BITAND,V.BITLSHIFT,V.BITOR,V.BITRSHIFT,V.BITXOR,V.ERF_PRECISE,V.ERFC_PRECISE,V.IMCOSH,V.IMCOT,V.IMCSC,V.IMCSCH,V.IMSEC,V.IMSECH,V.IMSINH,V.IMTAN,aa.ISFORMULA,aa.SHEET,aa.SHEETS,oa.IFNA,oa.IFS,oa.SWITCH,oa.XOR,G.BETA_DIST,G.BETA_INV,G.BINOM_DIST,G.BINOM_DIST_RANGE,G.BINOM_INV,G.CHISQ_DIST,G.CHISQ_DIST_RT,G.CHISQ_INV,G.CHISQ_INV_RT,G.CHISQ_TEST,G.CONFIDENCE_NORM,G.CONFIDENCE_T,G.COVARIANCE_P,G.COVARIANCE_S,G.EXPON_DIST,G.F_DIST,G.F_DIST_RT,G.F_INV,G.F_INV_RT,G.F_TEST,G.FORECAST_LINEAR,G.GAMMA,G.GAMMA_DIST,G.GAMMA_INV,G.GAMMALN_PRECISE,G.GAUSS,G.HYPGEOM_DIST,G.LOGNORM_DIST,G.LOGNORM_INV,G.MAXIFS,G.MINIFS,G.MODE_MULT,G.MODE_SNGL,G.NEGBINOM_DIST,G.NORM_DIST,G.NORM_INV,G.NORM_S_DIST,G.NORM_S_INV,G.PERCENTILE_EXC,G.PERCENTILE_INC,G.PERCENTRANK_EXC,G.PERCENTRANK_INC,G.PERMUTATIONA,G.PHI,G.POISSON_DIST,G.QUARTILE_EXC,G.QUARTILE_INC,G.RANK_AVG,G.RANK_EQ,G.SKEW_P,G.STDEV_P,G.STDEV_S,G.T_DIST,G.T_DIST_2T,G.T_DIST_RT,G.T_INV,G.T_INV_2T,G.T_TEST,G.VAR_P,G.VAR_S,G.WEIBULL_DIST,G.Z_TEST,K.ARRAYTOTEXT,sa.ENCODEURL,K.NUMBERVALUE,K.TEXTAFTER,K.TEXTBEFORE,K.TEXTJOIN,K.TEXTSPLIT,K.UNICHAR,K.UNICODE,K.VALUETOTEXT,ia.DAYS,ia.ISOWEEKNUM,H.PDURATION,H.RRI,oa.BYCOL,oa.BYROW,oa.MAKEARRAY,oa.MAP,oa.REDUCE,oa.SCAN]);var Ph=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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=Fh(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(F.create(1)))}if(n.getValue()===0)return O.create(S.NUM);let r=t.divided(n);if(r.isError())return r;let i=F.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 Fh(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||Ai(t,1,t[0].length)}var Ih=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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(F.create(1)))}return t.divided(n)}},Lh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,254)}calculate(...e){let t=!1,n;e.length%2!=0&&(t=!0,n=O.create(S.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=O.create(S.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 O.create(S.VALUE);r+=n*o,i+=o}}if(i===0)return O.create(S.DIV_BY_ZERO);let a=r/i;return F.create(a)}},Rh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0),n=F.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=F.create(0))),r.isBoolean()&&(r=r.convertToNumberObjectValue()),r.isError())return t=r,!1;t=t.plus(r),n=n.plus(F.create(1))}),t.isError())return t}else i.isNull()||(t=t.plus(i),n=n.plus(F.create(1)))}return t.divided(n)}},zh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(this,`needsReferenceObject`,!0)}calculate(e,t,n){if(!e.isReferenceObject()||n&&!n.isReferenceObject())return O.create(S.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=Mi(r,t);i=Vi(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)}},Bh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`AVERAGEIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Vh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=i==null?F.create(0):i,s=a==null?F.create(1):a;o.isNull()&&(o=F.create(0)),s.isNull()&&(s=F.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=z(c,l,e,O.create(S.NA)),d=z(c,l,t,O.create(S.NA)),f=z(c,l,n,O.create(S.NA)),p=z(c,l,r,O.create(S.NA)),m=z(c,l,o,O.create(S.NA)),h=z(c,l,s,O.create(S.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}=J(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 O.create(S.NUM);let x;return x=v?rs((h-y)/(b-y),g,_):is((h-y)/(b-y),g,_)/(b-y),F.create(x)}},Hh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(a,o,e,O.create(S.NA)),c=z(a,o,t,O.create(S.NA)),l=z(a,o,n,O.create(S.NA)),u=z(a,o,i,O.create(S.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}=J(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 O.create(S.NUM);let h=0;for(let e=p;e<=m;e++)h+=ds(e,d,f);return F.create(h)}},Uh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?fs(l,u):ps(l,u),F.create(f)}},Wh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=ms(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Gh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);if(h===1)return O.create(S.DIV_BY_ZERO);let g=Math.abs(Hs(p/2,h-1)*m/Math.sqrt(h));return F.create(g)});return r===1&&i===1?c.get(0,0):c}},Kh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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?O.create(S.DIV_BY_ZERO):F.create(s/u)}},qh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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(F.create(1))):r.isNull()||(t=t.plus(F.create(1))))}return t}},Jh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.create(0);for(let n=0;n<e.length;n++){let r=e[n];if(r.isError()){t=t.plus(F.create(1));continue}r.isArray()?(r=r.countA(),t=t.plus(r)):r.isNull()||(t=t.plus(F.create(1)))}return t}},Yh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1)}calculate(e){return e.isError()?e:e.getValue()===``||e.isNull()?F.create(1):e.isArray()?e.countBlank():F.create(0)}},Xh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2),b(this,`needsReferenceObject`,!0)}calculate(e,t){if(!e.isReferenceObject())return O.create(S.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=Mi(n,t);r=Vi(r,n,t);let i=n.pick(r);return this._countA(i)}_countA(e){let t=F.create(0);return e.iterator(e=>{if(e==null)return!0;t=t.plusBy(1)}),t}},Zh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(...e){let{isError:t,errorObject:n,rangeIsDifferentSize:r,criteriaMaxRowLength:i,criteriaMaxColumnLength:a,variants:o}=Ri(e);if(t)return n;if(r)return i===1&&a===1?O.create(S.VALUE):z(i,a,O.create(S.VALUE));let s=Bi(o,{formulaName:`COUNTIFS`,maxRowLength:i,maxColumnLength:a,isNumberSensitive:!0});return s.length===1&&s[0].length===1?s[0][0]:R.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Qh=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length<=1)return O.create(S.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 F.create(s/(n-1))}},$h=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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 O.create(S.NUM);let i=n/t.length,a=0;for(let e=0;e<t.length;e++)a+=(t[e]-i)**2;return F.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return N.create();let t=e.getValue();return(0,c.isRealNum)(t)?F.create(+t):N.create()}},eg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?hs(d,f,p):gs(d,f,p),Number.isNaN(h)||!Number.isFinite(h)?O.create(S.NUM):F.create(h)}},tg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=_s(l,u,d);return Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},ng=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=i.getValue();if(a<=-1||a>=1)return O.create(S.NUM);let o=Math.log((1+a)/(1-a))/2;return F.create(o)}},rg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(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?F.create(1):F.create(o/s)}},ig=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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 O.create(S.VALUE);if(r*i!==a*o)return O.create(S.NA);let{isError:l,errorObject:u,array1Values:d,array2Values:f,noCalculate:p}=Us(t,n,r*i,i,o);if(l)return u;if(p)return O.create(S.DIV_BY_ZERO);let m=bs(c,d,f);return Number.isFinite(m)?F.create(m):O.create(S.DIV_BY_ZERO)}},ag=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.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 R.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();(0,c.isRealNum)(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}},og=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();if(a===0||a<0&&a%1==0)return O.create(S.NUM);let o=xs(a);return Number.isNaN(o)||!Number.isFinite(o)?O.create(S.NUM):F.create(o)}},sg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue();if(a<=0)return O.create(S.NUM);let o=Ts(a);return Math.abs(o)<1e-15?F.create(0):F.create(o)}},cg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Fs(+i.getValue(),0,1)-.5;return F.create(a)}},lg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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(!(0,c.isRealNum)(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(!(0,c.isRealNum)(e))continue;+e<=0&&(r=!0),t*=+e,n++}}if(n===0||r)return O.create(S.NUM);let i=t**(1/n);return F.create(i)}},ug=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t,n);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=this._getNewXsValues(s,n);if(c instanceof O)return c;let l=r==null?P.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?O.create(S.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=Xs(e,t,n,r,!0);if(a instanceof O)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=Wo(u)),R.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=qs(t.flat(),i,r,!0),s=n.map(e=>e.map(e=>o*a**e));return R.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Gs(t)}},dg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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(!(0,c.isRealNum)(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(!(0,c.isRealNum)(e))continue;+e<=0&&(r=!0),t+=1/e,n++}}if(n===0)return O.create(S.NA);if(r)return O.create(S.NUM);let i=n/t;return F.create(i)}},fg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,5),b(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=z(a,o,e,O.create(S.NA)),c=z(a,o,t,O.create(S.NA)),l=z(a,o,n,O.create(S.NA)),u=z(a,o,r,O.create(S.NA)),d=z(a,o,i,O.create(S.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}=J(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 O.create(S.NUM);let v;return v=_?Os(p,m,h,g):ks(p,m,h,g),Number.isNaN(v)&&(v=0),F.create(v)}},pg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=bs(0,e,t);return Number.isFinite(n)?F.create(n):O.create(S.DIV_BY_ZERO)}},mg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(o)&&(t.push(+o),n+=+o)}}return t.length<=3?O.create(S.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 O.create(S.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 F.create(s)}},hg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return ic(e,+a.getValue())}},gg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=n==null?P.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?P.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=J(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?O.create(S.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=Xs(e,t,t,n,!1);if(i instanceof O)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(S.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(S.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):S.NUM;c=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else c=[a[0]];return R.createByArray(c)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s}=qs(a,i,n,!1);if(Number.isNaN(o))return O.create(S.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):S.NUM;n||(g=S.NA),c=[[o,s],[h,g],[m,_],[v,l],[p,d]]}else c=[[o,s]];return R.createByArray(c)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}},_g=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=n==null?P.create(!0):n;c.isArray()&&(c=c.get(0,0));let l=r==null?P.create(!1):r;l.isArray()&&(l=l.get(0,0));let{isError:u,errorObject:d,variants:f}=J(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?O.create(S.NA):this._getResultByMultipleVariables(e,t,n,r):this._getResultBySimpleVariables(e,t,n,r)}_getResultByMultipleVariables(e,t,n,r){let i=Xs(e,t,t,n,!0);if(i instanceof O)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(S.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(S.NA);let b=u>0?Math.sqrt(g/u):0,x=u>0?_/(d-1)/(g/u):S.NUM;l=[a[0],[...y],[v,b,...f],[x,u,...f],[_,g,...f]]}else l=[a[0]];return R.createByArray(l)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),a=t.flat(),{slope:o,intercept:s,Y:c}=qs(a,i,n,!0);if(Number.isNaN(o))return O.create(S.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=S.NA),l=[[o,s],[h,g],[m,_],[v,i],[p,d]]}else l=[[o,s]];return R.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}},vg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?As(d,f,p):js(d,f,p),F.create(h)}},yg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=this._getRangeValues(e);if(n instanceof O)return n;let r=xo(t);if(r.isError())return r;let{isError:i,errorObject:a,variants:o}=J(r);if(i)return a;let[s]=o,c=+s.getValue();if(c<=0||c>=1)return O.create(S.NUM);if(n.length<2)return O.create(S.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 O.create(S.NUM);let m=Math.abs(Hs(l/2,u-1)*p/Math.sqrt(u));return F.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}},bg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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?F.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},xg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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=F.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?F.create(0):t}_validator(e,t){let n=e.isLessThan(t),r=e;return n.getValue()&&(r=t),r}},Sg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`MAXIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Cg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=O.create(S.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(!(0,c.isRealNum)(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(!(0,c.isRealNum)(e))continue;t.push(+e)}}return t.length===0?O.create(S.NUM):rc(t)}},wg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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?F.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},Tg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=F.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=F.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?F.create(0):t}_validator(e,t){let n=e.isGreaterThan(t),r=e;return n.getValue()&&(r=t),r}},Eg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,255),b(this,`needsReferenceObject`,!0)}calculate(e,...t){let{isError:n,errorObject:r,rangeIsDifferentSize:i,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:s,variants:c}=Ri(t,e);if(n)return r;if(i)return a===1&&o===1?O.create(S.VALUE):z(a,o,O.create(S.VALUE));let l=Bi(c,{formulaName:`MINIFS`,maxRowLength:a,maxColumnLength:o,isNumberSensitive:!0,targetRange:s});return l.length===1&&l[0].length===1?l[0][0]:R.create({calculateValueList:l,rowCount:l.length,columnCount:l[0].length,unitId:this.unitId||``,sheetId:this.subUnitId||``,row:this.row,column:this.column})}},Dg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(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 O(S.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?F.create(n[0]):R.createByArray(n.map(e=>[e]))}},Og=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.NUM);let h;return h=m?Ns(d,f,p):Ps(d,f,p),F.create(h)}},kg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=+o.getValue(),l;return l=c?Fs(s,0,1):Is(s,0,1),F.create(l)}},Ag=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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 O.create(S.DIV_BY_ZERO);let u=s/Math.sqrt(c*l);return F.create(u)}},jg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return sc(e,+a.getValue())}},Mg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=this._getValues(e),i=n==null?F.create(3):n;i.isNull()&&(i=F.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=z(a,o,t,O.create(S.NA)),c=z(a,o,i,O.create(S.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 O)return e;let{isError:r,errorObject:i,variants:a}=J(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 O.create(S.NA);if(u===1)return c===e[0]?F.create(1):O.create(S.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?O.create(S.NUM):(d=Zr(d,l),F.create(d)):O.create(S.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();(0,c.isRealNum)(a)&&r.push(+a)}return r.sort((e,t)=>e-t)}},Ng=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let f=1;for(let e=u-d+1;e<=u;e++)f*=e;return Number.isFinite(f)?F.create(f):O.create(S.NUM)});return n===1&&r===1?o.get(0,0):o}},Pg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);if(u===0)return d===0?F.create(1):F.create(0);let f=u**d;return Number.isFinite(f)?F.create(f):O.create(S.NUM)});return n===1&&r===1?o.get(0,0):o}},Fg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=+i.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return F.create(o)}},Ig=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(l,u,n,O.create(S.NA)),f=z(l,u,c,O.create(S.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}=J(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 O.create(S.NUM);let d=0;for(let n=0;n<e.length;n++)e[n]>=l&&e[n]<=u&&(d+=t[n]);return F.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:O.create(S.VALUE),xRangeValues:[],probRangeValues:[]};if(n*r!==i*a)return{isError:!0,errorObject:O.create(S.NA),xRangeValues:[],probRangeValues:[]};let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?{isError:!0,errorObject:l,xRangeValues:[],probRangeValues:[]}:f?{isError:!0,errorObject:O.create(S.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:u,probRangeValues:d}}},Lg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return lc(e,Math.floor(+a.getValue()))}},Rg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(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?F.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=z(c,l,r,O.create(S.NA)),d=z(c,l,s,O.create(S.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return O.create(S.NA);if(i)return a;if(s.isError())return s;let c=+t.getValue(),l=+s.getValue();return Number.isNaN(c)||Number.isNaN(l)?O.create(S.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 O.create(S.NA);let o=a.reduce((e,t)=>e+t,0)/a.length;return F.create(o)}_checkRefReferenceObject(e){let t=!1,n=O.create(S.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}}},zg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3),b(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?F.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=z(c,l,r,O.create(S.NA)),d=z(c,l,s,O.create(S.NA)),f=u.map((t,n,r)=>{let s=d.get(n,r);if(!e.isReferenceObject()&&e.isNull())return O.create(S.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 O.create(S.VALUE);let u=o.sort((e,t)=>l?e-t:t-e).indexOf(c);return u===-1?O.create(S.NA):F.create(u+1)});return c===1&&l===1?f.get(0,0):f}_checkRefReferenceObject(e){let t=!1,n=O.create(S.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}}},Bg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){if(e.length===0)return O.create(S.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 O.create(S.DIV_BY_ZERO);let u=(s/Math.sqrt(c*l))**2;return F.create(u)}},Vg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(o)&&(t.push(+o),n+=+o)}}return t.length<=2?O.create(S.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 O.create(S.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 F.create(s)}},Hg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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();(0,c.isRealNum)(o)&&(t.push(+o),n+=+o)}}return t.length<=2?O.create(S.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 O.create(S.DIV_BY_ZERO);let o=0;for(let t=0;t<n;t++)o+=((e[t]-r)/a)**3;let s=o/n;return F.create(s)}},Ug=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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()?O.create(S.VALUE):O.create(S.DIV_BY_ZERO);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.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 O.create(S.DIV_BY_ZERO);let l=s/c;return F.create(l)}},Wg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let n=nc(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}=J(t);if(n)return r;let[a]=i;return ac(e,+a.getValue())}},Gg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f=(l-u)/d;return F.create(f)}},Kg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}},qg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.std()}},Jg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O.create(S.VALUE);if(n*r!==i*a)return O.create(S.NA);let{isError:c,errorObject:l,array1Values:u,array2Values:d,noCalculate:f}=Us(e,t,n*r,r,a);return c?l:f?O.create(S.DIV_BY_ZERO):this._getResult(u,d)}_getResult(e,t){let n=e.length;if(n<=2)return O.create(S.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 O.create(S.DIV_BY_ZERO);let u=Math.sqrt((c-s**2/l)/(n-2));return Number.isNaN(u)||!Number.isFinite(u)?O.create(S.NUM):F.create(u)}},Yg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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}=J(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 O.create(S.NUM);let f;return f=d?Bs(l,u):Vs(l,u),Number.isNaN(f)||!Number.isFinite(f)?O.create(S.NUM):F.create(f)}},Xg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Bs(-s,c)*2;return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Zg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Bs(-s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},Qg=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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}=J(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 O.create(S.NUM);let l=Hs(s,c);return Number.isNaN(l)||!Number.isFinite(l)?O.create(S.NUM):F.create(l)}},$g=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,4)}calculate(e,t,n,r){let{isError:i,errorObject:a}=Ws(e,t,n);if(i)return a;let o=Gs(e);if(o instanceof O)return o;let s=this._getKnownXsValues(o,t);if(s instanceof O)return s;let c=this._getNewXsValues(s,n);if(c instanceof O)return c;let l=r==null?P.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?O.create(S.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=Xs(e,t,n,r,!1);if(a instanceof O)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=Wo(u)),R.createByArray(u)}_getResultBySimpleVariables(e,t,n,r){let i=e.flat(),{slope:a,intercept:o}=qs(t.flat(),i,r,!1);if(Number.isNaN(a))return O.create(S.NA);let s=n.map(e=>e.map(e=>a*e+o));return R.createByArray(s)}_getKnownXsValues(e,t){return!t||t.isNull()?Ks(e.length,e[0].length):Gs(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:Gs(t)}},e_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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 O)return e;let{isError:n,errorObject:r,variants:i}=J(t);if(n)return r;let[a]=i,o=+a.getValue();if(o<0||o>=1)return O.create(S.NUM);let s=Zr(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 F.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();(0,c.isRealNum)(a)&&r.push(+a)}return r.length===0?O.create(S.NUM):r.sort((e,t)=>e-t)}},t_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}},n_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,255)}calculate(...e){let t=this.flattenArray(e,!1);return t.isError()?t:t.var()}};const r_=[[Ph,G.AVEDEV],[Ih,G.AVERAGE],[Lh,G.AVERAGE_WEIGHTED],[Rh,G.AVERAGEA],[zh,G.AVERAGEIF],[Bh,G.AVERAGEIFS],[Vh,G.BETA_DIST],[uc,G.BETA_INV],[dc,G.BINOM_DIST],[Hh,G.BINOM_DIST_RANGE],[fc,G.BINOM_INV],[Uh,G.CHISQ_DIST],[pc,G.CHISQ_DIST_RT],[Wh,G.CHISQ_INV],[mc,G.CHISQ_INV_RT],[hc,G.CHISQ_TEST],[gc,G.CONFIDENCE_NORM],[Gh,G.CONFIDENCE_T],[Kh,G.CORREL],[qh,G.COUNT],[Jh,G.COUNTA],[Yh,G.COUNTBLANK],[Xh,G.COUNTIF],[Zh,G.COUNTIFS],[_c,G.COVARIANCE_P],[Qh,G.COVARIANCE_S],[$h,G.DEVSQ],[vc,G.EXPON_DIST],[eg,G.F_DIST],[yc,G.F_DIST_RT],[tg,G.F_INV],[bc,G.F_INV_RT],[xc,G.F_TEST],[ng,G.FISHER],[rg,G.FISHERINV],[ig,G.FORECAST],[ig,G.FORECAST_LINEAR],[ag,G.FREQUENCY],[og,G.GAMMA],[Sc,G.GAMMA_DIST],[Cc,G.GAMMA_INV],[sg,G.GAMMALN],[sg,G.GAMMALN_PRECISE],[cg,G.GAUSS],[lg,G.GEOMEAN],[ug,G.GROWTH],[dg,G.HARMEAN],[fg,G.HYPGEOM_DIST],[pg,G.INTERCEPT],[mg,G.KURT],[hg,G.LARGE],[gg,G.LINEST],[_g,G.LOGEST],[vg,G.LOGNORM_DIST],[wc,G.LOGNORM_INV],[yg,G.MARGINOFERROR],[bg,G.MAX],[xg,G.MAXA],[Sg,G.MAXIFS],[Cg,G.MEDIAN],[wg,G.MIN],[Tg,G.MINA],[Eg,G.MINIFS],[Dg,G.MODE_MULT],[Tc,G.MODE_SNGL],[Og,G.NEGBINOM_DIST],[Ec,G.NORM_DIST],[Dc,G.NORM_INV],[kg,G.NORM_S_DIST],[Oc,G.NORM_S_INV],[Ag,G.PEARSON],[jg,G.PERCENTILE_EXC],[kc,G.PERCENTILE_INC],[Mg,G.PERCENTRANK_EXC],[Ac,G.PERCENTRANK_INC],[Ng,G.PERMUT],[Pg,G.PERMUTATIONA],[Fg,G.PHI],[jc,G.POISSON_DIST],[Ig,G.PROB],[Lg,G.QUARTILE_EXC],[Mc,G.QUARTILE_INC],[Rg,G.RANK_AVG],[zg,G.RANK_EQ],[Bg,G.RSQ],[Vg,G.SKEW],[Hg,G.SKEW_P],[Ug,G.SLOPE],[Wg,G.SMALL],[Gg,G.STANDARDIZE],[Nc,G.STDEV_P],[Pc,G.STDEV_S],[Kg,G.STDEVA],[qg,G.STDEVPA],[Jg,G.STEYX],[Yg,G.T_DIST],[Xg,G.T_DIST_2T],[Zg,G.T_DIST_RT],[Qg,G.T_INV],[Fc,G.T_INV_2T],[Ic,G.T_TEST],[$g,G.TREND],[e_,G.TRIMMEAN],[Lc,G.VAR_P],[Rc,G.VAR_S],[t_,G.VARA],[n_,G.VARPA],[zc,G.WEIBULL_DIST],[Bc,G.Z_TEST]];var i_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.create(0):t;if(t!=null&&t.isNull()&&(n=F.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}=J(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?O.create(S.CALC):I.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}},a_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(n)}},o_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(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)}สตางค์`,I.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 s_=Object.values(c.DataStreamTreeTokenType).filter(e=>[c.DataStreamTreeTokenType.TABLE_START,c.DataStreamTreeTokenType.TABLE_ROW_START,c.DataStreamTreeTokenType.TABLE_CELL_START,c.DataStreamTreeTokenType.TABLE_CELL_END,c.DataStreamTreeTokenType.TABLE_ROW_END,c.DataStreamTreeTokenType.TABLE_END,c.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(e));var c_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<=0)return O.create(S.VALUE);let o=String.fromCharCode(a);return s_.some(e=>e===o)&&(o=``),I.create(o)}},l_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`.replace(/[\0-\x1F]/g,``);return I.create(t)}},u_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t===``)return O.create(S.VALUE);let n=t.charCodeAt(0);return F.create(n)}},d_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(t)}},f_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=z(t,n,i,O.create(S.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 I.create(`${l}${u}`)});return r||O.create(S.VALUE)}},p_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.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 I.create(n)}},m_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2),b(this,`needsLocale`,!0)}calculate(e,t){let n=t==null?F.create(2):t;n.isNull()&&(n=F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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}=J(e,t);if(n)return r;let[a,o]=i,s=+a.getValue(),c=Math.trunc(+o.getValue());if(c>127)return O.create(S.VALUE);c<0&&(s=`${s}`.length<Math.abs(c)?0:s<0?-Xr(Math.abs(s),c):Xr(s,c),c=0);let l=Br(this.getLocale(),s,c);return I.create(l)}},h_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,N.create()),a=z(n,r,t,N.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 P.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 P.create(i)}};const g_=(e,t)=>c.numfmt.format(e,t,{throws:!1}),__=e=>{let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),e.isNumber()&&(t=e.getPattern()===``?`${ui(+e.getValue())}`:g_(e.getPattern(),+e.getValue())),t};var v_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e),i=__(t),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);return u===-1?O.create(S.VALUE):F.create(u+1)}};function y_(e){let t=0;for(let n=0;n<e.length;n++)t+=b_(e,n);return t}function b_(e,t,n=`ltr`){return w_(e,t,n)>255?2:1}function x_(e){return e>=55296&&e<=56319}function S_(e){return e>=56320&&e<=57343}function C_(e,t){return((e&1023)<<10)+(t&1023)+65536}function w_(e,t,n=`ltr`){let r=e.charCodeAt(t);if(n===`ltr`&&x_(r)&&t+1<e.length){let n=e.charCodeAt(t+1);if(S_(n))return C_(r,n)}if(n===`rtl`&&S_(r)&&t-1>=0){let n=e.charCodeAt(t-1);if(x_(n))return C_(n,r)}return r}var T_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e),i=__(t),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);if(u===-1)return O.create(S.VALUE);let d=y_(i.substring(0,u))+1;return F.create(d)}},E_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}calculate(e,t,n){let r=t==null?F.create(2):t;r.isNull()&&(r=F.create(2));let i=n==null?P.create(!1):n;i.isNull()&&(i=P.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=z(a,o,e,O.create(S.NA)),c=z(a,o,r,O.create(S.NA)),l=z(a,o,i,O.create(S.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}=J(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 O.create(S.VALUE);u<0&&(l=`${l}`.length<Math.abs(u)?0:l<0?-Xr(Math.abs(l),u):Xr(l,u),u=0);let f=d?`###0`:`#,##0`;u>0&&(f+=`.${`0`.repeat(u)}`);let p=g_(f,l);return I.create(p)}},D_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);if(s>=n.length)return I.create(n);let c=n.substring(0,s);return I.create(c)}},O_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,N.create()),o=z(r,i,n,N.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);let c=0,l=0,u=``;for(;l<s&&c<n.length;)l+=b_(n,c),u+=n.charAt(c),c++;return I.create(u)}},k_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=__(e);return F.create(t.length)}},A_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=y_(__(e));return F.create(t)}},j_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`.toLocaleLowerCase();return I.create(t)}},M_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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=__(e),{isError:i,errorObject:a,variants:o}=J(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 O.create(S.VALUE);if(e.isNull()||l>r.length||u===0)return I.create(``);let d=r.substring(l-1,l-1+u);return I.create(d)}},N_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(r,i,e,O.create(S.NA)),o=z(r,i,t,O.create(S.NA)),s=z(r,i,n,O.create(S.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=__(e),{isError:i,errorObject:a,variants:o}=J(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 O.create(S.VALUE);if(e.isNull()||l>r.length||u===0)return I.create(``);r=r.substring(l-1);let d=0,f=0,p=``;for(;f<u&&d<r.length;)f+=b_(r,d),p+=r.charAt(d),d++;return I.create(p)}};const P_=[`〇`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`],F_=[`零`,`壹`,`贰`,`叁`,`肆`,`伍`,`陆`,`柒`,`捌`,`玖`],I_=[``,`十`,`百`,`千`],L_=[``,`拾`,`佰`,`仟`],R_=[``,`万`,`亿`,`兆`];var z_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.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?F_[0]:P_[0];break}if(a===3){c+=P_[t];continue}let n=s-e-1,r=n%4,i=Math.trunc(n/4);if(s>=17&&i>2){if(c+=a===1?P_[t]:F_[t],i>3)continue}else t===0?l=r!==0:(l&&(c+=a===1?P_[0]:F_[0],l=!1),c+=a===1?P_[t]+I_[r]:F_[t]+L_[r]);r===0&&i>0&&o.slice(Math.max(0,e-3),e+1)!==`0000`&&(c+=R_[i])}return I.create(c)}},B_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,n){let r=t==null?I.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=z(i,a,e,O.create(S.NA)),s=z(i,a,r,O.create(S.NA)),c=n?z(i,a,n,O.create(S.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()?O.create(S.VALUE):e.isNull()?F.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 O.create(S.VALUE);if(r.trim()===``)return F.create(0);if(!r.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return O.create(S.VALUE);let o=r.split(i);if(o.length>2)return O.create(S.VALUE);let s=o[0].replace(/,/g,``);n&&(s=s.split(a).join(``));let l=0;if(o.length===1){i===`,`&&(s=s.replace(/\./g,``));let e=0;for(;s.endsWith(`%`);)s=s.slice(0,-1),e++;l=e>0?s/100**e:+s}else{if(!(0,c.isRealNum)(s))return O.create(S.VALUE);let e=o[1],t=0;for(;e.endsWith(`%`);)e=e.slice(0,-1),t++;let n=`${s}.${e}`;if(!(0,c.isRealNum)(n))return O.create(S.VALUE);l=t>0?n/100**t:+n}return Number.isNaN(l)?O.create(S.VALUE):F.create(l)}},V_=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.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 H_=()=>[{type:$.RANGE,from:48,to:57}],U_=()=>[{type:$.CHAR,value:95},{type:$.RANGE,from:97,to:122},{type:$.RANGE,from:65,to:90},{type:$.RANGE,from:48,to:57}],W_=()=>[{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}],G_=()=>({type:$.SET,set:U_(),not:!1}),K_=()=>({type:$.SET,set:U_(),not:!0}),q_=()=>({type:$.SET,set:H_(),not:!1}),J_=()=>({type:$.SET,set:H_(),not:!0}),Y_=()=>({type:$.SET,set:W_(),not:!1}),X_=()=>({type:$.SET,set:W_(),not:!0}),Z_=()=>({type:$.SET,set:[{type:$.CHAR,value:10},{type:$.CHAR,value:13},{type:$.CHAR,value:8232},{type:$.CHAR,value:8233}],not:!0});function Q_(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=ev(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(G_());break;case`W`:r.push(K_());break;case`d`:r.push(q_());break;case`D`:r.push(J_());break;case`s`:r.push(Y_());break;case`S`:r.push(X_());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=$_(c.slice(l),e);l+=n[1],r.push({type:$.SET,set:n[0],not:t});break}case`.`:r.push(Z_());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 tv(a,o),t}function $_(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=G_():a?e=q_():o?e=Y_():s?e=K_():c?e=J_():l&&(e=X_()),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 ev(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 tv(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 nv(e,t){if(!rv(e))return{isError:!0,regExp:null};try{let n=new RegExp(e,t?`ug`:`u`);return iv(n)?{isError:!1,regExp:n}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function rv(e){return!(/\(\?<=.*?\)/g.test(e)&&!/\[.*?(\?<=.*?)\]/g.test(e)||/\(\?<!.*?\)/g.test(e)&&!/\[.*?(\?<!.*?)\]/g.test(e))}function iv(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=Q_(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)||av(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 av(e){let t=e.stack||e.value&&e.value.stack;return t?ov(t):!1}function ov(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&&ov(e))return!0}return!1}var sv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=So(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}=nv(c,!1);if(l)return O.create(S.REF);let d=s.match(u);if(d===null)return O.create(S.NA);if(d.length>1){let e=d.slice(1).map(e=>I.create(e));return e.length>1?R.create({calculateValueList:[e],rowCount:1,columnCount:e.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):e[0]}return I.create(d[0])}},cv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,2)}calculate(e,t){let{isError:n,errorObject:r,variants:i}=So(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}=nv(c,!1);return l?O.create(S.REF):s.match(u)===null?P.create(!1):P.create(!0)}},lv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(this,`maxParams`,3)}calculate(e,t,n){let{isError:r,errorObject:i,variants:a}=So(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}=nv(u,!0);if(f)return O.create(S.REF);let m=l.replace(p,d);return I.create(m)}},uv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.VALUE);let d=__(e),f=__(r),p=d.substring(0,l-1)+f+d.substring(l-1+u);return I.create(p)}},dv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,4),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=z(i,a,r,O.create(S.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}=J(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 O.create(S.VALUE);let d=__(e),f=__(r),p=d.substring(0,l-1);d=d.substring(l-1);let m=0,h=0;for(;h<u&&m<d.length;)h+=b_(d,m),m++;return p+=f+d.substring(m),I.create(p)}},fv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e,O.create(S.NA)),a=z(n,r,t,O.create(S.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 O.create(S.VALUE);let s=i.repeat(o);return I.create(s)});return n===1&&r===1?o.get(0,0):o}},pv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);if(s>=n.length)return I.create(n);let c=n.substring(n.length-s);return I.create(c)}},mv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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=__(e),{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;let[o]=a,s=Math.floor(+o.getValue());if(s<0)return O.create(S.VALUE);if(e.isNull()||s===0)return I.create(``);let c=n.length-1,l=0,u=``;for(;l<s&&c>=0;)l+=b_(n,c,`rtl`),u=n.charAt(c)+u,c--;return I.create(u)}},hv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e).toLocaleUpperCase(),i=__(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);return u===-1?O.create(S.VALUE):F.create(u+1)}},gv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,3)}calculate(e,t,n){let r=n==null?F.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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,r,O.create(S.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=__(e).toLocaleUpperCase(),i=__(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:s}=J(n);if(a)return o;let[c]=s,l=Math.floor(+c.getValue());if(t.isNull()||l<=0||l>i.length)return O.create(S.VALUE);if(e.isNull()||r.length===0)return F.create(l);let u=i.indexOf(r,l-1);if(u===-1)return O.create(S.VALUE);let d=y_(i.substring(0,u))+1;return F.create(d)}},_v=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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=z(i,a,e,O.create(S.NA)),s=z(i,a,t,O.create(S.NA)),c=z(i,a,n,O.create(S.NA)),l=r?z(i,a,r,O.create(S.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()?O.create(S.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 O.create(S.VALUE);if(a===``)return I.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),I.create(c)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=``),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}},vv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,1),b(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()?I.create(``):e}},yv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(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=z(n,r,e),a=z(n,r,t),o=i.map((e,t,n)=>{if(e.isError())return e;let r=a.get(t,n)||I.create(` `);if(r.isError())return r;if(r.isBoolean())return O.create(S.VALUE);if(e.isBoolean())return e;let i=e.getValue();if(e.isNull()&&(i=0),e.isString())if((0,c.isRealNum)(i))i=Number(i);else{let e=(0,c.getNumfmtParseValueFilter)(`${i}`);e&&e.v!=null&&typeof e.v==`number`&&(i=e.v)}r.isNull()&&(r=I.create(` `));let o=`${r.getValue()}`,s=g_(o,i);return I.create(o===` `?s.trimEnd():s)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}},bv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?F.create(1):n;s.isNull()&&(o=!0,s=F.create(1));let c=!r,l=r==null?F.create(0):r,u=i==null?F.create(0):i,d=a==null?O.create(S.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=z(f,p,e,O.create(S.NA)),h=z(f,p,s,O.create(S.NA)),g=z(f,p,l,O.create(S.NA)),_=z(f,p,u,O.create(S.NA)),v=z(f,p,d,O.create(S.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 O)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof O)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?O.create(S.VALUE):g.includes(``)?v>0?I.create(h):I.create(``):!o&&Math.abs(v)>h.length?O.create(S.VALUE):g.every(e=>e.length>h.length)?O.create(S.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 P.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=O.create(S.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 O.create(S.NA);if(!u||u<Math.abs(n))return i?n>0?I.create(``):I.create(e):a;let f=e.substr(l+d);return I.create(f)}},xv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=!1,s=n==null?F.create(1):n;s.isNull()&&(o=!0,s=F.create(1));let c=!r,l=r==null?F.create(0):r,u=i==null?F.create(0):i,d=a==null?O.create(S.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=z(f,p,e,O.create(S.NA)),h=z(f,p,s,O.create(S.NA)),g=z(f,p,l,O.create(S.NA)),_=z(f,p,u,O.create(S.NA)),v=z(f,p,d,O.create(S.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 O)return g;let _=this._getVariantsNumberFloorValue(u,d,f);if(_ instanceof O)return _;let[v,y,b]=_;return v===0||y<0||y>1||b<0||b>1?O.create(S.VALUE):g.includes(``)?v>0?I.create(``):I.create(h):!o&&Math.abs(v)>h.length?O.create(S.VALUE):g.every(e=>e.length>h.length)?O.create(S.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 P.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=O.create(S.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 O.create(S.NA);if(!u||u<Math.abs(n))return i?n>0?I.create(e):I.create(``):a;let f=e.substr(0,l);return I.create(f)}},Sv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,3),b(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,P.create(!0),i);if(e===`FALSE`)return this._handleSingleObject(r,P.create(!1),i)}return this._handleSingleObject(r,t,i)}_handleSingleObject(e,t,n){if(e instanceof O)return e;let{isError:r,errorObject:i,variants:a}=J(t);if(r)return i;if(n instanceof O)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 I.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}},Cv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,2),b(this,`maxParams`,6)}calculate(e,t,n,r,i,a){let o=n==null?I.create(`\\s`):n,s=r==null?F.create(0):r,c=i==null?F.create(0):i,l=a==null?I.create(S.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=z(m,h,e,O.create(S.NA)),_=z(m,h,s,O.create(S.NA)),v=z(m,h,c,O.create(S.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=O.create(S.VALUE),!1;let i=this._getRegExpStringValue(e);if(i===``)return n=O.create(S.VALUE),!1;r.push(i)});else{n.isNull()&&t&&(n=O.create(S.VALUE));let e=this._getRegExpStringValue(n);e===``&&(n=O.create(S.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 O.create(S.VALUE);let p=a;if(p.isArray()){let e=p.getRowCount(),t=p.getColumnCount();if(e>1||t>1)return O.create(S.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 O.create(S.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}),R.createByArray(u)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){let n=e[t];if(n.isError())return n}return P.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,`\\$&`)}},wv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g,` `),I.create(t)}};const Tv=Object.values(c.DataStreamTreeTokenType).filter(e=>[c.DataStreamTreeTokenType.TABLE_START,c.DataStreamTreeTokenType.TABLE_ROW_START,c.DataStreamTreeTokenType.TABLE_CELL_START,c.DataStreamTreeTokenType.TABLE_CELL_END,c.DataStreamTreeTokenType.TABLE_ROW_END,c.DataStreamTreeTokenType.TABLE_END,c.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(e));var Ev=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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}=J(e);if(t)return n;let[i]=r,a=Math.floor(+i.getValue());if(a<1||a>1114111)return O.create(S.VALUE);if(a===1114111||a===1114110)return O.create(S.NA);let o=String.fromCharCode(a);return Tv.some(e=>e===o)&&(o=``),I.create(o)}},Dv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());let n=t.charCodeAt(0);return F.create(n)}},Ov=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 I.create(``);let t=`${e.getValue()}`.toLocaleUpperCase();return I.create(t)}},kv=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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 O.create(S.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;let n=+t.getValue();return F.create(n)}},Av=class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(this,`maxParams`,2)}calculate(e,t){let n=t==null?F.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=z(r,i,e,O.create(S.NA)),o=z(r,i,n,O.create(S.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}=J(t);if(n)return r;let[a]=i,o=Math.floor(+a.getValue());if(o<0||o>1)return O.create(S.VALUE);if(e.isNull())return I.create(``);if(e.isBoolean())return e;if(e.isNumber())return F.create(e.getValue());let s=o?`"${e.getValue()}"`:`${e.getValue()}`;return I.create(s)}};const jv=[[a_,K.ASC],[i_,K.ARRAYTOTEXT],[o_,K.BAHTTEXT],[c_,K.CHAR],[l_,K.CLEAN],[u_,K.CODE],[d_,K.CONCAT],[f_,K.CONCATENATE],[p_,K.DBCS],[m_,K.DOLLAR],[h_,K.EXACT],[v_,K.FIND],[T_,K.FINDB],[E_,K.FIXED],[D_,K.LEFT],[O_,K.LEFTB],[k_,K.LEN],[A_,K.LENB],[j_,K.LOWER],[M_,K.MID],[N_,K.MIDB],[z_,K.NUMBERSTRING],[B_,K.NUMBERVALUE],[sv,K.REGEXEXTRACT],[cv,K.REGEXMATCH],[lv,K.REGEXREPLACE],[V_,K.PROPER],[uv,K.REPLACE],[dv,K.REPLACEB],[fv,K.REPT],[pv,K.RIGHT],[mv,K.RIGHTB],[hv,K.SEARCH],[gv,K.SEARCHB],[_v,K.SUBSTITUTE],[vv,K.T],[yv,K.TEXT],[bv,K.TEXTAFTER],[xv,K.TEXTBEFORE],[Sv,K.TEXTJOIN],[Cv,K.TEXTSPLIT],[wv,K.TRIM],[Ev,K.UNICHAR],[Dv,K.UNICODE],[Ov,K.UPPER],[kv,K.VALUE],[Av,K.VALUETOTEXT]],Mv=[];let Nv=function(e){return e}({});function Pv(e){return e.map(e=>e.map(e=>typeof e==`number`?ui(e):e))}function Fv(e,t=!1){if(e.isReferenceObject()){let n=e.toArrayValueObject().toValue();return t?Pv(n):n}else if(e.isArray()){let n=e.toValue();return t?Pv(n):n}else if(e.isNumber()){let n=e.getValue();return t?ui(n):n}return e.getValue()}const Iv=[[class extends Y{constructor(...e){super(...e),b(this,`minParams`,1),b(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=__(e),n=encodeURIComponent(t).replace(/[!~'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return I.create(n)}},sa.ENCODEURL]];var Lv=`@univerjs/engine-formula`,Rv=`0.20.0`,zv=class extends c.Disposable{constructor(...e){super(...e),b(this,`_allSubjects`,[]),b(this,`_computingStatus$`,new l.BehaviorSubject(!0)),b(this,`computingStatus$`,this._computingStatus$.pipe((0,l.distinctUntilChanged)())),b(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=(0,l.combineLatest)(this._allSubjects).pipe((0,l.map)(e=>e.every(e=>e))).subscribe(e=>this._computingStatus$.next(e))}};let Bv=class extends c.Disposable{constructor(e,t){super(),this._commandService=e,this._globalComputingSrv=t,b(this,`_computingCompleted$`,new l.Observable(e=>{this._commandService.onCommandExecuted(t=>{if(t.id!==jn.id)return;let n=t.params;if(n.stageInfo)return e.next(n.stageInfo.stage===Ji.IDLE||n.stageInfo.stage===Ji.CALCULATION_COMPLETED)})}).pipe((0,l.distinctUntilChanged)(),(0,l.shareReplay)()));let n=new c.DisposableCollection,r=new l.BehaviorSubject(!0);n.add(this._globalComputingSrv.pushComputingStatusSubject(r)),n.add(this._computingCompleted$.subscribe(e=>r.next(e))),n.add(()=>r.complete()),this.disposeWithMe(n)}};Bv=vn([j(0,c.ICommandService),j(1,(0,c.Inject)(zv))],Bv);let Vv=class extends c.Disposable{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(){[Vn,Gt,Hn,En,Dn,On,kn,Ln,Rn,An,jn,Mn,zn,Bn,Nn,Pn,Fn,In,Sn,Cn,wn,Tn,Un,Wn,qn,Jn,Yn,Wt].forEach(e=>{var t;this._commandService.registerCommand(e),(t=this._dataSyncPrimaryController)==null||t.registerSyncingMutations(e)})}_registerFunctions(){var e;let t=this._configService.getConfig(Xn),n=[...Do,...Jc,...Yc,...gl,...Wl,...Ju,...vf,...Hf,...cp,...Kp,...wh,...Mh,...r_,...jv,...Mv,...Iv].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)}};Vv=vn([j(0,c.ICommandService),j(1,ma),j(2,c.IConfigService),j(3,(0,c.Optional)(f.DataSyncPrimaryController))],Vv);let Hv=class extends c.Disposable{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===Tn.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===wn.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===Wn.id){let t=e.params;if(t==null)return;this._dependencyManagerService.removeOtherFormulaDependency(t.unitId,t.subUnitId,t.formulaIdList)}else if(e.id===Un.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===Vn.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 c.ObjectMatrix(r).forValue((n,r)=>{this._dependencyManagerService.removeFormulaDependency(e,t,n,r)})}})}})}else e.id===Sn.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)}};Hv=vn([j(0,c.ICommandService),j(1,$a),j(1,Za),j(2,$a)],Hv);let Uv=class extends c.Disposable{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===wn.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===Tn.id){let t=e.params;if(t==null)return;let{featureIds:n,unitId:r,subUnitId:i}=t;this._featureCalculationManagerService.remove(r,i,n)}}))}};Uv=vn([j(0,c.ICommandService),j(1,$a)],Uv);let Wv=class extends c.Disposable{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===Un.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===Wn.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)}}))}};Wv=vn([j(0,c.ICommandService),j(1,to),j(2,Za)],Wv);var Gv=class extends c.Disposable{constructor(...e){super(...e),b(this,`_dirtyConversionMap`,new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}};const Kv=(0,c.createIdentifier)(`univer.formula.active-dirty-manager.service`);let qv=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}({}),Jv=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}({}),Yv=class extends c.Disposable{constructor(e,t,n){super(),this._commandService=e,this._activeDirtyManagerService=t,this._lifecycleService=n,b(this,`_formulaCacheMap`,new Map),b(this,`_formulaChangeWithRange$`,new l.Subject),b(this,`formulaChangeWithRange$`,this._formulaChangeWithRange$.asObservable()),b(this,`_formulaResult$`,new l.Subject),b(this,`formulaResult$`,this._formulaResult$.asObservable()),b(this,`calculateStarted$`,new l.BehaviorSubject(!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}_${(0,c.generateRandomId)(8)}`}_initFormulaRegister(){this._activeDirtyManagerService.register(Ut.id,{commandId:Ut.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(Un.id,o,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Ut.id,{[t]:{[n]:{[i]:!0}}},{onlyLocal:!0})})};this.disposeWithMe(this._formulaChangeWithRange$.pipe((0,l.bufferWhen)(()=>this.calculateStarted$.pipe((0,l.filter)(e=>e)))).subscribe(t=>t.forEach(e))),this.disposeWithMe(this._formulaChangeWithRange$.pipe((0,l.filter)(()=>this.calculateStarted$.getValue())).subscribe(e))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(e.id===Mn.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 c.ObjectMatrix(t),a=new c.ObjectMatrix(r.result);i.forValue((e,t,n)=>{a.setValue(e,t,n)}),r.status=qv.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=Jv.DEFAULT,o=``){let s=this._createFormulaId(e,t,a,o);return this._ensureCacheMap(e,t).set(s,{result:void 0,status:qv.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(Wn.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===qv.SUCCESS||i.status===qv.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=qv.WAIT,this._commandService.executeCommand(Ut.id,{[e]:{[t]:{[n]:!0}}},{onlyLocal:!0}))}};Yv=vn([j(0,c.ICommandService),j(1,Kv),j(2,(0,c.Inject)(c.LifecycleService))],Yv);let Xv=class extends c.Plugin{constructor(e=Zn,t,n){super(),this._config=e,this._injector=t,this._configService=n;let{...r}=(0,c.merge)({},Zn,this._config);this._configService.setConfig(Xn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var e;(0,c.touchDependencies)(this._injector,[[Vv]]),(e=this._config)!=null&&e.notExecuteFormula||(0,c.touchDependencies)(this._injector,[[Wv],[Uv],[Hv],[mo]])}onRendered(){var e;(e=this._config)!=null&&e.notExecuteFormula||(0,c.touchDependencies)(this._injector,[[fo],[lo]])}_initialize(){let e=!this._config.notExecuteFormula,t=[[ma,{useClass:ha}],[bn,{useClass:yn}],[Kv,{useClass:Gv}],[Yv],[qi,{useClass:Ki}],[hr,{useClass:mr}],[Kn,{useClass:Gn}],[zv],[ur],[Vv],[Bv]];e&&t.push([to,{useClass:eo}],[Zi,{useClass:Xi}],[_r,{useClass:gr}],[$a,{useClass:Qa}],[mo],[Wv],[Hv],[Uv],[Ca],[Ja],[vr],[ra],[Sa],[Ma],[Fa],[Ra],[va],[Va],[Ua],[Ga],[qa]),t.forEach(e=>this._injector.add(e))}_initializeWithOverride(){var e;this._injector.add([sr,{useClass:sr}]),(e=this._config)!=null&&e.notExecuteFormula||[[fo,{useClass:po}],[Za,{useClass:Xa}],[lo,{useClass:uo}]].forEach(e=>this._injector.add(e))}};b(Xv,`pluginName`,`UNIVER_ENGINE_FORMULA_PLUGIN`),b(Xv,`packageName`,Lv),b(Xv,`version`,Rv),Xv=vn([j(1,(0,c.Inject)(c.Injector)),j(2,c.IConfigService)],Xv),exports.ActiveDirtyManagerService=Gv,exports.ArrayValueObject=R,exports.AstRootNodeFactory=ra,Object.defineProperty(exports,`AstTreeBuilder`,{enumerable:!0,get:function(){return Ja}}),exports.AsyncArrayObject=Ti,exports.AsyncCustomFunction=Qc,exports.AsyncObject=wi,exports.BaseFunction=Y,exports.BaseReferenceObject=Ci,exports.BaseValueObject=se,exports.BooleanValue=p,exports.BooleanValueObject=P,Object.defineProperty(exports,`CalculateController`,{enumerable:!0,get:function(){return mo}}),Object.defineProperty(exports,`CalculateFormulaService`,{enumerable:!0,get:function(){return po}}),exports.CustomFunction=Zc,exports.DEFAULT_INTERVAL_COUNT=500,exports.DEFAULT_TOKEN_LAMBDA_FUNCTION_NAME=Vt,exports.DEFAULT_TOKEN_LET_FUNCTION_NAME=`LET`,exports.DEFAULT_TOKEN_TYPE_LAMBDA_PARAMETER=`L_1`,exports.DEFAULT_TOKEN_TYPE_PARAMETER=`P_1`,exports.DEFAULT_TOKEN_TYPE_ROOT=`R_1`,Object.defineProperty(exports,`DefinedNamesService`,{enumerable:!0,get:function(){return yn}}),exports.DependencyManagerBaseService=Ya,exports.DependencyManagerService=Xa,exports.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=`CYCLE_REFERENCE_COUNT`,exports.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=Xn,exports.ENGINE_FORMULA_RETURN_DEPENDENCY_TREE=`RETURN_DEPENDENCY_TREE`,exports.ERROR_TYPE_SET=C,exports.ErrorType=S,exports.ErrorValueObject=O,exports.FUNCTION_NAMES_ARRAY=Eo,exports.FUNCTION_NAMES_COMPATIBILITY=Z,exports.FUNCTION_NAMES_CUBE=Xc,exports.FUNCTION_NAMES_DATABASE=hl,exports.FUNCTION_NAMES_DATE=ia,exports.FUNCTION_NAMES_ENGINEERING=V,exports.FUNCTION_NAMES_FINANCIAL=H,exports.FUNCTION_NAMES_INFORMATION=aa,exports.FUNCTION_NAMES_LOGICAL=oa,exports.FUNCTION_NAMES_LOOKUP=U,exports.FUNCTION_NAMES_MATH=W,exports.FUNCTION_NAMES_STATISTICAL=G,exports.FUNCTION_NAMES_TEXT=K,exports.FUNCTION_NAMES_UNIVER=Nv,exports.FUNCTION_NAMES_WEB=sa,exports.FeatureCalculationManagerService=Qa,Object.defineProperty(exports,`FormulaCurrentConfigService`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`FormulaDataModel`,{enumerable:!0,get:function(){return ur}}),Object.defineProperty(exports,`FormulaDependencyGenerator`,{enumerable:!0,get:function(){return uo}}),exports.FormulaDependencyTree=oo,exports.FormulaDependencyTreeModel=so,exports.FormulaDependencyTreeType=ro,exports.FormulaDependencyTreeVirtual=ao,exports.FormulaExecuteStageType=Ji,exports.FormulaExecutedStateType=Yi,exports.FormulaResultStatus=qv,Object.defineProperty(exports,`FormulaRuntimeService`,{enumerable:!0,get:function(){return Xi}}),Object.defineProperty(exports,`FunctionNodeFactory`,{enumerable:!0,get:function(){return Sa}}),exports.FunctionService=ha,exports.FunctionType=Re,exports.GlobalComputingStatusService=zv,Object.defineProperty(exports,`HyperlinkEngineFormulaService`,{enumerable:!0,get:function(){return Ki}}),exports.IActiveDirtyManagerService=Kv,exports.ICalculateFormulaService=fo,exports.IDefinedNamesService=bn,exports.IDependencyManagerService=Za,exports.IFeatureCalculationManagerService=$a,exports.IFormulaCurrentConfigService=_r,exports.IFormulaDependencyGenerator=lo,exports.IFormulaRuntimeService=Zi,exports.IFunctionService=ma,exports.IHyperlinkEngineFormulaService=qi,exports.IOtherFormulaManagerService=to,exports.ISheetRowFilteredService=hr,exports.ISuperTableService=Kn,Object.defineProperty(exports,`Interpreter`,{enumerable:!0,get:function(){return Ca}}),Object.defineProperty(exports,`LambdaNodeFactory`,{enumerable:!0,get:function(){return Ma}}),exports.LambdaParameterNodeFactory=Fa,exports.LambdaValueObjectObject=Aa,Object.defineProperty(exports,`Lexer`,{enumerable:!0,get:function(){return vr}}),exports.LexerNode=M,exports.LexerTreeBuilder=sr,exports.NEW_EXCEL_FUNCTIONS=Nh,exports.NullValueObject=N,exports.NumberValueObject=F,exports.OPERATOR_TOKEN_SET=ne,Object.defineProperty(exports,`OperatorNodeFactory`,{enumerable:!0,get:function(){return Ra}}),exports.OtherFormulaBizType=Jv,exports.OtherFormulaManagerService=eo,exports.OtherFormulaMarkDirty=Ut,Object.defineProperty(exports,`PrefixNodeFactory`,{enumerable:!0,get:function(){return va}}),exports.RangeReferenceObject=Ei,Object.defineProperty(exports,`ReferenceNodeFactory`,{enumerable:!0,get:function(){return Va}}),exports.RegisterFunctionMutation=Wt,Object.defineProperty(exports,`RegisterOtherFormulaService`,{enumerable:!0,get:function(){return Yv}}),exports.RemoveDefinedNameMutation=Cn,exports.RemoveFeatureCalculationMutation=Tn,exports.RemoveOtherFormulaMutation=Wn,exports.RemoveSuperTableMutation=Jn,exports.SUFFIX_TOKEN_SET=ae,exports.SetArrayFormulaDataMutation=Gt,exports.SetCellFormulaDependencyCalculationMutation=Fn,exports.SetCellFormulaDependencyCalculationResultMutation=In,exports.SetDefinedNameMutation=Sn,exports.SetDefinedNameMutationFactory=xn,exports.SetFeatureCalculationMutation=wn,exports.SetFormulaCalculationNotificationMutation=jn,exports.SetFormulaCalculationResultMutation=Mn,exports.SetFormulaCalculationStartMutation=En,exports.SetFormulaCalculationStopMutation=An,exports.SetFormulaDataMutation=Vn,exports.SetFormulaDependencyCalculationMutation=Nn,exports.SetFormulaDependencyCalculationResultMutation=Pn,exports.SetFormulaStringBatchCalculationMutation=On,exports.SetFormulaStringBatchCalculationResultMutation=kn,exports.SetImageFormulaDataMutation=Hn,exports.SetOtherFormulaMutation=Un,exports.SetQueryFormulaDependencyAllMutation=zn,exports.SetQueryFormulaDependencyAllResultMutation=Bn,exports.SetQueryFormulaDependencyMutation=Ln,exports.SetQueryFormulaDependencyResultMutation=Rn,exports.SetSuperTableMutation=qn,exports.SetSuperTableOptionMutation=Yn,exports.SetTriggerFormulaCalculationStartMutation=Dn,exports.SheetRowFilteredService=mr,exports.StringValueObject=I,Object.defineProperty(exports,`SuffixNodeFactory`,{enumerable:!0,get:function(){return Ua}}),exports.SuperTableService=Gn,Object.defineProperty(exports,`UnionNodeFactory`,{enumerable:!0,get:function(){return Ga}}),Object.defineProperty(exports,`UniverFormulaEnginePlugin`,{enumerable:!0,get:function(){return Xv}}),exports.ValueNodeFactory=qa,exports.ValueObjectFactory=bi,exports.compareToken=E,exports.convertUnitDataToRuntime=Rt,exports.deserializeRangeForR1C1=vo,exports.deserializeRangeWithSheet=rn,exports.deserializeRangeWithSheetWithCache=$n,exports.excelDateSerial=de,exports.extractFormulaError=xr,exports.functionArray=Do,exports.functionCompatibility=Jc,exports.functionCube=Yc,exports.functionDatabase=gl,exports.functionDate=Wl,exports.functionEngineering=Ju,exports.functionFinancial=vf,exports.functionInformation=Hf,exports.functionLogical=cp,exports.functionLookup=Kp,exports.functionMath=wh,exports.functionMeta=Mh,exports.functionStatistical=r_,exports.functionText=jv,exports.functionUniver=Mv,exports.functionWeb=Iv,exports.generateAstNode=da,exports.generateExecuteAstNodeData=Oa,exports.generateRandomDependencyTreeId=co,exports.generateStringWithSequence=nr,exports.getAbsoluteRefTypeWitString=Yt,exports.getAbsoluteRefTypeWithSingleString=Jt,exports.getObjectValue=Fv,exports.getRangeWithRefsString=cn,exports.handleNumfmtInCell=Pr,exports.handleRefStringInfo=nn,exports.includeFormulaLexerToken=Ve,exports.initSheetFormulaData=dr,exports.isFormulaLexerToken=Be,exports.isInDirtyRange=Le,exports.isReferenceString=Lt,exports.isReferenceStringWithEffectiveColumn=on,exports.isReferenceStrings=ln,exports.matchRefDrawToken=Ue,exports.matchToken=D,exports.needsQuoting=un,exports.normalizeSheetName=He,exports.operatorToken=T,exports.prefixToken=oe,exports.quoteSheetName=fn,exports.sequenceNodeType=tr,exports.serializeRange=Zt,exports.serializeRangeToRefString=en,exports.serializeRangeWithSheet=Qt,exports.serializeRangeWithSpreadsheet=$t,exports.singleReferenceToGrid=tn,exports.splitTableStructuredRef=_n,exports.strip=ci,exports.stripErrorMargin=ui,exports.unquoteSheetName=pn;