@omegagrid/bundle 0.6.68 → 0.6.70

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.
Files changed (2) hide show
  1. package/omegagrid.js +2 -2
  2. package/package.json +18 -18
package/omegagrid.js CHANGED
@@ -2760,7 +2760,7 @@
2760
2760
  padding-right: 2px;
2761
2761
  }
2762
2762
 
2763
- `,Nf={enabled:!1,includeChildren:!0,includeParents:!0},Pf={enabled:!0,reversed:!1},jf={ROW_HEIGHT:22,RESIZE_TRESHOLD:10,ROW_HEADER_WIDTH:60,SLIDER_SIZE:12,EXPANDER_SIZE:13,MAX_CACHE_ITEMS:5e3,CACHE_CLEAN_INTERVAL:30,COMMENT_HIDE_TIMEOUT:1e3,SELECTOR_BORDER_WIDTH:2,MIN_ROW_HEIGHT:5,MIN_COL_WIDTH:5,SPARKLINE_GAP:4,AUTOSCROLL_TRESHOLD:100,AUTOSCROLL_RATIO:1.1,AUTOSCROLL_INTERVAL:100,DEFAULT_SPARKLINE_OPTIONS:{minValue:"auto",maxValue:"auto",type:"line",style:{color:"0094FF",weight:1},marker:{color:"ff0000"}},DEFAULT_OPTIONS:{rows:100,columns:20,readOnly:!1,rowNumbers:!0,rowPriority:2,rowTree:{enabled:!0},columnTree:{enabled:!0},colLetters:!0,emptyPlaceholder:!0,freezeTop:0,fontSize:12,rowHeight:22,rowResize:!0,columnWidth:100,columnResize:!0,columnPriority:1,freezeLeft:0,freezeRight:0,freezeBottom:0,maxSortingColumns:3,numberFormat:null,levelIndentFactor:2,cellIndentFactor:10,emptyClickable:!1,grid:!0,autofill:!0,undoRedo:!0,commandWindow:!0,cellCache:!0,singleCellModel:!1,zoom:1,editing:{rowInsertion:!0,rowDeletion:!0,colInsertion:!0,colDeletion:!0,rowOutline:!0,colOutline:!0,dateCalendarEditor:!1},comments:{hideTimeout:1e3,offsetX:30,offsetY:-30,zIndex:500,headerPosition:"top"},scrolling:{verticalOverscroll:!0,horizontalOverscroll:!0,scrollbarVisibilityTreshold:100},selecting:{enabled:!0,multiSelect:!0},events:{click:{mouseMoveTreshold:10}},clipboard:{pasteProps:["v","dv"],rowPasteMode:"rewrite_append",columnPasteMode:"rewrite"},print:{dpi:600,margins:{left:6.35,right:6.35,top:19.05,bottom:19.05,header:7.62,footer:7.62},orientation:"portrait",paper:"A4"}},...U},Vf=/^(?!.*[\\\/\*\[\]\:\?"])(.{1,31})$/;function Bf(t){return Vf.test(t)}function Ff(t){return["\\","/","*","[","]",":","?",'"'].forEach((e=>t=t.replace(new RegExp(`\\${e}`,"g"),""))),t}function Wf(t,e){return!isNaN(t)&&null!=t||!isNaN(e)&&null!=e||(t=null==t?"":lt(t.toString()).toLowerCase(),e=null==e?"":lt(e.toString()).toLowerCase()),t>e?1:t<e?-1:0}function Uf(t,e){const i=X(e);return X(t)?(t=t.toString().trim()).startsWith("=")?0==Wf(e,i?t.substring(1):parseFloat(t.substring(1))):t.startsWith(">=")?Wf(e,i?t.substring(2):parseFloat(t.substring(2)))>=0:t.startsWith("<=")?Wf(e,i?t.substring(2):parseFloat(t.substring(2)))<=0:t.startsWith(">")?Wf(e,i?t.substring(1):parseFloat(t.substring(1)))>0:t.startsWith("<")?Wf(e,i?t.substring(1):parseFloat(t.substring(1)))<0:0==Wf(e,i?t:isNaN(t)?t||"":parseFloat(t)):e==t}const Gf=new Map([["=",["==",1,0]],[">",[">",1,0]],["<",["<",1,0]],[">=",[">=",1,0]],["<=",["<=",1,0]],["+",["+",2,0]],["-",["-",2,0]],["*",["*",3,0]],["/",["/",3,0]]]),Yf=t=>["=",">","<",">=","<="].includes(t),qf=t=>["+","-","*","/"].includes(t),Zf=t=>qf(t)||Yf(t);function Xf(t,e,i){switch(i){case"+":return t+e;case"-":return t-e;case"*":return t*e;case"/":return t/e;case"=":return 0==Wf(t,e);case">":return Wf(t,e)>0;case"<":return Wf(t,e)<0;case">=":return Wf(t,e)>=0;case"<=":return Wf(t,e)<=0;default:throw new Error(`Invalid operator: ${i}`)}}function Qf(t,e,i){const o=Array.isArray(t),n=Array.isArray(e);if(!o&&!n)return[[Xf(t,e,i)]];const r=Math.max(o?t.length:0,n?e.length:0),s=Math.max(o?t[0].length:0,n?e[0].length:0),a=[];for(let l=0;l<r;l++){const r=[];for(let a=0;a<s;a++){const s=o?t[l]?.[a]:t,c=n?e[l]?.[a]:e,h=null==s&&null==c?null:Xf(s,c,i);r.push(h)}a.push(r)}return a}var Kf;!function(t){t[t.Number=0]="Number",t[t.Boolean=1]="Boolean",t[t.String=2]="String",t[t.StringQuote=3]="StringQuote",t[t.Function=4]="Function",t[t.ArgumentSeparator=5]="ArgumentSeparator",t[t.OpenBracket=6]="OpenBracket",t[t.CloseBracket=7]="CloseBracket",t[t.Operator=8]="Operator",t[t.Cell=9]="Cell",t[t.Variable=10]="Variable",t[t.Range=11]="Range",t[t.Sheet=12]="Sheet",t[t.SheetQuote=13]="SheetQuote",t[t.SheetSeparator=14]="SheetSeparator",t[t.Unknown=15]="Unknown",t[t.Operand=16]="Operand"}(Kf||(Kf={}));const Jf=t=>t===Kf.Number||t===Kf.Boolean||t===Kf.String||t===Kf.Cell||t===Kf.Variable||t===Kf.Range,tv=t=>t>=48&&t<=57,ev=t=>"true"===(t=t.toLowerCase())||"false"===t,iv=t=>t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=687,ov={decimalPoint:".",stringQuote:'"',sheetQuote:"'",argumentSeparator:","};class nv{constructor(t){this.options=Object.assign(ov,t)}tokenize(t){const e=[],i=t.length;let o,n,r,s,a=0,l="",c=!1,h=!1,d=!1;for(;a<i;){if(o=t.charAt(a),n=o.charCodeAt(0),"="==o&&0==a)++a;else if(tv(n)){for(l=(d?"-":"")+o,++a;a<i;)if(o=t.charAt(a),n=o.charCodeAt(0),tv(n))l+=o,++a;else{if(o!==this.options.decimalPoint)break;l+=".",++a}d=!1,e.push([l,Kf.Number])}else if(iv(n)||"$"==o){l=o,r=null,++a;do{if(o=t.charAt(a),n=o.charCodeAt(0),iv(n)||tv(n)||"."===o||"$"===o||"_"===o)"_"==o?r=Kf.Variable:tv(n)&&!c&&null==r&&(r=Kf.Cell),l+=o,++a,a==i&&e.push([l,r||Kf.Variable]);else{if("("==o){e.push([l.toUpperCase(),Kf.Function]),e.push([o,Kf.OpenBracket]),++a;break}if("'"==o)e.push([l,Kf.Sheet]),l="",e.push([o,Kf.SheetQuote]),c=!0,++a;else if(":"==o)r=Kf.Range,l+=o,++a;else{if(!c||" "!=o){if("!"==o){""!==l&&e.push([l,Kf.Sheet]),e.push([o,Kf.SheetSeparator]),c=!1,l="",++a;break}e.push([l,r||(ev(l)?Kf.Boolean:Kf.Variable)]);break}l+=o,++a}}}while(a<i)}else if(Zf(o)){if("-"===o&&tv(t.charCodeAt(a+1))&&(null==s||"("==s[0]||Yf(s[0])||s[1]==Kf.ArgumentSeparator))d=!0;else{for(l=o;Yf(t.charAt(a+1));)l+=t.charAt(++a);e.push([l,Kf.Operator])}++a}else if("("===o)e.push([o,Kf.OpenBracket]),++a;else if(")"===o)e.push([o,Kf.CloseBracket]),++a;else if("'"===o)e.push([o,Kf.SheetQuote]),c=!0,++a;else if(o===this.options.argumentSeparator)e.push([o,Kf.ArgumentSeparator]),++a;else if(o===this.options.stringQuote){for(h=!1,e.push([o,Kf.StringQuote]),l="";++a<i;){if(o=t.charAt(a),o===this.options.stringQuote){h=!0,++a;break}l+=o}e.push([l,Kf.String]),h&&e.push([this.options.stringQuote,Kf.StringQuote])}else e.push([o,Kf.Unknown]),++a;s=e[e.length-1]}return e}}function rv(t,e,i=null,o=!0){return t+=e,0==e?t:t>=0?i?o?t%i:Math.min(t,i-1):t:o&&i?i+t%i:Math.max(t,0)}const sv=/(?:'?([\w\s]*)'?!)?(\$?)([a-z]*)(\$?)(\d*)(?::(\$?)([a-z]*)(\$?)(\d*))?/i;class av{constructor(t,e,i,o,n){this.setCoords(t,e,i,o),this.sheet=n}setCoords(t,e,i,o){this.c1=null==t&&null==i?0:t,this.r1=null==e&&null==o?0:e,this.c2=null==o&&null!=t||null!=i?null==i?t:i:1/0,this.r2=null==i&&null!=e||null!=o?null==o?e:o:1/0,this.normalize()}get size(){return{columns:this.c2-this.c1+1,rows:this.r2-this.r1+1}}get count(){const{columns:t,rows:e}=this.size;return t*e}normalize(){const[t,e]=[Math.min(this.c1,this.c2),Math.max(this.c1,this.c2)],[i,o]=[Math.min(this.r1,this.r2),Math.max(this.r1,this.r2)];return this.c1=t,this.c2=e,this.r1=i,this.r2=o,this}move(t,e,i=null,o=null,n=!0){const r=rv(this.c1,t,i,n);n&&(e+=this.c1+t!=r&&0!=t?t>0?1:-1:0),this.c1=r,this.r1=rv(this.r1,e,o,n),this.c2=rv(this.c2,t,i,n),this.r2=rv(this.r2,e,o,n)}contains(t){return t.c1>=this.c1&&t.c2<=this.c2&&t.r1>=this.r1&&t.r2<=this.r2}containsColumn(t){return this.c1<=t&&this.c2>=t}containsRow(t){return this.r1<=t&&this.r2>=t}removeAnchors(){return this.c1Anchor=!1,this.c2Anchor=!1,this.r1Anchor=!1,this.r2Anchor=!1,this}addAnchors(){return this.c1Anchor=!0,this.c2Anchor=!0,this.r1Anchor=!0,this.r2Anchor=!0,this}shiftLeft(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1-=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2-=e),this}shiftRight(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1+=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2+=e),this}shiftUp(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1-=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2-=e),this}shiftDown(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1+=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2+=e),this}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,ignoreAnchors:r}=t;switch(o){case"down":return this.shiftDown(e,i,n,r);case"up":return this.shiftUp(e,i,n,r);case"left":return this.shiftLeft(e,i,n,r);case"right":return this.shiftRight(e,i,n,r)}}intersect(t){this.normalize(),t.normalize();const e=Math.max(t.c1,this.c1),i=Math.min(t.c2,this.c2),o=Math.max(t.r1,this.r1),n=Math.min(t.r2,this.r2);return e<=i&&o<=n?new av(e,o,i,n,this.sheet):null}unite(t){return this.normalize(),t.normalize(),new av(Math.min(this.c1,t.c1),Math.min(this.r1,t.r1),Math.max(this.c2,t.c2),Math.max(this.r2,t.r2),this.sheet)}clone(){const t=new av(this.c1,this.r1,this.c2,this.r2,this.sheet);return t.c1Anchor=this.c1Anchor,t.r1Anchor=this.r1Anchor,t.c2Anchor=this.c2Anchor,t.r2Anchor=this.r2Anchor,t}equals(t,e=!1){return t.c1==this.c1&&t.r1==this.r1&&t.c2==this.c2&&t.r2==this.r2&&(0==e||t.c1Anchor==this.c1Anchor&&t.r1Anchor==this.r1Anchor&&t.c2Anchor==this.c2Anchor&&t.r2Anchor==this.r2Anchor)}get isCell(){return this.c2==this.c2&&this.r2==this.r1}get isRange(){return this.c2!=this.c1||this.r2!=this.r1}get isColumn(){return 0==this.r1&&this.r2==1/0}get isRow(){return 0==this.c1&&this.c2==1/0}get A1(){const t=this.isRange,e=(this.c1Anchor?"$":"")+(0!==this.c1||this.c2!==1/0?hv(this.c1):"")+(0===this.r1&&this.r2===1/0?"":(this.r1Anchor?"$":"")+lv(this.r1)),i=t?(this.c2Anchor?"$":"")+(!isNaN(this.c2)&&this.c2<1/0?hv(this.c2):"")+(this.r2Anchor?"$":"")+(!isNaN(this.r2)&&this.r2<1/0?lv(this.r2):""):e;return(null==this.sheet?"":((o=this.sheet).indexOf(" ")>-1?"'"+o+"'":o)+"!")+(e==i?e:e+":"+i);var o}get bounds(){return[[new av(this.c1,this.r1),this.c2<1/0?new av(this.c2,this.r1):null],[this.r2<1/0?new av(this.c1,this.r2):null,this.r2<1/0&&this.c2<1/0?new av(this.c2,this.r2):null]]}*cells(){for(let t=this.r1;t<=this.r2;t++)for(let e=this.c1;e<=this.c2;e++)yield new av(e,t)}static fromA1(t){const e=sv.exec(t),i=new av(e[3]?dv(e[3]):null,e[5]?cv(e[5]):null,e[7]?dv(e[7]):null,e[9]?cv(e[9]):null,e[1]||null);return!e[2]&&e[3]||(i.c1Anchor=!0),!e[4]&&e[5]||(i.r1Anchor=!0),(e[6]||e[2]&&!e[7])&&(i.c2Anchor=!0),(e[8]||e[4]&&!e[9])&&(i.r2Anchor=!0),i}}function lv(t){return(t+1).toString()}function cv(t){return parseInt(t)-1}function hv(t){++t;let e,i="";for(;t>0;)e=(t-1)%26,i=String.fromCharCode(e+65)+i,t=(t-e-1)/26;return i}function dv(t){const e=t.length;let i=0;for(let o=0;o<e;o++)i+=(t.charCodeAt(o)-64)*Math.pow(26,e-o-1);return i-1}function uv(t){return t.sort(((t,e)=>{const i=Math.min(t.r1,t.r2),o=Math.min(e.r1,e.r2),n=Math.min(t.c1,t.c2),r=Math.min(e.c1,e.c2);return i<o?-1:i>o?1:n<r?-1:r>n?1:0}))}function pv(t){return t.formula.cells.map((e=>t.cell.model.getCellByRange(e[1])))}function gv(t){let e=t;for(;Array.isArray(e);)e=e.length>0?e[0]:null;return e}function mv(t){return Array.isArray(t)?t:[[t]]}function fv(t,e,i,o){if(!Array.isArray(t))return e(t,i,o);for(let o=0;o<t.length;o++)if(!1===fv(t[o],e,null==i?o:i,null==i?void 0:o))return!1}av.fromA1s=(t,e=";")=>t.split(e).map((t=>av.fromA1(t))),av.toA1s=(t,e=";")=>t.map((t=>t.A1)).join(e),av.fromCoords=t=>new av(t.c1,t.r1,t.c2,t.r2),av.fullColumn=t=>new av(t,0,t,1/0),av.fullRow=t=>new av(0,t,1/0,t);const vv=new Set(["SUMPRODUCT","FILTER"]),bv=t=>vv.has(t),yv=t=>!!(t&&t.length>0&&"="==t.charAt(0)),wv=t=>yv(t)?t:"="+(t??""),xv=t=>yv(t)?t.substring(1):t,kv=["#5B97FF","#FF616B","#B77CFF","#00B02C","#FC58BE","#FF9000","#2EB0B3"],Cv=t=>kv[t%kv.length],Mv=new Map([["FORMULATEXT","_xlfn."],["CONCAT","_xlfn."],["INDIRECT","_xlfn."],["ISOWEEKNUM","_xlfn."],["SWITCH","_xlfn."],["XOR","_xlfn."]]);class _v{get fn(){return this._fn??(this._fn=new Function("t","ctx","return "+this.compile()))}get tokens(){return this._tokens}get variables(){return this._variables}get cells(){return this._cells}get ranges(){return this._ranges}get colors(){if(!this._colors){let t;this._colors=new Map,this._tokens.forEach(((e,i)=>{if([Kf.Cell,Kf.Range].includes(e[1])){const o=(t?"'"+t+"'!":"")+e[0];this._colors.set(o,{color:Cv(this._colors.size),address:e[0],sheet:t,type:e[1],tokenIndex:i}),t=null}else e[1]==Kf.Sheet&&(t=e[0])}))}return this._colors}constructor(t,e){this.expression=t,this.tokenizer=e,this._tokens=e.tokenize(this.expression),this.updateDependecies()}findTokenIndexAtPosition(t){let e=0;return this._tokens.findIndex((i=>{const o=i[0].length;if(t>=e&&t<=e+o)return!0;e+=o}))}findSheetTokenIndex(t){const e=this._tokens[t];if(![Kf.Cell,Kf.Range].includes(e[1]))return-1;if(0==t||this._tokens[t-1][1]!=Kf.SheetSeparator)return-1;let i=t-2;for(;i>=0;){if(this._tokens[i][1]==Kf.Sheet)return i;i--}return-1}removeSheetToken(t){if(this._tokens[t][1]!=Kf.Sheet&&(t=this.findSheetTokenIndex(t)),t>-1){t>0&&this._tokens[t-1][1]==Kf.SheetQuote&&t--;let e=t;for(;e<this._tokens.length&&[Kf.SheetSeparator,Kf.SheetQuote,Kf.Sheet].includes(this._tokens[e][1]);)e++;return this._tokens.splice(t,e-t),e-t}return 0}getNamedColor(t){return this.colors.get(t)?.color??"inherit"}getTokenPosition(t){let e=0;for(let i=0;i<t;i++)e+=this._tokens[i][0].length;return{min:e,max:e+this._tokens[t][0].length}}updateToken(t,e){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens[t][0]=e}removeToken(t){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens.splice(t,1)}insertToken(t,e,i){this._fn=null,this._formula=null,this._xlFormula=null;const o=[];return i==Kf.Sheet&&/\s/.test(e)?(o.push([this.tokenizer.options.sheetQuote,Kf.SheetQuote]),o.push([e,Kf.Sheet]),o.push([this.tokenizer.options.sheetQuote,Kf.SheetQuote])):o.push([e,i]),o.push(["!",Kf.SheetSeparator]),this._tokens.splice(t,0,...o),o.length}clone(){return new _v(this.createFormulaString(),this.tokenizer)}updateDependecies(){let t;this._variables=[],this._cells=[],this._ranges=[],this._tokens.forEach(((e,i)=>{switch(e[1]){case Kf.Sheet:t=e[0];break;case Kf.Variable:this._variables.push([i,e[0],t]),t=void 0;break;case Kf.Cell:this._cells.push([i,av.fromA1(e[0]),t]),t=void 0;break;case Kf.Range:this._ranges.push([i,av.fromA1(e[0]),t]),t=void 0}}))}createFormulaString(t=!1,e=!1){const i=this.tokenizer.options;let o,n,r,s="";for(let l=0;l<this._tokens.length;l++)switch(o=this._tokens[l],o[1]){case Kf.SheetQuote:s+="'";break;case Kf.SheetSeparator:s+="!";break;case Kf.Sheet:n=o[0],s+=t?`<span style="font-style:italic">${n}</span>`:n;break;case Kf.Variable:s+=o[0];break;case Kf.Range:case Kf.Cell:r=(n?"'"+n+"'!":"")+o[0],s+=t?`<span style="color:${this.getNamedColor(r)}">${o[0]}</span>`:o[0],n=null;break;case Kf.StringQuote:s+=i.stringQuote;break;case Kf.String:s+=o[0].replace(new RegExp(i.stringQuote,"g"),"\\"+i.stringQuote);break;case Kf.ArgumentSeparator:s+=i.argumentSeparator;break;case Kf.Function:s+=(e?(a=o[0],Mv.get(a)??""):"")+o[0];break;case Kf.Unknown:s+=t?`<span style="background:#f00;color:#fff">${o[0]}</span>`:o[0];break;default:s+=o[0]}var a;return s}createExpressionTree(){const t=[],e=[],i=this.tokens;let o,n,r,s,a,l=null;for(let c=0;c<i.length;c++)switch(o=i[c],o[1]){case Kf.Sheet:l=o[0];break;case Kf.Cell:case Kf.Range:t.push({t:o[0],tt:o[1],s:l}),l=null;break;case Kf.Number:case Kf.String:case Kf.Boolean:case Kf.Variable:t.push({t:o[0],tt:o[1]});break;case Kf.Operator:for(0==t.length&&t.push({t:"",tt:Kf.Operand}),r=Gf.get(o[0]);e.length>0&&(s=Gf.get(e[e.length-1][0]),s)&&(0===r[2]&&r[1]<=s[1]||1===r[2]&&r[1]<s[1]);)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case Kf.Function:case Kf.OpenBracket:e.push(o);break;case Kf.ArgumentSeparator:for(;e.length>0&&(n=e[e.length-1],![Kf.OpenBracket,Kf.ArgumentSeparator].includes(n[1]));)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case Kf.CloseBracket:for(a=[];e.length>0&&e[e.length-1][1]!==Kf.OpenBracket;)n=e.pop(),n[1]==Kf.Operator?a.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()}):n[1]==Kf.ArgumentSeparator&&t.length>0&&a.push(t.pop());e.pop(),e.length>0&&e[e.length-1][1]===Kf.Function?(n=e.pop(),a=a.reverse(),t.length>0&&i[c-1][1]!==Kf.OpenBracket&&a.unshift(t.pop()),t.push({t:n[0],tt:n[1],c:a})):t.push(...a)}for(;e.length>0;)n=e.pop(),t.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()});return t.pop()}createExpressionJSCode(t,e,i){let o;switch(t.tt){case Kf.Range:return"t.rn('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case Kf.Cell:return"t.cl('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case Kf.Operand:return"t.cl()";case Kf.Variable:return i||e?.tt===Kf.Function?"t.nr('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")":"t.nv('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case Kf.String:return"'"+t.t.replace(/'/g,"\\'")+"'";case Kf.Boolean:return"T"==t.t[0].toUpperCase()?"1":"0";case Kf.Function:return o=t.c.map((e=>this.createExpressionJSCode(e,t,i||bv(t.t)))),"t.fn('"+t.t+"').call(ctx"+(o.length>0?","+o.join(","):"")+")";case Kf.Operator:return i?(o=t.c.map((e=>this.createExpressionJSCode(e,t,i||bv(t.t)))),"t.op("+o[0]+","+o[1]+",'"+t.t+"')"):Gf.has(t.t)?"("+t.c.map((e=>this.createExpressionJSCode(e,t,i))).join(Gf.get(t.t)[0])+")":null;default:return t.t}}compile(){const t=this.createExpressionTree();return this.createExpressionJSCode(t)}toString(t=!1){return(t?"=":"")+(this._formula??(this._formula=this.createFormulaString()))}toExcelString(){return this._xlFormula??(this._xlFormula=this.createFormulaString(!1,!0))}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,sheet:r,allSheets:s}=t;return this._cells&&this._cells.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this._ranges&&this._ranges.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this}hasSheetReference(t){for(const e of this._cells)if(e[2]==t)return!0;for(const e of this._ranges)if(e[2]==t)return!0;for(const e of this._variables)if(e[2]==t)return!0;return!1}renameSheet(t,e){let i=!1;return this._tokens.forEach((o=>{o[1]==Kf.Sheet&&o[0]==t&&(o[0]=e,i=!0)})),i}}function Sv(t,e){return e&&(t=Qo(this.cell.model.options.locale,on(e,"d"),!1)(t)),null==t?"":t.toString()}function Ev(t,e){return(t=null==t?"":t.toString()).substring(0,e)}function zv(t,e){return(t=null==t?"":t.toString()).substring(Math.max(0,t.length-e),t.length)}function Rv(t,e,i){return(t=null==t?"":t.toString()).substring(e,e+i)}function Lv(...t){let e="";return fv(t,(t=>e+=null==t?"":t.toString())),e}function Iv(t){return t instanceof Date?t:X(t)?To(t,fo()):Fo(t)}function Hv(t){return J(t)?t:Bo(t instanceof Date?t:To(t,fo()))}function Tv(t){return X(t)?Hv(t):t}function Av(t,e){const i=Iv(t).getDay();switch(e){case 2:return i;case 3:return i-1;default:return i%7+1}}function Ov(t,e,i){return Wo(Hv(gv(t)),e)}function $v(){return Bo(re(new Date))}function Dv(t){return null==(t=gv(t))||""===t}function Nv(t,e,i){return Bo(new Date(t,e-1,i))}function Pv(t){return Iv(t).getFullYear()}function jv(t){return Iv(t).getMonth()+1}function Vv(t){return Iv(t).getDate()}function Bv(t,e){const i=Iv(t);return i.setMonth(i.getMonth()+e+1),i.setDate(0),Bo(i)}function Fv(t){return bi(Iv(t))}function Wv(t){return Math.acos(t)}function Uv(t){return Math.acosh(t)}function Gv(t){return Math.PI/2-Math.atan(t)}function Yv(t){return.5*Math.log((t+1)/(t-1))}function qv(t){return Math.asin(t)}function Zv(t){return Math.asinh(t)}function Xv(t){return Math.atan(t)}function Qv(t){return Math.atanh(t)}function Kv(t){return Math.cos(t)}function Jv(t){return Math.cosh(t)}function tb(t){return 1/Math.tan(t)}function eb(t){return 1/Math.tanh(t)}function ib(t){return 1/Math.sin(t)}function ob(t){return 1/Math.sinh(t)}function nb(t){return 180*t/Math.PI}function rb(){return Math.PI}function sb(t){return 1/Math.cos(t)}function ab(t){return 1/Math.cosh(t)}function lb(t){return Math.sin(t)}function cb(t){return Math.sinh(t)}function hb(t){return Math.tan(t)}function db(t){return Math.tanh(t)}function ub(t){return Math.abs(t)}function pb(t){if(t<0)throw new Error("#NUM");return Math.ceil(t)}function gb(t){return(t=Math.ceil(t))%2==0?t:t+1}function mb(t){return Math.pow(Math.E,t)}function fb(t){return t<0?-1:0==t?1:t*fb(t-1)}function vb(t){return t<=0?1:t*vb(t-2)}function bb(t){return Math.floor(t)}function yb(t){return t%1!=0}function wb(t){return!yb(t)&&t%2==0}function xb(t){return yb(t)||t%2==1}function kb(t){return Math.log(t)}function Cb(t,e){return Math.log(t)/Math.log(e)}function Mb(t){return Math.log10(t)}function _b(t,e){return t%e}function Sb(t){return(t=Math.ceil(t))%2==0?t+1:t}function Eb(t,e){return Math.pow(t,e)}function zb(...t){let e=1;return fv(t,(t=>e*=t||1)),e}function Rb(t,e){return Math.floor(t/e)}function Lb(t){return t*Math.PI/180}function Ib(){return Math.random()}function Hb(t,e){const i=Array(t).fill(null).map((()=>Array(e)));for(let o=0;o<t;o++)for(let t=0;t<e;t++)i[o][t]=Math.random();return i}function Tb(t,e){return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t}function Ab(t,e){return t.toFixed(e)}function Ob(t,e){return e=e||0,Math.floor(t*Math.pow(10,e))/Math.pow(10,e)}function $b(t,e){return e=e||0,Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)}function Db(t,e,i=1,o=1){const n=Array(t).fill(null).map((()=>Array(e)));let r=i;for(let i=0;i<t;i++)for(let t=0;t<e;t++)n[i][t]=r,r+=o;return n}function Nb(t){return t<0?-1:t>0?1:0}function Pb(t){return Math.sqrt(t)}function jb(t){return Math.sqrt(Math.PI*t)}function Vb(...t){let e=0;return fv(t,(t=>e+=null==t?0:1)),e}function Bb(...t){let e=0;return fv(t,(t=>e+=null==t?1:0)),e}function Fb(t,e){let i=0;return fv(t,(t=>i+=Uf(e,t)?1:0)),i}function Wb(...t){let e=0;const i=new Map;return fv(t,(t=>{i.has(t)||(i.set(t,t),++e)})),e}function Ub(...t){let e=0;return fv(t,(t=>e+=isNaN(t)||null==t||""===t?0:t)),e}function Gb(t,e,i){let o=0;if(i){const n=mv(i);fv(t,((t,i,r)=>o+=Uf(e,t)&&n[i]&&n[i][r]&&!isNaN(n[i][r])?n[i][r]:0))}else fv(t,(t=>o+=Uf(e,t)&&!isNaN(t)?t:0));return o}function Yb(t,e){let i=0;return fv(t,(t=>i+=Uf(e,t)&&!isNaN(t)?t*t:0)),i}function qb(...t){let e=0;const i=t.shift();if(0===t.length)fv(i,(t=>e+=isNaN(t)?0:t));else{const o=mv(t[0]);fv(i,((t,i,n)=>e+=o[i]&&o[i][n]&&!isNaN(t)&&!isNaN(o[i][n])?t*o[i][n]:0))}return e}function Zb(t,e){return t=null==t?"":t.toString(),e?e=>e==t:(t=t.toLowerCase(),e=>(e??"").toString().toLowerCase()==t)}function Xb(t,e,i=1){const o=new av(Math.max((e||0)-1,0),Math.max((t||0)-1,0));return 1!=i&&2!=i||(o.r1Anchor=!0),1!=i&&3!=i||(o.c1Anchor=!0),o.A1}function Qb(t,e,i,o=!1){let n,r;const s=Zb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[n][i-1];return null}function Kb(t,e,i,o=!1){let n,r;const s=Zb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[i-1][r];return null}function Jb(t,e,i){let o,n;t:for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++)if(e[o][n]==t)break t;return i?i[o]?i[o][n]:null:e[o][e[o].length-1]}function ty(t,...e){let i=null,o=0;return fv(e,(e=>{if(t==++o)return i=e,!1})),i}function ey(t){return(t?av.fromA1(t).c1:this.cell.c)+1}function iy(t){return(t?av.fromA1(t).r1:this.cell.r)+1}function oy(t){return Array.isArray(t)?t[0]?.length:1}function ny(t){return Array.isArray(t)?t.length:1}function ry(){const t=pv(this)[0];return t&&t.hasFormula?" "+wv(t.formula):""}function sy(t,e,i){return e=e||1,i=i||1,Array.isArray(t)?t[e-1]?t[e-1][i-1]:null:1==e&&1==i?t:null}function ay(t){const e=this.cell,i=e.model,o=i.getCellByA1(t);let n;return i.calculations.dependencies.cellDependencies.has(e.address)?n=i.calculations.dependencies.cellDependencies.get(e.address):(n=new Map,i.calculations.dependencies.cellDependencies.set(e.address,n)),n.set(o.address,[o.range]),i.calculations.dependencies.cellDependants.has(o.address)?n=i.calculations.dependencies.cellDependants.get(o.address):(n=new Map,i.calculations.dependencies.cellDependants.set(o.address,n)),n.set(e.address,[e.range]),o.value}function ly(t,e,i=0){let o,n;for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++){if(0==i&&e[o][n]==t)return Math.max(o+1,n+1);if(1==i&&e[o][n]>t)return Math.max(o+1,n+1);if(-1==i&&e[o][n]<t)return Math.max(o+1,n+1)}return null}function cy(t,e,i,o,n){const r=pv(this)[0],s=[];o=o||1,n=n||1;for(let t=0;t<o;t++){const o=[];for(let s=0;s<n;s++){const n=r.model.rows[r.r+t+e].cell(r.c+s+i);o.push(n?r.value:null)}s.push(o)}return s}function hy(t,e){const i=[];if(t.length==e.length)for(let o=0;o<t.length;o++){let n=!0;for(let t=0;t<e[o].length;t++)if(!e[o][t]){n=!1;break}n&&i.push(t[o])}return i}const dy=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],uy=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]];function py(t){const e=t*t;let i,o=dy[0][4]*e,n=e;for(i=0;i<3;i+=1)o=(o+dy[0][i])*e,n=(n+uy[0][i])*e;return t*(o+dy[0][3])/(n+uy[0][3])}function gy(...t){let e=!0;return fv(t,(t=>{if(!t)return e=!1})),e}function my(...t){let e=!1;return fv(t,(t=>{if(t)return e=!0})),e}function fy(...t){let e=null;return fv(t,(t=>{e=null===e?!!t:!!t!=e})),e}function vy(...t){const e=t[0];for(let i=1;i<t.length;i+=2){if(i==t.length-1)return t[i];if(e==t[i])return t[i+1]}return null}function by(t,e,i){return t?e:i}function yy(t){return!t}function wy(){return!1}function xy(){return!0}function ky(t,e){return e=""===e?null:e,this.cell.hasError?(this.cell.error.handled=!0,e):t===1/0||t===-1/0||Number.isNaN(t)?e:t}var Cy=i(235),My=i.n(Cy),_y=i(5949),Sy=i.n(_y);function Ey(...t){let e=0,i=0;return fv(t,(t=>{null==t||isNaN(t)||(e+=t||0,++i)})),e/i}function zy(t,e){const i=Sy()(),o=mv(t),n=mv(e);for(let t=0;t<o.length;t++)for(let e=0;e<o[t].length;e++)i(o[t][e],(n[t]?n[t][e]:1)??1);return i()}function Ry(...t){const e=function(t){const e=[];return fv(t,(t=>e.push(t))),e}(t),i=My()(e.length,e,1);return e.reduce(((t,e)=>t+Math.abs(e-i)),0)/e.length}function Ly(...t){let e=1/0;return fv(t,(t=>e=Math.min(e,t))),e}function Iy(...t){let e=-1/0;return fv(t,(t=>e=Math.max(e,t))),e}function Hy(t,e){Object.keys(e).forEach((i=>t.set(rt(i,"_").replace(/_/g,".").toUpperCase(),e[i])))}const Ty=new Map;Hy(Ty,M),Hy(Ty,_),Hy(Ty,S),Hy(Ty,E),Hy(Ty,R),Hy(Ty,z),Hy(Ty,L);class Ay{constructor(t){this.model=t,this.getModel=t=>{const e=t?this.model.getConnectedModel(t):this.model;if(e)return e;throw new Error(`Sheet "${t}" not found`)},this.cl=(t,e)=>{const i=this.getModel(e);if(null==t)return this.currentCell.value;const o=i.getCellByA1(t);return o?o.value:(this.currentCell.error={message:`undefined cell ${t}`},null)},this.rn=(t,e)=>this.getModel(e).getValuesInRange(av.fromA1(t)),this.nv=(t,e)=>this.getModel(e).getCellByName(t,this.currentCell.range).value,this.nr=(t,e)=>{const i=this.getModel(e).getValueMatrixByName(t);return 1===i.length&&1===i[0].length?i[0][0]:i},this.fn=t=>{const e=Ty.get(t);if(e)return e;throw new Error(`Function "${t}" not found`)},this.op=(t,e,i)=>Qf(t,e,i)}}function Oy(t,e){const i=Array(e).fill(null);let o=0,n=[];if(t.length>1){n=t.map((t=>parseFloat(t.value)||0)),o=n[1]-n[0];for(let t=2;t<n.length;t++)if(n[t]-n[t-1]!==o){o=0;break}}if(0==o)for(let o=0;o<e;o++)i[o]=t[o%t.length]?.value;else{let t=n[n.length-1];for(let n=0;n<e;n++)t=i[n]=t+o}return i}function $y(t,e,i){const o=new _v(t.formula,t.model.calculations.tokenizer),n=[];for(let t=0;t<i;t++)n.push(wv(o.shift({index:0,offset:1,direction:e,allSheets:!0}).createFormulaString()));return n}function Dy(t,e,i,o){const n=t.getCellMatrix(e);let r;"right"==o?r=Hn(n):"down"==o?r=In(n):"left"==o?r=Rn(n):"up"==o&&(r=Rn(In(n)));const s=new Array(i.size.rows);for(let t=0;t<i.size.rows;t++){s[t]=new Array(i.size.columns);for(let e=0;e<i.size.columns;e++){const i=n.length>t?n[t][n[t].length>e?e:0]:n[0][e];s[t][e]=i.hasDisplayValue?i.displayValue:null}}const a=i.size["down"==o||"up"==o?"rows":"columns"];let l=r.map((t=>t[t.length-1].hasFormula?$y(t[t.length-1],o,a):Oy(t,a)));return"down"==o?l=In(l):"left"==o?l=Rn(l):"up"==o&&(l=Ln(In(l))),t.spillValues({cell:t.getCellByRange(i.bounds[0][0]),values:l,propertyCell:t.getCellByRange(e.bounds[0][0]),displayValues:s})}function Ny(t){return t.pattern&&"string"==typeof t.pattern&&(t.pattern=new RegExp(t.pattern)),t}function Py(t,e){const i=t.validation;if(!i)return!0;if(i.allowInvalid)return!0;let o=!0;return i.pattern&&(i.pattern.test((e??"").toString())||(o=!1)),i.validate&&(i.validate(t,e)||(o=!1)),o}class jy{get address(){return null}get renderer(){return this._renderer}set renderer(t){this._renderer=t}get afterRenderer(){return this._afterRenderer}set afterRenderer(t){this._afterRenderer=t}get commentRenderer(){return this._commentRenderer}set commentRenderer(t){this._commentRenderer=t}get type(){return this._type}set type(t){this._type=t}get name(){return this._name}set name(t){this._name=t}get style(){return this._style}set style(t){this._style=t}get commentable(){return this._commentable}set commentable(t){this._commentable=t}get clickable(){return this._clickable}set clickable(t){this._clickable=t}get editable(){return this._editable}set editable(t){this._editable=t}get validation(){return this._validation}set validation(t){this._validation=t}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){this._formula=t?t.replace(/^=/,""):null}get value2(){return this.hasFormula?wv(this.formula):null}get editorContent(){return this._editorContent}set editorContent(t){this._editorContent=t}get adapter(){return this._adapter}set adapter(t){this._adapter=t}get properties(){return this._properties}set properties(t){this._properties=t}getProperty(t){return this._properties?.[t]}setProperty(t,e){this._properties||(this._properties={}),this._properties[t]=e}get format(){return this._format}set format(t){this._format=t,this._valueFormatter=null}get valueFormatter(){return this._valueFormatter}constructor(t,e){this.model=t,this._type=null,this._clickable=!1,e&&this.populate(e)}populate(t){this._renderer=t.renderer,this._afterRenderer=t.afterRenderer,this._commentRenderer=t.commentRenderer,this._name=t.name,this._type=t.t,this._editorContent=t.content,this._adapter=t.adapter,this._format=t.z,this._formula=t.f,this._editable=t.e,this._commentable=t.commentable,this._clickable=t.clickable,this._validation=t.validation?Ny(t.validation):null,this._properties=t.props,this._style=null==t.s?null:this.model.styles.add(t.s).id}update(t){const e={};if("renderer"in t&&(e.renderer=this._renderer,this._renderer=t.renderer),"afterRenderer"in t&&(this._afterRenderer=t.afterRenderer),"commentRenderer"in t&&(this._commentRenderer=t.commentRenderer),"name"in t&&(e.name=this._name,this._name=t.name),"t"in t&&(e.t=this._type,this._type=t.t),"content"in t&&(e.content=this._editorContent,this._editorContent=t.content),"adapter"in t&&(e.adapter=this._adapter,this._adapter=t.adapter),"z"in t&&(e.z=this._format,this._format=t.z),"f"in t&&(e.f=this._formula,this._formula=t.f),"e"in t&&(e.e=this._editable,this._editable=t.e),"commentable"in t&&(e.commentable=this._commentable,this._commentable=t.commentable),"clickable"in t&&(e.clickable=this._clickable,this._clickable=t.clickable),"validation"in t&&(e.validation=this._validation,this._validation=Ny(t.validation)),"props"in t&&(e.props=this._properties,this._properties=t.props),"s"in t){const i=this.model.styles.add(t.s).id;this._style!==i&&(e.s=this._style,this._style=i)}return e}getSourceData(){const t={};return null!=this._type&&(t.t=this._type),null!=this._format&&(t.z=this._format),null!=this._formula&&(t.f=this._formula),null!=this._editable&&(t.e=this._editable),null!=this._commentable&&(t.commentable=this._commentable),null!=this._clickable&&(t.clickable=this._clickable),this._properties&&(t.props=ot(this._properties)),null!=this._editorContent&&(t.content=q(this._editorContent)?ot(this._editorContent):this._editorContent),null!=this._style&&(t.s=this._style),null!=this._name&&(t.name=this._name),t}setStyleProperties(t,e=!1){this.style=e?this.model.styles.set(this.style,t).id:this.model.styles.duplicate(this.style,t).id}removeStyleProperties(t){null!==this.style&&this.model.styles.unset(this.style,t)}get composedStyle(){return this.model.styles.get(this.style)}}function Vy(t){const e={};return t.split(";").forEach((t=>{const[i,o]=t.split(":");e[i]=o.trim()})),e}const By=new Map([["thin",{width:1.5,style:"solid"}],["medium",{width:2,style:"solid"}],["thick",{width:3,style:"solid"}],["double",{width:3,style:"double"}],["dotted",{width:1.5,style:"dotted"}],["hair",{width:1,style:"solid"}],["dashed",{width:1.5,style:"dashed"}],["mediumDashed",{width:2,style:"dashed"}],["dashDot",{width:1.5,style:"dashed"}],["mediumDashDot",{width:2,style:"dashed"}],["dashDotDot",{width:1.5,style:"dotted"}],["mediumDashDotDot",{width:2,style:"dotted"}],["slantDashDot",{width:1.5,style:"dashed"}],["none",{width:1.5,style:"solid"}]]),Fy=(()=>{const t=new Map;return By.forEach(((e,i)=>{let o=t.get(e.style);o||(o=t.set(e.style,new Map).get(e.style)),o.set(e.width,i)})),t})();function Wy(t){return"middle"==t?"center":t}function Uy(t){return 3==(t="#"==t.charAt(0)?t.substring(1):t).length?t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t}const Gy=t=>{if("none"==t)return null;const e=t.split(" "),i=parseInt(e[0].charAt(0))||1,o=e.length>1?e[1]:"solid",n=Fy.get(o);return{style:(n?n.get(i):null)??"thin",color:e.length>2?Uy(e[2]):"CCCCCC"}},Yy=t=>{const e=By.get(t.style||"none");return e?[Ot(e.width),e.style,"none"==t.style?"var(--og-cell-background)":t.color?`#${t.color}`:"var(--og-border-color)"].join(" "):"none"},qy=(t,e)=>{const i="#"+(e.fgColor||"000000"),o="#"+(e.bgColor||"FFFFFF");switch(e.patternType){case"solid":t.backgroundColor=i||o;break;case"darkGray":t.backgroundColor=wn(o,.75);break;case"mediumGray":t.backgroundColor=wn(o,.5);break;case"lightGray":t.backgroundColor=wn(o,.25);break;case"gray125":t.backgroundColor=wn(o,.125);break;case"gray0625":t.backgroundColor=wn(o,.0625);break;case"darkHorizontal":t.backgroundImage=`linear-gradient(0deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkVertical":t.backgroundImage=`linear-gradient(90deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkDown":t.backgroundImage=`linear-gradient(45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkUp":t.backgroundImage=`linear-gradient(-45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"lightHorizontal":t.backgroundImage=`linear-gradient(0deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightVertical":t.backgroundImage=`linear-gradient(90deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightDown":t.backgroundImage=`linear-gradient(45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightUp":t.backgroundImage=`linear-gradient(-45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"darkGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px";break;case"darkTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px"}return t},Zy=(t,e)=>(t.backgroundImage=`linear-gradient(${(e.angle??0)+90}deg,${e.stops.map((t=>`#${t.rgb} ${100*t.v}%`)).join(",")})`,t),Xy=t=>{const e=t.cssStyle?{...t.cssStyle}:{};return null!=t.bold&&(e.fontWeight=t.bold?"bold":"normal"),t.italic&&(e.fontStyle="italic"),t.underline?e.textDecoration="underline":t.strike&&(e.textDecoration="line-through"),t.sz&&(e.fontSize=At(t.sz)),t.color&&(e.color="#"+t.color),t.top&&(e.borderTop=Yy(t.top)),t.right&&(e.borderRight=Yy(t.right)),t.bottom&&(e.borderBottom=Yy(t.bottom)),t.left&&(e.borderLeft=Yy(t.left)),(t.top||t.right||t.bottom||t.left)&&(e.zIndex="1"),t.alignment&&t.alignment.vertical?(e.display="flex",e.justifyContent=t.alignment.horizontal,e.alignItems="top"==t.alignment.vertical?"start":"bottom"==t.alignment.vertical?"end":"center"):t.alignment&&t.alignment.horizontal&&(e.textAlign=t.alignment.horizontal),t.alignment&&t.alignment.wrapText&&(e.display="flex",e.justifyContent=e.justifyContent??e.textAlign??"left",e.alignItems=e.alignItems??"center",e.whiteSpace="pre-wrap"),t.patternType?qy(e,t):t.stops&&t.stops.length?Zy(e,t):t.fgColor?e.backgroundColor="#"+t.fgColor:t.bgColor&&(e.backgroundColor="#"+t.bgColor),e},Qy=t=>{const e=q(t)?t:Vy(t),i={};let o;for(const t in e){const n=e[t];if(null!=n)switch(t){case"borderTop":case"border-top":i.top=Gy(n);break;case"borderTopColor":case"border-top-color":i.top?i.top.color=Uy(n):i.top={style:"thin",color:Uy(n)};break;case"borderRight":case"border-right":i.right=Gy(n);break;case"borderRightColor":case"border-right-color":i.right?i.right.color=Uy(n):i.right={style:"thin",color:Uy(n)};break;case"borderBottom":case"border-bottom":i.bottom=Gy(n);break;case"borderBottomColor":case"border-bottom-color":i.bottom?i.bottom.color=Uy(n):i.bottom={style:"thin",color:Uy(n)};break;case"borderLeft":case"border-left":i.left=Gy(n);break;case"borderLeftColor":case"border-left-color":i.left?i.left.color=Uy(n):i.left={style:"thin",color:Uy(n)};break;case"border":o=Gy(n),i.top=i.top||o,i.right=i.right||o,i.bottom=i.bottom||o,i.left=i.left||o;break;case"textAlign":case"text-align":i.alignment=i.alignment||{},i.alignment.horizontal=n;break;case"verticalAlign":case"vertical-align":i.alignment=i.alignment||{},i.alignment.vertical=Wy(n);break;case"whiteSpace":case"white-space":i.alignment=i.alignment||{},i.alignment.wrapText=n&&"nowrap"!=n;break;case"color":i.color=Uy(n);break;case"background":case"backgroundColor":i.fgColor=Uy(n);break;case"fontSize":case"font-size":i.sz=parseFloat(n);break;case"fontWeight":case"font-weight":i.bold="bold"==n;break;case"fontStyle":case"font-style":i.italic="italic"==n;break;default:i[t]=n}}return i},Ky={n:t=>{const e=X(t)?parseFloat(t):t;return Number.isNaN(e)?t:e},t:t=>t,d:(t,e)=>X(t)?Q(t)?K(t):Bo(To(t,e.model.options.formatLocale)):t instanceof Date?Bo(t):t,tm:t=>X(t)?new Date(t):t,dt:t=>X(t)?new Date(t):t,b:t=>!!t&&"0"!==t&&"false"!==t.toString().toLowerCase(),s:t=>t,m:t=>t,g:t=>{if(null==t)return null;const e=parseFloat(t);return isNaN(e)?t:e},a:t=>X(t)&&""!==t?JSON.parse(t):t,h:t=>t},Jy=new Map;class tw extends jy{get tooltip(){return this._tooltip}set tooltip(t){this._tooltip=t}get hasTooltip(){return null!=this._tooltip}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=t}get colspan(){return this._colspan}set colspan(t){this._colspan=t}get r(){return this.row.index}get c(){return this.column.index}get hasValue(){return null!=this._value}get value(){return this._evaluated||this.evaluate(),this._value}set value(t){if(t&&yv(t.toString()))this._value=void 0,this.formula=t;else{let e=Ky[this.type](t,this);Py(this,e)||(e=void 0),e!==this._value&&(this._value=e,this._displayValue=void 0),this.row.data&&this.column.data&&(this.row.data[this.column.data]=this._value)}}evaluate(){return this._value=Ky[this.type](this.model.calculations.evaluate(this),this),this._evaluated=!0,this._value}get value2(){return this.hasFormula?wv(this.formula):this.value}get hasDisplayValue(){return null!=this._displayValue}get displayValue(){return this._displayValue}set displayValue(t){this._displayValue=t}get prefersDisplayValue(){return["s","m"].includes(this.type)}get error(){return this._error}set error(t){this._error=t}get hasError(){return!!this._error}clearError(){this._error=void 0}get spillRange(){return this._spillRange}get prevSpillRange(){return this._prevSpillRange}set spillRange(t){!this._spillRange||t&&this._spillRange.equals(t)||(this._prevSpillRange=this._spillRange),this._spillRange=t}get isSpillSource(){return null!=this._spillRange}get spillSource(){return this._spillSource}get isSpilled(){return null!=this._spillSource}spillValue(t,e){this.value=t,this._spillSource=e}clearSpilledValue(){this._spillSource=void 0,this._value=void 0}get hasSparkline(){return null===this._sparkline?this._sparkline=this.model.sparklines.has(this.address):this._sparkline}get hasComment(){return null===this._hasComment?this._hasComment=(this.model.comments.get(this.address)??[]).length>0:this._hasComment}get comments(){return this.model.comments.get(this.address)}get valueFormatter(){const t=super.valueFormatter??this.row.valueFormatter??this.column.valueFormatter;if(t)return t;const e=this.type,i=this.format,{formatLocale:o,fixNumberFormat:n}=this.model.options,r=this.value;if(null==r||""===r)return null;if("n"==e)return null!=i?Qo(o,i,n):this.model.options.numberFormatter;if("g"==e){if(null!=i)return Qo(o,i,n);if(J(r))return this.model.options.numberFormatter}else{if("t"==e)return null==i?null:Qo(o,i,!1);if("d"==e)return i?Ao(o,i):this.model.options.dateFormatter;if("s"==e&&this.editorContent)return(t=>{if(t=t||null,!Jy.has(t))if(t){const e=t.reduce(((t,e)=>t.set(e.k,e.v)),new Map);Jy.set(t,(t=>e.has(t)?e.get(t):t))}else Jy.set(t,(t=>t));return Jy.get(t)})(this.editorContent)}return null}get formattedValue(){return null==this.value?"":this.hasDisplayValue?this.displayValue:this.valueFormatter?this.valueFormatter(this.value):this.value.toString()}get elm1(){return this.row.priority>=this.column.priority?this.row:this.column}get elm2(){return this.row.priority<this.column.priority?this.row:this.column}get clickable(){return super.clickable??this.elm1.clickable??this.elm2.clickable}get type(){return super.type??this.elm1.type??this.elm2.type??"g"}set type(t){this._type=t}get editorContent(){return super.editorContent??this.elm1.editorContent??this.elm2.editorContent??null}get adapter(){return super.adapter??this.elm1.adapter??this.elm2.adapter}set adapter(t){this._adapter=t}get address(){return this.column.address+this.row.address}get range(){return av.fromA1(this.address)}get validation(){return super.validation??this.elm1.validation??this.elm2.validation??this.model.options.cellValidation}get editable(){return super.editable??this.elm1.editable??this.elm2.editable??this.model.options.editable}set editable(t){this._editable=t}get commentable(){return super.commentable??this.elm1.commentable??this.elm2.commentable??this.model.options.commentable}get renderer(){return super.renderer??this.elm1.renderer??this.elm2.renderer}get afterRenderer(){return super.afterRenderer??this.elm1.afterRenderer??this.elm2.afterRenderer??this.model.options.afterRenderer}get commentRenderer(){return super.commentRenderer??this.elm1.commentRenderer??this.elm2.commentRenderer??this.model.options.comments.renderer}get format(){return super.format??this.elm1.format??this.elm2.format}set format(t){super.format=t}get hyperlink(){return this._hyperlink}set hyperlink(t){this._hyperlink=t}get hasOwnFormula(){return!!this._formula}get hasFormula(){return null==this._hasFormula&&(this._hasFormula=!!this.formula),this._hasFormula}get formula(){return this._formula??this.elm1.formula??this.elm2.formula}set formula(t){super.formula=t,this.refreshFormula()}invalidateValue(){this.hasFormula?(this._value=void 0,this._evaluated=!1):this._evaluated=!0,this.clearError()}refreshFormula(){this.invalidateValue(),this._hasFormula=null}clearFormula(){this._formula=null,this._hasFormula=!1,this._evaluated=!0}constructor(t,e){super(t),this._evaluated=!0,this._sparkline=null,this._hasComment=null,this._hasStyle=null,this.row=t.rows[e.r],this.column=t.columns[e.c],this.populate(e)}populate(t){super.populate(t),this._colspan=t.cs??1,this._rowspan=t.rs??1,this._tooltip=t.tooltip,this._hyperlink=t.hl,null!=t.f?this._evaluated=!1:null!=t.v&&(this.value=t.v),this._displayValue=t.dv}update(t){const e=super.update(t);return"cs"in t&&(e.cs=this._colspan,this._colspan=t.cs),"rs"in t&&(e.rs=this._rowspan,this._rowspan=t.rs),"tooltip"in t&&(e.tooltip=this._tooltip,this._tooltip=t.tooltip),"hl"in t&&(e.hl=this._hyperlink,this._hyperlink=t.hl),"f"in t?this._evaluated=!1:"v"in t&&(e.v=this.value,this.value=t.v),"dv"in t&&(e.dv=this._displayValue,this._displayValue=t.dv),e}getSourceData(t){const e=super.getSourceData();return this._colspan>1&&(e.cs=this._colspan),this._rowspan>1&&(e.rs=this._rowspan),null!=this.value&&(e.v=this.value),this.hasTooltip&&(e.tooltip=this._tooltip),this._hyperlink&&(e.hl=this._hyperlink),t&&t.displayValue&&this.hasDisplayValue&&(e.dv=this._displayValue),e}createComposedStyle(t,e,i){const o=[];return t=t||this.column.style,e=e||this.row.style,null!=t&&null!=e?this.column.priority>this.row.priority?o.push(e,t):o.push(t,e):null!=t?o.push(t):null!=e&&o.push(e),null!=this.style&&o.push(this.style),null!=i&&o.push(i),o.length>0?this.model.styles.merge(...o):null}get composedStyle(){if(null===this._hasStyle){const t=this.createComposedStyle(null,null,this.model.conditionalFormats.evaluate(this));this._hasStyle=null!=t,this._composedStyle=t}return this._composedStyle}get calculatedIndent(){const t=this.composedStyle;return t?.alignment?.indent?t.alignment.indent:this.column.levelIndent&&this.row.level>0?this.row.level*this.model.options.levelIndentFactor:null}get cssStyle(){if(!1===this._hasStyle)return null;if(!this._cssStyle){const t=this.composedStyle;t&&(this._cssStyle=Xy(t))}return this._cssStyle}invalidateStyle(){this._hasComment=null,this._hasStyle=null,this._composedStyle=null,this._cssStyle=null,this._sparkline=null}setStyleProperties(t){super.setStyleProperties(t),this.invalidateStyle()}removeStyleProperties(t){super.removeStyleProperties(t),this.invalidateStyle()}previewStyleProperties(t,e="cell"){const i=Object.assign({},this.createComposedStyle("column"==e?t:null,"row"==e?t:null)??{});if("cell"==e)for(const e in t)i[e]=t[e];this._hasStyle=!0,this._cssStyle=Xy(i)}validate(){return!this.validation||Py(this,this.value)}toString(){return this.address}}const ew={property:"value",enabled:!0};class iw extends(mn(jy)){get comparer(){return this._comparer}set comparer(t){this._comparer=t}get filter(){return this._filter??(this.model.options.filters?.enabled?ew:{enabled:!1})}set filter(t){this._filter=t}get hasFilter(){return this.filter.enabled}get sorting(){return this._sorting??this.model.options.columnSorting}set sorting(t){this._sorting=t}get width(){return this._width??this.model.options.columnWidth}set width(t){this._width=t}get levelIndent(){return this._levelIndent}set levelIndent(t){this._levelIndent=t}get levelButtons(){return this._levelButtons}set levelButtons(t){this._levelButtons=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return hv(this.index)}get range(){return new av(this.index,null,this.index,null)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t;const e=this.index;this.model.rows.forEach((t=>t.cells[e]?.refreshFormula()))}constructor(t,e){super(t,e),null==this._priority&&(this._priority=t.options.columnPriority)}get mergedHeaders(){return this._mergedHeaders??(this._mergedHeaders=this._header?.filter((t=>t.cs>1||t.rs>1))??[])}updateMergedHeaders(){this._mergedHeaders=null}set header(t){this._mergedHeaders=null,this._header=t}get header(){if(!this._header||this._header.length<this.model.headerCount){this._header=this._header??[];for(let t=this._header.length;t<this.model.headerCount;t++)this._header.push({r:t})}return this._header}convertSourceHeader(t){return Array.isArray(t)?t.map(((t,e)=>(null==(t=t??{r:e}).height&&(t.height=t.h),t.r=e,null==t.style&&(t.style=t.s),t._style=null==t.style?null:this.model.styles.add(t.style).id,t))):X(t)?[{label:t,r:0}]:null}populate(t){super.populate(t),this._width=null==t.w||"auto"==t.w?null:t.w,this._levelIndent=t.levelIndent,this._levelButtons=t.levelButtons,this._header=this.convertSourceHeader(t.header),this._sorting=t.sorting,this._filter=q(t.filter)?Object.assign({enabled:!0},t.filter):t.filter?ew:!1===t.filter?{enabled:!1}:null,this._comparer=t.comparer,this.data=t.data,this._mergedHeaders=null,null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._width&&(t.w=this._width),null!=this._levelIndent&&(t.levelIndent=this._levelIndent),null!=this._levelButtons&&(t.levelButtons=this._levelButtons),null!=this._header&&(t.header=this._header),null!=this._sorting&&(t.sorting=this._sorting),null!=this._filter&&(t.filter=this._filter),null!=this.data&&(t.data=this.data),t}expand(t){super.expand(t),this.model.indexVisibleColumns()}collapse(){super.collapse(),this.model.indexVisibleColumns()}get prev(){return this.model.columns[this.index-1]}get next(){return this.model.columns[this.index+1]}get prevVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t||0===t?null:this.model.visibleColumns[t-1]}get nextVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t?null:this.model.visibleColumns[t+1]}calculateRealColspan(t){let e=1,i=this.nextVisible;for(;i&&i.index-this.index<t&&e<t;)++e,i=i.nextVisible;return e}cell(t){return this.model.rows[t].cell(this.index)}clearCalculatedValues(){this.model.rows.forEach((t=>{const e=t.cells[this.index];e&&this.model.calculations.refreshFormula(e)}))}}var ow;!function(t){t[t.Asc=1]="Asc",t[t.Desc=-1]="Desc"}(ow||(ow={}));const nw={g:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,t:(t,e)=>(t.value||"").toString().localeCompare((e.value||"").toString()),s:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,m:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,n:(t,e)=>t.value-e.value,d:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),tm:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),dt:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),b:(t,e)=>t.value-e.value,h:(t,e)=>(t.value||"").localeCompare(e.value),a:()=>0},rw={g:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,t:(t,e)=>(e.value||"").toString().localeCompare((t.value||"").toString()),s:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,m:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,n:(t,e)=>e.value-t.value,d:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),tm:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),dt:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),b:(t,e)=>e.value-t.value,h:(t,e)=>(e.value||"").localeCompare(t.value),a:()=>0},sw=(t,e)=>t.origIndex-e.origIndex;class aw{get settings(){return this._settings}set settings(t){this._settings=t,this.colMap.clear(),this.settings.length>0&&(this.settings.forEach(((t,e)=>this.colMap.set(t.c,e))),this.applySort(),un().info(`sorting applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=[]){this.model=t,this.colMap=new Map,this._settings=[],this.settings=e}get(t){return this.colMap.has(t)?this.settings[this.colMap.get(t)]:null}sort(t,e=null,i=!1){let o=this.get(t);return o&&o.ord==ow.Desc&&null===e?(this.settings.splice(this.colMap.get(t),1),o=null):o?(o.ord=ow.Desc,this.settings.splice(this.colMap.get(t),1)):o={c:t,ord:ow.Asc},o&&(null!==e&&(o.ord=e),this.colMap.set(t,0),this.settings.unshift(o)),this.settings.length>this.model.options.maxSortingColumns&&this.settings.pop(),this.colMap.clear(),this.settings.forEach(((t,e)=>{t.index=e,this.colMap.set(t.c,e)})),i||(this.settings.length>0?this.applySort():this.resetSort()),o}applySort(){const t=this.model,e=this.settings.map((e=>{const i=t.columns[e.c];return i?i.comparer?e.ord==ow.Asc?i.comparer:(t,e)=>-i.comparer(t,e):e.ord==ow.Asc?nw[i.type??"t"]:rw[i.type??"t"]:(un().warn(`Column sorting: Column with index ${e.c} not found`),null)})).filter((t=>t)),i=e.length;let o,n,r;t.rowRoot.sort(((t,s)=>{if(!1===t.sortable||!1===s.sortable)return t.origIndex-s.origIndex;for(n=0;n<i;n++)if(r=this.settings[n].c,o=e[n](t.cell(r),s.cell(r)),0!=o)return o;return 0})),t.indexRowsByTree()}resetSort(){this.settings=[],this.colMap.clear(),this.model.rowRoot.sort(sw),this.model.indexRowsByTree()}persistSort(){this.model.rows.forEach(((t,e)=>t.origIndex=e))}}class lw{get properties(){return this._properties}set properties(t){this._properties=t}constructor(t){t&&this.pupulate(t)}pupulate(t){this.author=t.author,this.text=t.text,this.date=t.date?new Date(t.date):null,this.data=t.data,this.readOnly=!!t.readOnly,this._properties=t.props}getSourceData(){const t={};return this._properties&&(t.props=this._properties),this.author&&(t.author=this.author),this.text&&(t.text=this.text),this.data&&(t.data=this.data),null!==this.readOnly&&(t.readOnly=this.readOnly),this.date&&(t.date=Ao("en-US")(this.date,"yyyy-MM-dd HH:mm:ss")),t}}class cw{constructor(t,e){this.model=t,this._commentMap=new Map,this.has=t=>this._commentMap.has(t),this.delete=t=>this._commentMap.delete(t),this.cleanCell=t=>{this.has(t)&&this._commentMap.set(t,this.get(t).filter((t=>(t.text??"").length>0||null!=t.data)))},this.get=t=>(this.has(t)||this._commentMap.set(t,[]),this._commentMap.get(t)),this.set=(t,e)=>{this._commentMap.set(t,e?.map((t=>t instanceof lw?t:new lw(t)))||[]),this.cleanCell(t)},e&&this.populate(e)}populate(t){t.forEach((t=>{const e=t.a1||new av(t.c,t.r).A1;this._commentMap.has(e)||this._commentMap.set(e,[]),this._commentMap.get(e).push(new lw(t))})),this._commentMap.forEach((t=>{t.sort(((t,e)=>(e.date?e.date.getTime():0)-(t.date?t.date.getTime():0)))}))}shift(t){Array.from(this._commentMap.keys()).forEach((e=>{const i=av.fromA1(e);i.shift(t),i.A1!=e&&(this._commentMap.set(i.A1,this._commentMap.get(e)),this._commentMap.delete(e))}))}}function hw(t){return t instanceof RangeError?"Maximum call stack size exceeded"==t.message?"infinite loop":t.message:t.toString()}class dw{get tokenizer(){return this._tokenizer}get dependencies(){return this._dependencies}get formulas(){return this._formulas}constructor(t){this.model=t,this._tokenizer=new nv,this._formulas=new Map,this._dependencies=new ww(t),this.context=new Ay(t)}createFormula(t){const e=new _v(t.formula,this.tokenizer);return this._formulas.set(t.address,e),t.hasOwnFormula&&(t.formula=e.createFormulaString()),this.createDependecies(t),e}createDependecies(t){const e=t.address;if(this.formulas.has(e)){const i=this.formulas.get(e);i.ranges.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.cells.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.variables.forEach((([i,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(e,n.address,null)}))}return this}refreshFormula(t){return t.refreshFormula(),this.formulas.delete(t.address),this.clearDependecies(t),this}updateDependencies(t){return this.clearDependecies(t).getFormula(t),this}getFormula(t){return this._formulas.has(t.address)?this._formulas.get(t.address):this.createFormula(t)}refresh(){this.dependencies.clear(),this._formulas.clear()}clearDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.formulas.delete(e),this}evaluateFormula(t,e){return this.context.currentCell=e,t.fn(this.context,{cell:e,formula:t})}evaluateExpression(t,e){this.context.currentCell=e;const i=new _v(t,this.tokenizer);return i.fn(this.context,{cell:e,formula:i})}evaluate(t,e){if(!t)return null;let i=null;if(t.hasFormula){const o=this.getFormula(t);try{t.clearError(),this.context.currentCell=t,i=o.fn(this.context,{cell:t,formula:o}),Array.isArray(i)?(e||this.model.spillValues({cell:t,values:i}).range,i=i.length>0&&i[0].length>0?i[0][0]:null,e&&(t.value=i)):t.value=i}catch(e){t.error={message:hw(e)}}}else i=t.value;return i}evaluateAll(){this.model.rows.forEach((t=>this.model.columns.forEach(((e,i)=>t.cell(i).evaluate()))))}calculateViewport(t){const e=[];return t.rows.forEach((t=>t.cells.forEach((t=>{if(t.hasFormula){if(!t.hasValue&&(this.evaluate(t),t.spillRange))for(const i of this.model.getRangeIterator(t.spillRange))e.push(i);e.push(t)}})))),e}shift(t){this.getFormulaCells().forEach((e=>{e.formula=this.getFormula(e).shift(t).createFormulaString(!1),this.updateDependencies(e)}));const e=this.model.name;return this.dependencies.sheetDependants.forEach((i=>{const o=this.model.getConnectedModel(i);o?.calculations.getFormulaCells().forEach((i=>{const n=o.calculations.getFormula(i);n.hasSheetReference(e)&&(i.formula=n.shift(t).createFormulaString(!1),o.calculations.updateDependencies(i))}))})),this}getFormulaCells(){const t=this.model,e=[];let i;const o=t.rows.length,n=t.columns.length;for(let r=0;r<o;r++){i=t.rows[r];for(let t=0;t<n;t++)i.hasCellFormula(t)&&e.push(i.cell(t))}return e}renameSheet(t,e){let i=!1;return this.dependencies.renameSheet(t,e),this.getFormulaCells().forEach((o=>{const n=this.getFormula(o);n.renameSheet(t,e)&&(o.formula=n.createFormulaString(),this.refreshFormula(o),i=!0)})),i}invalidateCellDependants(t){const e=[];return this.dependencies.getDependants(t.range).forEach((([t,i])=>{e.push([t,i]),t.invalidateValue()})),e}invalidateDependants(t){const e=new Map,i=new Map;for(const i of t)this.invalidateCellDependants(i).forEach((([t,i])=>e.set(t,i)));e.forEach(((t,e)=>i.set(e,t)));for(const i of t)e.set(i,null);return e.forEach(((t,e)=>{this.model.sparklines.dependencies.getDependants(e.range).forEach((([t,e])=>{i.set(t,e)})),this.model.conditionalFormats.dependencies.getDependants(e.range).forEach((([t,e])=>{this.model.conditionalFormats.invalidateExtremes(t),t.invalidateStyle(),i.set(t,e)}))})),i}}const uw="#ff0000",pw="#fcd53f",gw="#00bb5e",mw="#555555",fw=new Map([["3Arrows",[{icon:["fas","down"],color:uw},{icon:["fas","right"],color:pw},{icon:["fas","up"],color:gw}]],["3ArrowsGray",[{icon:["fas","down"],color:mw},{icon:["fas","right"],color:mw},{icon:["fas","up"],color:mw}]],["3Flags",[{icon:["fas","flag-pennant"],color:uw},{icon:["fas","flag-pennant"],color:pw},{icon:["fas","flag-pennant"],color:gw}]],["3TrafficLights1",[{icon:["fas","circle"],color:uw},{icon:["fas","circle"],color:pw},{icon:["fas","circle"],color:gw}]],["3TrafficLights2",[{icon:["fas","square-o"],color:uw},{icon:["fas","square-o"],color:pw},{icon:["fas","square-o"],color:gw}]],["3Signs",[{icon:["fas","square"],rotation:45,color:uw},{icon:["fas","triangle"],color:pw},{icon:["fas","circle"],color:gw}]],["3Symbols",[{icon:["fas","circle-xmark"],color:uw},{icon:["fas","circle-exclamation"],color:pw},{icon:["fas","circle-check"],color:gw}]],["3Symbols2",[{icon:["fas","xmark"],color:uw},{icon:["fas","exclamation"],color:pw},{icon:["fas","check"],color:gw}]],["3Stars",[{icon:["fal","star"],color:pw},{icon:["fas","star-half-stroke"],color:pw},{icon:["fas","star"],color:pw}]],["3Triangles",[{icon:"caret-down",color:uw},{icon:"dash",color:pw},{icon:"caret-up",color:gw}]],["4Arrows",[{icon:["fas","down"],color:uw},{icon:["fas","down-right"],color:pw},{icon:["fas","up-right"],color:pw},{icon:["fas","up"],color:gw}]],["4ArrowsGray",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:mw},{icon:["fas","up-right"],color:mw},{icon:["fas","up"],color:mw}]],["4RedToBlack",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:"#b1b1b1"},{icon:["fas","circle"],color:"#edb2a3"},{icon:["fas","circle"],color:uw}]],["4Rating",[{icon:"signal-bars-weak",color:"#4a7db1"},{icon:"signal-bars-fair",color:"#4a7db1"},{icon:"signal-bars-good",color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["4TrafficLights",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:uw},{icon:["fas","circle"],color:pw},{icon:["fas","circle"],color:gw}]],["5Arrows",[{icon:["fas","down"],color:uw},{icon:["fas","down-right"],color:pw},{icon:["fas","right"],color:pw},{icon:["fas","up-right"],color:pw},{icon:["fas","up"],color:gw}]],["5ArrowsGray",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:mw},{icon:["fas","right"],color:mw},{icon:["fas","up-right"],color:mw},{icon:["fas","up"],color:mw}]],["5Rating",[{icon:["fal","signal-bars"]},{icon:["fal","signal-bars-weak"],color:"#4a7db1"},{icon:["fal","signal-bars-fair"],color:"#4a7db1"},{icon:["fal","signal-bars-good"],color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["5Quarters",[{icon:["fal","circle"],color:"#505050"},{icon:["fas","circle-quarter-stroke"],color:"#505050"},{icon:["fas","circle-half-stroke"],color:"#505050"},{icon:["fas","circle-three-quarters-stroke"],color:"#505050"},{icon:["fas","circle"],color:"#505050"}]]]),vw=(t,e)=>{const i=fw.get(t);return i?i[e]:null};class bw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.formats=[],this.cellFormatMap=new Map,this.extremes=new Map,this._dependencies=new ww(t),e&&this.populate(e)}populate(t){t.forEach((t=>{try{this.add(t)}catch(e){un().error(`conditional format error: ${JSON.stringify(t)}`,e)}}))}refresh(){this.dependencies.clear(),this.cellFormatMap.clear(),this.extremes.clear(),this.formats.forEach((t=>this.initConditionalFormat(t)))}clearCellDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.cellFormatMap.get(e).forEach((t=>({cf:t.cf}))),this}getExtremes(t){if(this.extremes.has(t.key))return this.extremes.get(t.key);const e=[1/0,-1/0];return t.ranges.forEach((t=>{for(const i of this.model.getValuesInRange(t))for(const t of i)null!=t&&(isNaN(t)||(e[0]=Math.min(e[0],t),e[1]=Math.max(e[1],t)))})),t.cmin&&("num"==t.cmin.t?e[0]=t.cmin.v:"percent"==t.cmin.t&&(e[0]=e[0]+(e[1]-e[0])*t.cmin.v/100)),t.cmax&&("num"==t.cmax.t?e[1]=t.cmax.v:"percent"==t.cmax.t&&(e[1]=e[0]+(e[1]-e[0])*t.cmax.v/100)),this.extremes.set(t.key,e),e}invalidateExtremes(t){this.cellFormatMap.get(t.address).forEach((t=>this.extremes.delete(t.cf.key)))}evaluateScaleFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;const s=(i-o)/(n-o);if(e.cf.cmid?.color)r=.5==s?"#"+e.cf.cmid.color:s>.5?Cn("#"+e.cf.cmid.color,"#"+e.cf.cmax.color,2*(s-.5)):Cn("#"+e.cf.cmin.color,"#"+e.cf.cmid.color,2*s);else{if(!e.cf.cmin?.color||!e.cf.cmax?.color)return null;r=Cn("#"+e.cf.cmin.color,"#"+e.cf.cmax.color,s)}return{color:Mn(r).substring(1),fgColor:r.substring(1)}}evaluateBarFormat(t,e){const i=t.value;if(null==i)return null;const o=this.getExtremes(e.cf);let n=o[0];const r=o[1],s=n<0;s||(n-=.1*(r-n));const a=Math.round(100*(i-n)/(r-n));e.initialized||(e.initialized=!0,e.cf.ranges.forEach((e=>this._dependencies.add(t.address,e.A1,null))));const l=[];if(s){const t=Math.round(-100*n/(r-n));i>=0?(l.push(`#00000000 ${t}%`),l.push(`#${e.cf.color} ${t}%`),l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`)):(l.push(`#00000000 ${a}%`),l.push(`#ff0000 ${a}%`),l.push(`#ff0000 ${t}%`),l.push(`#00000000 ${t}%`))}else l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`);return{cssStyle:{backgroundClip:"padding-box",backgroundImage:`linear-gradient(90deg, ${l.join(",")})`}}}evaluateFormulaFormat(t,e){if(!e.initialized&&e.cf.condition){e.initialized=!0;const i=t.address,o=new _v(e.cf.condition,this.model.calculations.tokenizer);e.f=o.shift({index:0,offset:t.c-e.cf.firstCell.c1,direction:"right"}).shift({index:0,offset:t.r-e.cf.firstCell.r1,direction:"down"}),o.cells.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.ranges.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.variables.forEach((([e,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(i,n.address,null)}))}if(e.f&&!this.model.calculations.evaluateFormula(e.f,t))return null;const i={...e.cf.style};return i.color||_n(Mn(Sn(e.cf.style.fgColor))),i}evaluateIconFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;for(let t=e.cf.thresh.length-1;t>=0;t--){const s=e.cf.thresh[t];if("percent"===s.t){if(null==r&&(r=100*(i-o)/(n-o)),r>=s.v)return{icon:vw(e.cf.v,t)}}else if("num"===s.t&&i>=s.v)return{icon:vw(e.cf.v,t)}}return null}evaluate(t){const e=t.address,i=this.cellFormatMap.get(e);if(!i)return null;let o=null,n=null;for(const e of i){try{switch(e.cf.type){case"formula":n=this.evaluateFormulaFormat(t,e);break;case"scale":n=this.evaluateScaleFormat(t,e);break;case"bar":n=this.evaluateBarFormat(t,e);break;case"icon":n=this.evaluateIconFormat(t,e);break;default:n=null}}catch(t){un().error(`Conditional format error: ${JSON.stringify(e)}`,t)}if(n&&(o=o?{...o,...n}:n,e.cf.stop))break}return o}initConditionalFormat(t){return t.firstCell=null,t.ranges.forEach((e=>{for(const i of new Lw(e.intersect(this.model.gridRange))){const e=i.A1;"formula"===t.type&&(t.firstCell||(t.firstCell=i,t.formula=t.condition?new _v(t.condition,this.model.calculations.tokenizer):null)),(this.cellFormatMap.get(e)||this.cellFormatMap.set(e,[]).get(e)).push({cf:t})}})),t}add(t){const e={key:t.ranges,ranges:av.fromA1s(t.ranges),type:t.type||"formula",firstCell:null,formula:null,style:t.style?this.model.styles.add(t.style):null,condition:t.condition,stop:!!t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh};this.formats.push(this.initConditionalFormat(e))}getSourceData(){return this.formats.map((t=>({type:t.type,ranges:av.toA1s(t.ranges),style:t.style,condition:t.condition,stop:t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh})))}}function yw(t,e,i){t.forEach((t=>t.forEach((t=>{t[1]==e&&(t[1]=i)}))))}class ww{get cellDependencies(){return this._cellDependencies}get cellDependants(){return this._cellDependants}get rangeDependencies(){return this._rangeDependencies}get rangeDependants(){return this._rangeDependants}get sheetDependencies(){return this._sheetDependencies}get sheetDependants(){return this._sheetDependants}constructor(t){this.model=t,this._cellDependencies=new Map,this._cellDependants=new Map,this._rangeDependencies=new Map,this._rangeDependants=new Map,this._sheetDependencies=new Map,this._sheetDependants=new Map}clear(){this._cellDependants.clear(),this._cellDependencies.clear(),this._rangeDependencies.clear(),this._rangeDependants.clear()}clearCellDependecies(t){return this._cellDependencies.has(t)&&this._cellDependencies.delete(t),this._rangeDependencies.has(t)&&this._rangeDependants.delete(t),this}has(t){return this._cellDependencies.has(t)||this._rangeDependencies.has(t)}add(t,e,i){const o=av.fromA1(t).removeAnchors(),n=av.fromA1(e).removeAnchors();e=n.A1;const r=n.isRange,s=r?this._rangeDependencies:this._cellDependencies;let a=null;if((s.has(t)?s.get(t):s.set(t,new Map).get(t)).set(e,[n,i]),i){const t=this.model.getConnectedModel(i);t&&(t.calculations.dependencies.sheetDependants.set(this.model.name,this.model.name),this.sheetDependencies.set(i,i),a=r?t.calculations.dependencies.rangeDependants:t.calculations.dependencies.cellDependants),i=this.model.name}else a=r?this._rangeDependants:this._cellDependants;a&&(a.has(e)||a.set(e,new Map),a.get(e).set(t,[o,i]))}getDependants(t,e=null){const i=t.A1;return e=e??new Map,this._cellDependants.has(i)&&this._cellDependants.get(i).forEach((([t,o])=>{if(e.has(t))return;const n=e.set(t,[(o?this.model.getConnectedModel(o):this.model).getCellByRange(t),o]);t.A1!=i&&this.getDependants(t,n)})),this._rangeDependants.forEach(((i,o)=>{av.fromA1(o).contains(t)&&i.forEach((([t,i])=>{e.has(t)||(e.delete(t),this.getDependants(t,e.set(t,[(i?this.model.getConnectedModel(i):this.model).getCellByRange(t),i])))}))})),e}renameSheet(t,e){this._sheetDependants.has(t)&&(this._sheetDependants.delete(t),this._sheetDependants.set(e,e)),this._sheetDependencies.has(t)&&(this._sheetDependencies.delete(t),this._sheetDependencies.set(e,e)),yw(this._cellDependants,t,e),yw(this._cellDependencies,t,e),yw(this._rangeDependants,t,e),yw(this._rangeDependencies,t,e)}}const xw=(t,e)=>{const i=new RegExp(`${dt(t)}`,"ig");return t=>(i.lastIndex=0,i.test(lt((t[e]??"").toString())))},kw=(t,e)=>i=>!!i[e]===t,Cw=(t,e)=>{const i=t.map((t=>t.key?.toString()));return t=>null!=t[e]&&i.includes(t[e].toString())},Mw=(t,e)=>t=>!1,_w=(t,e,i)=>(i=i??"value","b"===t?kw(e,i):"s"===t&&Array.isArray(e)?Cw(e,"value"):"s"===t?xw(e?.toString(),"formattedValue"):"m"===t&&Array.isArray(e)?Mw(e,i):xw(e?.toString(),"d"===t?"formattedValue":i));class Sw extends Event{constructor(){super("filter",{bubbles:!1,cancelable:!0,composed:!0})}}class Ew extends EventTarget{constructor(t){super(),this.model=t,this.settings=new Map,this.custom=!1}get(t){return this.settings.has(t)?this.settings.get(t):null}filter(t,e=!0){null===t.term||""===t.term?this.settings.delete(t.c):this.settings.set(t.c,t),this.custom||(this.settings.size>0?this.applyFilter(!1):this.resetFilter(!1)),e&&this.dispatchEvent(new Sw)}applyFilter(t=!0){const e=[];this.settings.forEach(((t,i)=>{const o=this.model.columns[i];e.push({c:i,matcher:_w(o.type,t.term,o.filter?.property)})}));const i=e.length,o=this.model.options.filters?.includeParents??!0,n=this.model.options.filters?.includeChildren??!0,r=new Set;this.model.rows.forEach((t=>{const s=r.has(t.index);(t=>{if(!t.filterable)return!0;for(let o=0;o<i;o++)if(!e[o].matcher(t.cell(e[o].c)))return!1;return!0})(t)?(t.filterState=pn.Matched,o&&t.walkUp((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=pn.ChildMatched,r.add(t.index)})),n&&t.walk((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=pn.ParentMatched,r.add(t.index)}))):s||(t.filterState=pn.Filtered),r.add(t.index)})),this.model.indexRows(),t&&this.dispatchEvent(new Sw)}resetFilter(t=!0){this.settings.clear(),this.model.rows.forEach((t=>t.filterState=pn.Matched)),this.model.indexRows(),t&&this.dispatchEvent(new Sw)}}class zw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.map=new Map,this.groups=new Map,this.extremes=new Map,this.maxIndex=0,this.updateRangeMap=!1,this._dependencies=new ww(t),this.populate(e)}populate(t){t?.forEach((t=>{try{this.add(av.fromA1(t.location),Array.isArray(t.data)?t.data.map((t=>[av.fromA1(t)])):t.data.split(",").map((t=>[av.fromA1(t)])),it({},jf.DEFAULT_SPARKLINE_OPTIONS,t.options))}catch(e){this.model.logger.error(`sparkline error: ${JSON.stringify(t)}`,e)}}))}getSourceData(){const t=[];return this.groups.forEach((e=>{t.push({location:e.locRange.A1,data:e.dataRanges.map((t=>t[0].A1)).join(","),options:{minValue:e.minValue,maxValue:e.maxValue,type:e.type,style:e.style,marker:e.marker}})})),t}has(t){return this.map.has(t)}get(t){return this.map.get(t)}createDependencies(t){this.map.get(t)[1].forEach((e=>this._dependencies.add(t,e[0].A1,e[1])))}updateRangeMaps(){this.dependencies.clear(),this.map.clear(),this.groups.forEach(((t,e)=>this.createRangeMap(e,t.locRange,t.dataRanges)))}getValues(t){this.updateRangeMap&&this.updateRangeMaps();const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model;return this._dependencies.has(t)||this.createDependencies(t),e[1].flatMap((t=>i.getValuesInRange(t[0])[0]))}getExtremes(t){const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model,o=this.groups.get(e[0]);let n,r,s,a;return null==o.minValue||X(o.minValue)?"auto"==(o.minValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),s=n[0]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),s=r[0]):s=o.minValue,null==o.maxValue||X(o.maxValue)?"auto"==(o.maxValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),a=n[1]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),a=r[1]):a=o.maxValue,[s,a]}createRangeMap(t,e,i){e=e.intersect(this.model.gridRange);const o=i[0][0].size,n=e.size;if(n.columns>1&&n.rows>1)return void this.model.logger?.error(`invalid sparkline location range: ${e.A1}`);let r=!1;if(r=1==n.columns&&1==n.rows?o.rows>1:n.columns>1,r)for(let o=e.c1;o<=e.c2;o++)this.map.set(new av(o,e.r1).A1,[t,i.map((([t,i])=>[new av(t.c1+o-e.c1,t.r1,t.c1+o-e.c1,t.r2),i]))]);else for(let o=e.r1;o<=e.r2;o++)this.map.set(new av(e.c1,o).A1,[t,i.map((([t,i])=>[new av(t.c1,t.r1+o-e.r1,t.c2,t.r1+o-e.r1),i]))])}add(t,e,i){const o=++this.maxIndex;t&&e&&this.createRangeMap(o,t,e),this.groups.set(o,Object.assign({dataRanges:e,locRange:t},JSON.parse(JSON.stringify(jf.DEFAULT_SPARKLINE_OPTIONS)),i))}update(t,e,i,o){const n=this.groups.get(t);Object.assign(n,{dataRanges:i,locRange:e},o),this.updateRangeMap=!0}delete(t){this.groups.delete(t),this.updateRangeMap=!0}shift(t){this.groups.forEach((e=>{e.dataRanges.forEach((([e])=>e.shift(t))),e.locRange.shift(t)})),this.updateRangeMaps()}}class Rw extends av{constructor(t,e,i=!1){super(e.c1,e.r1,e.c2,e.r2),this.model=t,this.initializedOnly=i,this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}nextInitialized(){let t;for(;!this.done&&!t;)this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),t=this.model.rows[this.r].cells[this.c],this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;return t}next(){if(this.done)return{done:!0};this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;const t=this.model.rows[this.r+this.r1],e=this.c+this.c1,i=this.initializedOnly&&!t.isCellInitialized(e)?this.nextInitialized():t?.cell(e);return i?{done:!1,value:i}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class Lw extends av{constructor(t){super(t.c1,t.r1,t.c2,t.r2),this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}next(){return this.done?{done:!0}:(this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c==this.size.columns-1&&this.r==this.size.rows-1,{done:!1,value:new av(this.c+this.c1,this.r+this.r1)})}}class Iw extends av{constructor(t,e,i){super(e.c1,e.r1,e.c2,e.r2),this.model=t,this.i=0,this.done=!1,this.axis=i,this.key="rows"===i?"r1":"c1"}[Symbol.iterator](){return this}next(){if(this.done)return{done:!0};this.i<this.size[this.axis]-1&&this.i++,this.done=this.i>=this.size[this.axis]-1;const t=this.model[this.axis][this.i+this[this.key]];return t?{done:!1,value:t}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class Hw{constructor(t,e){this.model=t,this.names=new Map,this.rangeMap=new Map,e&&this.populate(e)}populate(t){t.forEach((({name:t,ref:e})=>this.set(t,q(e)?av.fromCoords(e):av.fromA1(e))))}set(t,e){this.names.set(t,e),this.rangeMap.set(e.A1,t)}delete(t){const e=this.names.get(t);e&&(this.rangeMap.delete(e.A1),this.names.delete(t))}findCellByName(t){let e;const i=this.model.rows,o=this.model.columns.length;for(let n=0;n<i.length;n++){e=i[n];for(let i=0;i<o;i++)if(e.hasCellName(i)){const o=e.cell(i);if(o.name==t)return o.range}}return null}getCellByName(t,e){const i=this.names.get(t)??this.findCellByName(t);return i?i.isColumn?this.model.rows.length>e.r1?this.model.columns[i.c1].cell(e.r1):null:i.isRow?this.model.columns.length>e.c1?this.model.rows[i.r1].cell(e.c1):null:this.model.rows[i.r1].cell(i.c1):null}getRangeByName(t,e=!0){const i=this.names.get(t);return e?i?.intersect(this.model.gridRange):i}shift(t){this.names.forEach(((e,i)=>{const o=e.A1;e.shift(t);const n=e.A1;o!=n&&(this.rangeMap.delete(o),this.rangeMap.set(n,i))}))}}function Tw(t,e=null){const i=it({},jf.DEFAULT_OPTIONS,e,jn(t,e));return i.numberFormat?i.numberFormatter=Qo(i.formatLocale,i.numberFormat):i.numberFormatter||(i.numberFormatter=Qo(i.formatLocale)),i.dateFormat?i.dateFormatter=Ao(i.formatLocale,i.dateFormat):i.dateFormatter||(i.dateFormatter=Ao(i.formatLocale)),i.columnSorting&&(i.sorting=i.sorting||{enabled:!0}),"boolean"==typeof i.filters&&(i.filters={enabled:i.filters}),i.filters=Object.assign({},Nf,i.filters),"boolean"==typeof i.rowTree&&(i.rowTree={enabled:i.rowTree}),i.rowTree=Object.assign({},Pf,i.rowTree),"boolean"==typeof i.columnTree&&(i.columnTree={enabled:i.columnTree}),i.columnTree=Object.assign({},Pf,i.columnTree),i.cellValidation&&(i.cellValidation=Ny(i.cellValidation)),i}class Aw extends(mn(jy)){get cells(){return this._cells}get data(){return this._data}set data(t){this._data=t}get height(){return this._height??this.model.options.rowHeight}set height(t){this._height=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return lv(this.index)}get range(){return new av(null,this.index,null,this.index)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t,this.model.columns.forEach((t=>this.cell(t.index).refreshFormula()))}get values(){return this.model.columns.map((t=>this.cell(t.index).value))}cell(t,e){if(this.model.options.singleCellModel)return this._singleCell||(this._singleCell=new tw(this.model,{c:t,r:this.index})),this._singleCell.row=this,this._singleCell.column=this.model.columns[t],this._singleCell;let i=this._cells[t];if((e||!i)&&this.model.columns[t]){if(i=new tw(this.model,e??{c:t,r:this.index}),this._data){const e=this.model.columns[t].data;null!=e&&(q(this._data[e])?i.populate(this._data[e]):i.hasValue||(i.value=this._data[e]))}i.name&&this.model.names.set(i.name,i.range),this._cells[t]=i}return i}constructor(t,e){super(t,e),this.isCellInitialized=t=>!!this.cells[t],this._cells=[],null==this._priority&&(this._priority=t.options.rowPriority)}populate(t){super.populate(t),this._height=null==t.h||"auto"==t.h?this.model.options.rowHeight:t.h,t.data&&(Array.isArray(t.data)?this._data=[...t.data]:this._data={...t.data}),null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._height&&this._height!=this.model.options.rowHeight&&(t.h=this._height),t}expand(t){super.expand(t),this.model.indexVisibleRows()}collapse(){super.collapse(),this.model.indexVisibleRows()}get prev(){return this.model.rows[this.index-1]}get next(){return this.model.rows[this.index+1]}get prevVisible(){let t=this.prev;for(;t&&!t.visible;)t=t.prev;return t}get nextVisible(){let t=this.next;for(;t&&!t.visible;)t=t.next;return t}hasCellFormula(t){return this.cells[t]&&this.cells[t].hasFormula||this._data&&this._data[this.model.columns[t].data]&&this._data[this.model.columns[t].data].f}hasCellName(t){return this.cells[t]&&null!=this.cells[t].name||this._data&&this._data[this.model.columns[t].data]&&null!=this._data[this.model.columns[t].data].name}insertColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"right"}).createFormulaString(!1));t<this.cells.length&&this.cells.splice(t,0,...Array(e).fill(null))}deleteColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"left"}).createFormulaString(!1));return t<this.cells.length?this.cells.splice(t,e):null}clearCalculatedValues(){this.cells.forEach((t=>t&&this.model.calculations.refreshFormula(t)))}}var Ow=i(4418),$w=i.n(Ow);const Dw=t=>t?"1":"0",Nw=t=>null==t?"_":t,Pw=t=>null==t?"_":t.toString(),jw=t=>null==t?"_":JSON.stringify(t),Vw=t=>Nw(t&&t.color?t.color:"_")+Nw(t&&t.style?t.style:"_"),Bw=t=>Nw(t?t.horizontal:null)+Nw(t?t.vertical:null)+Nw(t?t.horizontal:null)+Pw(t?t.indent:null)+Dw(t?t.wrapText:null)+Pw(t?t.textRotation:null),Fw=t=>$w()("s_"+Dw(t.bold)+Dw(t.italic)+Dw(t.underline)+Pw(t.sz)+Nw(t.font)+Nw(t.color)+Vw(t.top)+Vw(t.right)+Vw(t.bottom)+Vw(t.left)+Nw(t.patternType)+Nw(t.fgColor)+Nw(t.bgColor)+Bw(t.alignment)+Pw(t.angle)+jw(t.stops)+Dw(t.hidden)+Dw(t.editable)+jw(t.cssStyle)+jw(t.icon));function Ww(t){const e={...t};return delete e.id,delete e.hash,e}class Uw{constructor(t){this.model=t,this._count=0,this.hashmap=new Map,this.map=new Map}add(t){if(!isNaN(t))return this.get(t);const e=this.model.options.cssStyles?Qy(t):t,i=e.hash?e.hash:Fw(e);return this.hashmap.has(i)?this.map.get(this.hashmap.get(i)):(null==e.id&&(e.id=this._count),this._count=Math.max(e.id+1,this._count+1),e.hash=i,this.hashmap.set(i,e.id),this.map.set(e.id,e),e)}populate(t){t.forEach((t=>this.add(t)))}get(t){return this.map.has(t)?this.map.get(t):null}remove(t){const e="object"==typeof t?t:this.map.get(t);this.hashmap.delete(e.hash),this.map.delete(e.id)}merge(...t){const e=Object.assign({},...t.map((t=>q(t)?t:this.get(t))));return this.add(Ww(e))}duplicate(t,e){const i=this.get(t);return this.add(Ww({...i,...e}))}set(t,e){let i=this.map.has(t)?this.map.get(t):{};for(const t in e)i[t]=e[t];return i=i.id?i:this.add(i),i}unset(t,e){if(this.map.has(t)){const i=this.map.get(t);for(const t of e)delete i[t]}}getSourceData(){return Array.from(this.map.values())}clean(){const t=new Map(Array.from(this.map.entries()).map((([t])=>[t,0])));this.model.columns.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)})),this.model.rows.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1),e.cells.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)}))})),t.forEach(((t,e)=>{0==t&&this.remove(e)}))}}function Gw(t,e,i,o){const n=o??("rows"==i?e.rows:e.columns),r=function(t){const e=new Map;for(const i of t)e.has(i.level)||e.set(i.level,[]),e.get(i.level).push(i);return e}(n),s=t[i]??[];for(const t of s){let o;if(o=t.index>-1?[n[t.index]]:t.level>-1?r.get(t.level):n,t.name){const e=t.name instanceof RegExp?t.name:new RegExp(dt(t.name));o=o.filter((t=>e.test(t.name)))}o?.forEach((o=>{null!=t.priority&&(o.priority=t.priority),t.type?e.conditionalFormats.add(Object.assign({ranges:`${o.address}:${o.address}`},t)):(o.style=e.styles.add(t.style).id,"rows"==i&&null!=t.height?o.height=t.height:"columns"==i&&null!=t.width&&(o.width=t.width))}))}}function Yw(t,e){for(const i of t)if(e[i.property]!=i.value)return!1;return!0}function qw(t,e,i){const o=t.cells??[];for(const t of o)if(t.conditions?.length){const o=e.getRangeIterator(i??e.gridRange);for(const i of o)Yw(t.conditions,i)&&(i.style=e.styles.add(t.style).id)}else if(t.type)e.conditionalFormats.add(Object.assign({ranges:"A:"+e.columns[e.columns.length-1].address},t));else for(const i of e.columns)null==i.style&&(i.style=e.styles.add(t.style).id)}function Zw(t,e,i){Gw(t,e,"columns",i)}function Xw(t,e,i){Gw(t,e,"rows",i)}function Qw(t,e){qw(t,e),Zw(t,e),Xw(t,e)}const Kw=["index","name","rows","columns","cells","options","sparklines","rules","comments","styles","names","props","tab","theme"];class Jw{get comments(){return this._comments}get calculations(){return this._calculations}get names(){return this._names}get sorting(){return this._sorting}get sparklines(){return this._sparklines}get conditionalFormats(){return this._conditionalFormats}get mergedHeaders(){return this._mergedHeaders}get mergedCells(){return this._mergedCells}get hiddenCells(){return this._hiddenCells}get hasFilter(){return this._filter}get hasRowTree(){return this._maxRowLevel>0}get hasRowTreeEnabled(){return this.hasRowTree&&this.options.rowTree.enabled}get maxRowLevel(){return this._maxRowLevel}get hasColumnTree(){return this._maxColumnLevel>0}get hasColumnTreeEnabled(){return this.hasColumnTree&&this.options.columnTree.enabled}get maxColumnLevel(){return this._maxColumnLevel}get headerCount(){return this._headerCount}get columnHeaderCount(){return this.headerCount+(this.hasColumnTreeEnabled?1:0)+(this.hasFilter?1:0)}get properties(){return this._properties}set properties(t){this._properties=t}get theme(){return this._theme}set theme(t){this._theme=t}constructor(t,e,i){this.otherModels={},this.autofitColumns=new Set,this.autofitRows=new Set,this.styles=new Uw(this),this._comments=new cw(this),this._calculations=new dw(this),this._names=new Hw(this),this._sorting=new aw(this),this._sparklines=new zw(this),this._conditionalFormats=new bw(this),this._hiddenCells=new Map,this._filter=!1,this._maxRowLevel=0,this._maxColumnLevel=0,this._headerCount=0,this._levelBasedRowTree=!0,this._levelBasedColTree=!0,this.clearRows=()=>(this.rowRoot.clearChildren(),this.rows=[],this.rows),this.clearColumns=()=>this.columns=[],this.logger=i,this.options=e??Tw(t.options),this.populate(t)}getConnectedModel(t){return this.group?this.group.get(t):null}getModelByRange(t){return t.sheet?this.getConnectedModel(t.sheet):this}getCellByA1(t){return this.getCellByRange(av.fromA1(t))}getCellByRange(t){return this.getCellByCoords(t.r1,t.c1)}getCellByCoords(t,e){return this.rows[t]?.cell(e)}cell(t,e){return isNaN(t)?t instanceof av?this.getCellByRange(t):"string"==typeof t?this.getCellByA1(t):null:this.getCellByCoords(t,e||0)}createRows(t,e=new Aw(this,{l:-1}),i=0){let o=!1,n=!1;this.autofitRows.clear();const r=t.map(((t,e)=>{t||(t={}),isNaN(t.l)||(o=!0),null!=t.p&&(n=!0),"auto"==t.h&&this.autofitRows.add(e);const r=new Aw(this,t);return r.origIndex=e+i,r.name&&this.names.set(r.name,av.fullRow(e)),r}));let s=-1;return o?s=fn(r,e,{reverse:this.options.rowTree.reversed}):n?s=vn(r,e):e.children=r,n||(o=!0),[e,r,s,o]}insertRowData(t,e,i){const o=this.createRows(i,new Aw(this,{l:t.level}),e);if(this._maxRowLevel=Math.max(this._maxRowLevel,o[2]),t.insertChildren(o[0].children,e),this.indexRowsByTree(),this.theme){const t=o[1];Xw(this.theme,this,t),qw(this.theme,this,new av(0,t[0].index,1/0,t[t.length-1].index))}}applyTheme(t,e){if(e)for(const t of this.getInitializedCellIterator())t.invalidateStyle();Qw(t,this)}populate(t){this.index=t.index,this.name=t.name??this.name,this.tab=t.tab;let e=!1,i=!1;if(t.columns||(t.columns=new Array(this.options.columns).fill({})),t.rows||(t.rows=new Array(this.options.rows).fill({})),t.styles&&this.styles.populate(t.styles),this.autofitColumns.clear(),this.columns=t.columns.map(((t,o)=>{t||(t={}),t.l>0&&(e=!0),null!=t.p&&(i=!0),"auto"==t.w&&this.autofitColumns.add(o);const n=new iw(this,t);return this._filter=n.hasFilter||this._filter,n.name&&this.names.set(n.name,av.fullColumn(o)),n})),this._levelBasedColTree=e,this._maxColumnLevel=-1,this.colRoot=new iw(this,{l:-1}),e?this._maxColumnLevel=fn(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}):i?this._maxColumnLevel=vn(this.columns,this.colRoot):this.colRoot.children=this.columns,i||(this._levelBasedColTree=!0),this.indexColumns(),this.indexVisibleColumns(),[this.rowRoot,this.rows,this._maxRowLevel,this._levelBasedRowTree]=this.createRows(t.rows),this.indexRows(),this.indexVisibleRows(),this.options.pageSize&&this.options.pageSize<=this.rows.length&&(this.rowRoot.count=1/0),this._mergedCells=[],t.comments=t.comments||[],t.cells?.forEach(((e,i)=>{const o=this.rows[e.r]?this.rows[e.r].cell(e.c,e):null;o?(o.colspan>1||o.rowspan>1)&&this._mergedCells.push({r:o.r,c:o.c,rs:o.rowspan,cs:o.colspan}):this.logger?.error(`invalid cell definition (index ${i}): ${JSON.stringify(e)}`),o&&e.comment&&t.comments.push(Object.assign(e.comment,{c:e.c,r:e.r}))})),this.indexHiddenCells(),t.sparklines)try{this.sparklines.populate(t.sparklines)}catch(t){un().error(`Sparkline init error: ${t}`)}if(t.names)try{this.names.populate(t.names)}catch(t){un().error(`Named range init error: ${t}`)}if(t.rules)try{this.conditionalFormats.populate(t.rules)}catch(t){un().error(`Conditional formats init error: ${t}`)}if(t.theme)try{this.applyTheme(t.theme),this._theme=t.theme}catch(t){un().error(`Theme init error: ${t}`)}if(t.comments)try{this.comments.populate(t.comments)}catch(t){un().error(`Comment init error: ${t}`)}this._properties=t.props,this.otherSourceData={};const o=new Set(Kw),n=Object.keys(t).filter((t=>!o.has(t)));n.forEach((e=>this.otherSourceData[e]=t[e])),this.options.sorting?.defaultSettings&&(this.sorting.settings=this.options.sorting.defaultSettings),this.calcHeaderHeights()}getSourceData(){const t={index:this.index,name:this.name,tab:this.tab,columns:this.columns.map((t=>t.getSourceData())),rows:this.rows.map((t=>t.getSourceData())),styles:this.styles.getSourceData(),rules:this.conditionalFormats.getSourceData(),sparklines:this.sparklines.getSourceData(),options:this.options};this._properties&&(t.props=this._properties);const e=[];let i;for(let t=0;t<this.rows.length;t++)for(let o=0;o<this.columns.length;o++)i=this.rows[t].cell(o).getSourceData(),Object.keys(i).length>0&&(i.r=t,i.c=o,e.push(i));e.length>0&&(t.cells=e);const o=[];return this.styles.clean(),this.styles.map.forEach((t=>o.push(t))),o.length>0&&(t.styles=o),new Set([...Object.keys(this.otherModels??{}),...Object.keys(this.otherSourceData??{})]).forEach((e=>t[e]=this.otherModels[e]?Array.from(this.otherModels[e]).map((t=>t.getSourceData())):this.otherSourceData[e])),t}calcHeaderHeights(){this._headerCount=0,this._headerHeights=[],this.columns.forEach((t=>{this._headerCount=t.header?t.header.length:this._headerCount,this._headerHeights.length<this._headerCount&&this._headerHeights.push(...Array(this._headerCount-this._headerHeights.length).fill(0)),t.header?.forEach(((t,e)=>{e>=this._headerHeights.length&&this._headerHeights.push(0),this._headerHeights[e]=Math.max(this._headerHeights[e],t.height??0)}))}))}indexRows(){this.visibleRows=[],this.rows.forEach(((t,e)=>{t.index=e,t.isLoaded||(t.collapsed=!0),t.hidden||t.filterState==pn.Filtered||this.visibleRows.push(t)}))}indexVisibleRows(){this.visibleRows=[];let t=0;if(this._levelBasedRowTree){if(this.rowRoot.walkVisible((e=>{e.visibleIndex=t++,this.visibleRows.push(e)})),this.options.rowTree.reversed){const e=new Array(this.visibleRows.length);this.visibleRows.forEach(((i,o)=>{t=this.visibleRows.length-o-1,i.visibleIndex=t,e[t]=i})),this.visibleRows=e}}else this.rowRoot.walkVisible((t=>this.visibleRows[t.index]=t)),this.visibleRows=this.visibleRows.filter((e=>!!e&&(e.visibleIndex=t++,!0)))}indexRowsByTree(){this.rows=[];let t=0;this.rowRoot.walk((e=>{e.index=t++,this.rows.push(e)})),this.options.rowTree.reversed&&this.rows.reverse(),this.indexVisibleRows()}indexColumns(){this.visibleColumns=[],this.columns.forEach(((t,e)=>{t.index=e,t.hidden||this.visibleColumns.push(t)}))}indexVisibleColumns(){this.visibleColumns=[],this.visibleColumnIndex={};let t=0;if(this.colRoot.walkVisible((e=>{e.visibleIndex=t,this.visibleColumnIndex[e.index]=t++,this.visibleColumns.push(e)})),this.options.columnTree.reversed){this.visibleColumnIndex={};const e=new Array(this.visibleColumns.length);this.visibleColumns.forEach(((i,o)=>{t=this.visibleColumns.length-o-1,i.visibleIndex=t,this.visibleColumnIndex[i.index]=t,e[t]=i})),this.visibleColumns=e}this.indexHeaders()}indexHeaders(){this._mergedHeaders=[],this._headerCount=0,this.colRoot.walkVisible((t=>{this._headerCount=Math.max(t.header?t.header.length:0,this._headerCount),t.mergedHeaders.forEach((e=>this._mergedHeaders.push({h:e,c:t.index,r:e.r,cs:t.calculateRealColspan(e.cs??1),rs:e.rs??1})))})),this._mergedHeaders.forEach((t=>{if(!t.h.hidden)for(let e=t.c;e<t.c+t.cs;e++)for(let i=t.r;i<t.r+t.rs;i++)(i>t.r||e>t.c)&&this.columns[e]&&this.columns[e].header[i]&&(this.columns[e].header[i].hidden=!0)})),this.calcHeaderHeights()}removeHeader(t){this.columns.forEach((e=>{t<e.header.length&&e.header.splice(t,1)})),this.indexHeaders()}clear(){this.clearRows(),this.clearColumns(),this.resetViewport()}resetViewport(){return this._viewport=null,this}getViewport(t,e,i){const o=[],n=[];let r,s,a=e.h,l=0;for(l=0;l<i.t;l++)r=this.visibleRows[l],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)r=this.visibleRows[l],a-=r.height;for(l=i.t+t.r;a>0&&l<this.visibleRows.length;)r=this.visibleRows[l++],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)o.push(this.visibleRows[l]);let c=e.w,h=0;for(h=0;h<i.l;h++)s=this.visibleColumns[h],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)s=this.visibleColumns[h],c-=s.width;for(h=i.l+t.c;c>0&&h<this.visibleColumns.length;)s=this.visibleColumns[h++],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)n.push(this.visibleColumns[h]);return this._viewport={rows:o,columns:n}}calculateViewport(){return this._viewport?this.calculations.calculateViewport(this._viewport):[]}getValuesInRange(t,e=!1){if(!(t=t.intersect(this.gridRange)))return[];const{columns:i,rows:o}=t.size,n=new Array(o);let r,s=0,a=0;for(let o=t.r1;o<=t.r2;o++){n[s]=new Array(i),a=0,r=this.rows[o];for(let i=t.c1;i<=t.c2;i++)n[s][a++]=e?r.cell(i).formattedValue:r.cell(i).value;++s}return n}setRowExpandLevel(t){this.rows.forEach((e=>{e.collapsed=!e.isLoaded&&!e.isPartialyLoaded||e.level>=t,e.level<=t&&(e.hidden=!1)})),this.indexVisibleRows()}setColumnExpandLevel(t){this.columns.forEach((e=>e.collapsed=e.level>=t)),this.indexVisibleColumns()}getViewportRange(){return this._viewport?new av(this._viewport.columns[0].index,this._viewport.rows[0].index,this._viewport.columns[this._viewport.columns.length-1].index,this._viewport.rows[this._viewport.rows.length-1].index):null}get gridRange(){return new av(0,0,this.columns.length-1,this.rows.length-1)}getRangeIterator(t,e=!1){return new Rw(this,e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange))}getInitializedCellIterator(){return new Rw(this,this.gridRange,!0)}getRowIterator(t,e=!1){return t=e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange),new Iw(this,t,"rows")}getColumnIterator(t,e=!1){return t=e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange),new Iw(this,t,"columns")}getCellArray(t){const e=[];for(const i of this.getRangeIterator(t))e.push(i);return e}transformRangeToMatrix(t,e){let i,o,n;const r=[];for(let s=(t=t.intersect(this.gridRange)).r1;s<=t.r2;s++)if(i=this.rows[s],i){n=[];for(let r=t.c1;r<=t.c2;r++)o=i.cell(r),o&&n.push(e(o));r.push(n)}return r}getCellMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t))}getValueMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t.value))}shiftMerges(t){const{index:e,offset:i,direction:o}=t,n={down:t=>{e<=t.r?t.r+=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs+=i)},up:t=>{e<=t.r?t.r-=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs-=i)},right:t=>{e<=t.c?t.c+=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs+=i)},left:t=>{e<=t.c?t.c-=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs-=i)}};this.mergedCells.forEach(n[o]),this.indexHiddenCells()}indexHiddenCells(){this._hiddenCells.clear(),this.mergedCells.forEach((t=>{if(!(t.r>0||this._hiddenCells.has(t.r)&&this._hiddenCells.get(t.r).has(t.c)))for(let e=t.r;e<t.r+t.rs;e++)for(let i=t.c;i<t.c+t.cs;i++)(e>t.r||i>t.c)&&(this._hiddenCells.has(e)||this._hiddenCells.set(e,new Map),this._hiddenCells.get(e).set(i,t))}))}shift(t){t.sheet=this.name,this.shiftMerges(t),this.calculations.shift(t),this.names.shift(t),this.comments.shift(t),this.sparklines.shift(t)}clearCalculations(t=!1){t&&this.group?this.group.models.forEach((t=>t.calculations.refresh())):this.calculations.refresh()}refreshSparklines(){this.sparklines.updateRangeMaps();for(const t of this.getInitializedCellIterator())t.invalidateStyle()}clearCalculatedStyles(){this.conditionalFormats.refresh();const t=[];for(const e of this.getInitializedCellIterator())t.push(e),e.invalidateStyle()}insertColumns(t,e,i=!1){const o=this.columns[Math.min(this.columns.length-1,t)].parent;i&&++t,this.shift({index:t,offset:e,direction:"right"});for(let i=0;i<this.rows.length;i++)this.rows[i].insertColumns(t,e,!1);const n=new Array(e).fill(null).map((()=>new iw(this)));return this.columns.splice(t,0,...n),this.maxColumnLevel>0&&o.insertChildren(n,t-(o.index||-1)-1),this.indexColumns(),this.clearCalculations(!0),n}deleteColumns(t,e){const i=this.columns[t].parent;this.shift({index:t,offset:e,direction:"left"});const o=[];for(let i=0;i<this.rows.length;i++)o.push(this.rows[i].deleteColumns(t,e,!1));const n=this.columns.splice(t,e);return i?.deleteChildren(n),this.indexColumns(),this.clearCalculations(!0),n}insertRows(t,e,i=!1){const o=Math.min(this.rows.length-1,t),n=o<0?this.rowRoot:this.rows[o].parent;i&&++t;const r=isNaN(e)?e.length:e;this.shift({index:t,offset:r,direction:"down"});const s=isNaN(e)?e:new Array(r).fill(null).map((()=>new Aw(this)));return this.rows.splice(t,0,...s),this.maxRowLevel>0&&n.insertChildren(s,t-(n.index||-1)-1),this.indexRows(),this.theme&&(Xw(this.theme,this,s),qw(this.theme,this,new av(0,s[0].index,1/0,s[s.length-1].index))),this.clearCalculations(!0),s}deleteRows(t,e){const i=this.rows[t].parent;this.shift({index:t,offset:e,direction:"up"});const o=this.rows.splice(t,e);return i?.deleteChildren(o),this.indexRows(),this.clearCalculations(!0),o}moveRows(t,e,i){const o=this.rows.splice(t,e);return this.rows.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"down",maxIndex:t+e-1}),this.indexRows(),this.clearCalculations(!0),o}moveColumns(t,e,i){const o=this.columns.splice(t,e);return this.columns.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"right",maxIndex:t+e-1}),this.indexColumns(),this.clearCalculations(!0),o}spillValues(t){const{cell:e,values:i,displayValues:o,propertyCell:n}=t,r=[],s=[],a=0===i.length||0===i[0].length;let l,c;const h=a?null:new av(e.c,e.r,e.c+i[0].length-1,e.r+i.length-1);if(e.spillRange&&this.getRangeIterator(e.spillRange,!0).forEach((t=>{e==t||h?.contains(t.range)||t.clearSpilledValue()})),e.spillRange=h,a)return{cells:r,oldValues:s,range:null};for(let t=h.r1;t<=h.r2;t++){if(l=this.rows[t],!l)continue;const a=t-h.r1;for(let t=h.c1;t<=h.c2;t++){const d=t-h.c1;c=l.cell(t),c.editable&&(s.push(c.value2),c.spillValue(i[a][d],e),n&&(c.format=n.format,c.type=n.type),o&&null!=o[a][d]&&(c.displayValue=o[a][d]),r.push(c))}}return{cells:r,oldValues:s,range:h}}getCellByName(t,e,i=!0){return this.names.getCellByName(t,e)||(this.group&&i?this.group.getCellByName(t,e):null)}getRangeByName(t,e=!0){return this.names.getRangeByName(t)||(this.group&&e?this.group.getRangeByName(t):null)}getValueMatrixByName(t,e=!0){const i=this.names.getRangeByName(t);return i?this.getValueMatrix(i):this.group&&e?this.group.getValueMatrixByName(t):null}rebuildRowTree(){const t=this._levelBasedRowTree?fn:vn;this._maxRowLevel=t(this.rows,this.rowRoot,{reverse:this.options.rowTree.reversed}),this.indexRowsByTree()}rebuildColumnTree(){const t=this._levelBasedColTree?fn:vn;this._maxColumnLevel=t(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}),this.indexColumns()}calculateCellOffset(t){let e=0,i=0;for(let i=0;i<t.c1&&this.columns[i];i++)e+=this.columns[i].width;for(let e=0;e<t.r1&&this.rows[e];e++)i+=this.rows[e].height;return{x:e,y:i}}}class tx{get errors(){return this._errors}get(t){return this.models.get(t)}has(t){return this.models.has(t)}getNewName(){let t;do{t=`sheet${this._max}`}while(this.models.has(t));return t}add(t){if(t.index=t.index??this._max,++this._max,t.name=t.name||this.getNewName(),this.models.has(t.name))throw Error(`sheet "${t.name}" already exists`);return this.models.set(t.name,t),t.group=this,t}duplicate(t){const e=this.get(t);if(!e)return;const i=new Jw(e.getSourceData(),e.options);let o=1;for(;this.models.has(`${t}_${o}`);)++o;return i.name=`${t}_${o}`,this.add(i),i}remove(t){return this.models.delete(t),this}rename(t,e){if(this.has(t)){if(this.has(e))throw new Error(`Model '${e}' already exists`);const i=this.get(t);i.name=e,this.models.set(e,i),this.models.delete(t),this.models.forEach((i=>{i.calculations.renameSheet(t,e)&&i.calculateViewport()}))}return this}clear(){this.models.clear(),this._errors=[]}constructor(t){this._max=0,this.models=new Map,this.themes=new Map,this._errors=[],t&&this.populate(t)}populate(t){this.clear(),t.models.forEach((t=>{const e=new Jw(t);try{this.add(e)}catch(t){this.errors.push(t)}})),t.themes&&t.themes.forEach((t=>this.themes.set(t.name,t)))}getSourceData(){const t={models:[]};return this.models.forEach((e=>t.models.push(e.getSourceData()))),t}getCellByName(t,e){for(const i of this.models.values()){const o=i.getCellByName(t,e,!1);if(o)return o}return null}getRangeByName(t){for(const e of this.models.values()){const i=e.getRangeByName(t,!1);if(i)return i}return null}getValueMatrixByName(t){for(const e of this.models.values()){const i=e.getValueMatrixByName(t,!1);if(i)return i}return null}}class ex{constructor(t){this.model=t,this.stack=[],this.restack=[]}push(t){return this.restack=[],t.timestamp||(t.timestamp=Date.now()),this.stack.push(t),this}pop(t=1){let e=0;const i=[];for(;e++<t&&this.stack.length>0;){const t=this.stack.pop();i.push(t),this.restack.push(t)}return i}pop2(t=1){let e=0;const i=[];for(;e++<t&&this.restack.length>0;){const t=this.restack.pop();i.push(t),this.stack.push(t)}return i}}class ix{get activeCellCoords(){return{c:this.range.c1+this.activeCell.c1,r:this.range.r1+this.activeCell.r1}}constructor(t,e,i,o){this.hidden=!1,this.range=new av(t,e,i,o),this.activeCell=new av(0,0)}static fromRange(t){return new ix(t.c1,t.r1,t.c2,t.r2)}setCoords(t,e,i,o){this.range.setCoords(t,e,i,o),this.activeCell.setCoords(0,0)}setRange(t){"string"==typeof t&&(t=av.fromA1(t)),this.range.setCoords(t.c1,t.r1,t.c2,t.r2),this.activeCell.setCoords(0,0)}move(t,e,i,o){this.range.setCoords(this.range.c1+this.activeCell.c1,this.range.r1+this.activeCell.r1,this.range.c1+this.activeCell.c2,this.range.r1+this.activeCell.r2),this.range.move(t,e,i,o,!1),this.activeCell.setCoords(0,0)}moveRange(t,e,i,o){this.range.move(t,e,i,o,!0)}moveActiveCell(t,e){const{columns:i,rows:o}=this.range.size;this.activeCell.move(t,e,i,o,!0)}}const ox={...jf,CUSTOM_CLIPBOARD_TYPE:"web application/json"};class nx{constructor(t,e,i=ox.MAX_CACHE_ITEMS){this.maxCacheItems=i,this.queue=[],this.disabled=!1,this.table=new Array(e).fill(null).map((()=>new Array(t)))}get(t,e){return this.table[e][t]}delete(t,e){return this.table[e][t]=null,this}deleteColumn(t){for(let e=0;e<this.table.length;e++)this.table[e][t]=null;return this}deleteRow(t){return this.table[t]=new Array(this.table[0].length).fill(null),this}set(t,e,i){this.disabled||(this.get(t,e)||this.queue.push([e,t]),this.table[e][t]=i)}clear(){this.queue=[],this.table=this.table.map((t=>new Array(t.length)))}clean(){if(this.maxCacheItems>0&&this.queue.length>this.maxCacheItems){let t=this.queue.length;for(let e=0;e<this.queue.length;e++){const i=this.queue[e];if(!this.table[i[0]][i[1]].parentNode&&(this.queue[e]=null,this.table[i[0]][i[1]]=null,--t<=this.maxCacheItems))break}t<this.queue.length&&(this.queue=this.queue.filter((t=>t)))}}}var rx=function(t,e,i,o){var n,r=arguments.length,s=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,i,s):n(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s};let sx=class extends rs{constructor(){super(),this.render=()=>Pr`
2763
+ `,Nf={enabled:!1,includeChildren:!0,includeParents:!0},Pf={enabled:!0,reversed:!1},jf={ROW_HEIGHT:22,RESIZE_TRESHOLD:10,ROW_HEADER_WIDTH:60,SLIDER_SIZE:12,EXPANDER_SIZE:13,MAX_CACHE_ITEMS:5e3,CACHE_CLEAN_INTERVAL:30,COMMENT_HIDE_TIMEOUT:1e3,SELECTOR_BORDER_WIDTH:2,MIN_ROW_HEIGHT:5,MIN_COL_WIDTH:5,SPARKLINE_GAP:4,AUTOSCROLL_TRESHOLD:100,AUTOSCROLL_RATIO:1.1,AUTOSCROLL_INTERVAL:100,DEFAULT_SPARKLINE_OPTIONS:{minValue:"auto",maxValue:"auto",type:"line",style:{color:"0094FF",weight:1},marker:{color:"ff0000"}},DEFAULT_OPTIONS:{rows:100,columns:20,readOnly:!1,rowNumbers:!0,rowPriority:2,rowTree:{enabled:!0},columnTree:{enabled:!0},colLetters:!0,emptyPlaceholder:!0,freezeTop:0,fontSize:12,rowHeight:22,rowResize:!0,columnWidth:100,columnResize:!0,columnPriority:1,freezeLeft:0,freezeRight:0,freezeBottom:0,maxSortingColumns:3,numberFormat:null,levelIndentFactor:2,cellIndentFactor:10,emptyClickable:!1,grid:!0,autofill:!0,undoRedo:!0,commandWindow:!0,cellCache:!0,singleCellModel:!1,zoom:1,editing:{rowInsertion:!0,rowDeletion:!0,colInsertion:!0,colDeletion:!0,rowOutline:!0,colOutline:!0,dateCalendarEditor:!1},comments:{hideTimeout:1e3,offsetX:30,offsetY:-30,zIndex:500,headerPosition:"top"},scrolling:{verticalOverscroll:!0,horizontalOverscroll:!0,scrollbarVisibilityTreshold:100},selecting:{enabled:!0,multiSelect:!0},events:{click:{mouseMoveTreshold:10}},clipboard:{pasteProps:["v","dv"],rowPasteMode:"rewrite_append",columnPasteMode:"rewrite"},print:{dpi:600,margins:{left:6.35,right:6.35,top:19.05,bottom:19.05,header:7.62,footer:7.62},orientation:"portrait",paper:"A4"}},...U},Vf=/^(?!.*[\\\/\*\[\]\:\?"])(.{1,31})$/;function Bf(t){return Vf.test(t)}function Ff(t){return["\\","/","*","[","]",":","?",'"'].forEach((e=>t=t.replace(new RegExp(`\\${e}`,"g"),""))),t}function Wf(t,e){return!isNaN(t)&&null!=t||!isNaN(e)&&null!=e||(t=null==t?"":lt(t.toString()).toLowerCase(),e=null==e?"":lt(e.toString()).toLowerCase()),t>e?1:t<e?-1:0}function Uf(t,e){const i=X(e);return X(t)?(t=t.toString().trim()).startsWith("=")?0==Wf(e,i?t.substring(1):parseFloat(t.substring(1))):t.startsWith(">=")?Wf(e,i?t.substring(2):parseFloat(t.substring(2)))>=0:t.startsWith("<=")?Wf(e,i?t.substring(2):parseFloat(t.substring(2)))<=0:t.startsWith(">")?Wf(e,i?t.substring(1):parseFloat(t.substring(1)))>0:t.startsWith("<")?Wf(e,i?t.substring(1):parseFloat(t.substring(1)))<0:0==Wf(e,i?t:isNaN(t)?t||"":parseFloat(t)):e==t}const Gf=new Map([["=",["==",1,0]],[">",[">",1,0]],["<",["<",1,0]],[">=",[">=",1,0]],["<=",["<=",1,0]],["+",["+",2,0]],["-",["-",2,0]],["*",["*",3,0]],["/",["/",3,0]]]),Yf=t=>["=",">","<",">=","<="].includes(t),qf=t=>["+","-","*","/"].includes(t),Zf=t=>qf(t)||Yf(t);function Xf(t,e,i){switch(i){case"+":return t+e;case"-":return t-e;case"*":return t*e;case"/":return t/e;case"=":return 0==Wf(t,e);case">":return Wf(t,e)>0;case"<":return Wf(t,e)<0;case">=":return Wf(t,e)>=0;case"<=":return Wf(t,e)<=0;default:throw new Error(`Invalid operator: ${i}`)}}function Qf(t,e,i){const o=Array.isArray(t),n=Array.isArray(e);if(!o&&!n)return[[Xf(t,e,i)]];const r=Math.max(o?t.length:0,n?e.length:0),s=Math.max(o?t[0].length:0,n?e[0].length:0),a=[];for(let l=0;l<r;l++){const r=[];for(let a=0;a<s;a++){const s=o?t[l]?.[a]:t,c=n?e[l]?.[a]:e,h=null==s&&null==c?null:Xf(s,c,i);r.push(h)}a.push(r)}return a}var Kf;!function(t){t[t.Number=0]="Number",t[t.Boolean=1]="Boolean",t[t.String=2]="String",t[t.StringQuote=3]="StringQuote",t[t.Function=4]="Function",t[t.ArgumentSeparator=5]="ArgumentSeparator",t[t.OpenBracket=6]="OpenBracket",t[t.CloseBracket=7]="CloseBracket",t[t.Operator=8]="Operator",t[t.Cell=9]="Cell",t[t.Variable=10]="Variable",t[t.Range=11]="Range",t[t.Sheet=12]="Sheet",t[t.SheetQuote=13]="SheetQuote",t[t.SheetSeparator=14]="SheetSeparator",t[t.Unknown=15]="Unknown",t[t.Operand=16]="Operand"}(Kf||(Kf={}));const Jf=t=>t===Kf.Number||t===Kf.Boolean||t===Kf.String||t===Kf.Cell||t===Kf.Variable||t===Kf.Range,tv=t=>t>=48&&t<=57,ev=t=>"true"===(t=t.toLowerCase())||"false"===t,iv=t=>t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=687,ov={decimalPoint:".",stringQuote:'"',sheetQuote:"'",argumentSeparator:","};class nv{constructor(t){this.options=Object.assign(ov,t)}tokenize(t){const e=[],i=t.length;let o,n,r,s,a=0,l="",c=!1,h=!1,d=!1;for(;a<i;){if(o=t.charAt(a),n=o.charCodeAt(0),"="==o&&0==a)++a;else if(tv(n)){for(l=(d?"-":"")+o,++a;a<i;)if(o=t.charAt(a),n=o.charCodeAt(0),tv(n))l+=o,++a;else{if(o!==this.options.decimalPoint)break;l+=".",++a}d=!1,e.push([l,Kf.Number])}else if(iv(n)||"$"==o){l=o,r=null,++a;do{if(o=t.charAt(a),n=o.charCodeAt(0),iv(n)||tv(n)||"."===o||"$"===o||"_"===o)"_"==o?r=Kf.Variable:tv(n)&&!c&&null==r&&(r=Kf.Cell),l+=o,++a,a==i&&e.push([l,r||Kf.Variable]);else{if("("==o){e.push([l.toUpperCase(),Kf.Function]),e.push([o,Kf.OpenBracket]),++a;break}if("'"==o)e.push([l,Kf.Sheet]),l="",e.push([o,Kf.SheetQuote]),c=!0,++a;else if(":"==o)r=Kf.Range,l+=o,++a;else{if(!c||" "!=o){if("!"==o){""!==l&&e.push([l,Kf.Sheet]),e.push([o,Kf.SheetSeparator]),c=!1,l="",++a;break}e.push([l,r||(ev(l)?Kf.Boolean:Kf.Variable)]);break}l+=o,++a}}}while(a<i)}else if(Zf(o)){if("-"===o&&tv(t.charCodeAt(a+1))&&(null==s||"("==s[0]||Yf(s[0])||s[1]==Kf.ArgumentSeparator))d=!0;else{for(l=o;Yf(t.charAt(a+1));)l+=t.charAt(++a);e.push([l,Kf.Operator])}++a}else if("("===o)e.push([o,Kf.OpenBracket]),++a;else if(")"===o)e.push([o,Kf.CloseBracket]),++a;else if("'"===o)e.push([o,Kf.SheetQuote]),c=!0,++a;else if(o===this.options.argumentSeparator)e.push([o,Kf.ArgumentSeparator]),++a;else if(o===this.options.stringQuote){for(h=!1,e.push([o,Kf.StringQuote]),l="";++a<i;){if(o=t.charAt(a),o===this.options.stringQuote){h=!0,++a;break}l+=o}e.push([l,Kf.String]),h&&e.push([this.options.stringQuote,Kf.StringQuote])}else e.push([o,Kf.Unknown]),++a;s=e[e.length-1]}return e}}function rv(t,e,i=null,o=!0){return t+=e,0==e?t:t>=0?i?o?t%i:Math.min(t,i-1):t:o&&i?i+t%i:Math.max(t,0)}const sv=/(?:'?([\w\s]*)'?!)?(\$?)([a-z]*)(\$?)(\d*)(?::(\$?)([a-z]*)(\$?)(\d*))?/i;class av{constructor(t,e,i,o,n){this.setCoords(t,e,i,o),this.sheet=n}setCoords(t,e,i,o){this.c1=null==t&&null==i?0:t,this.r1=null==e&&null==o?0:e,this.c2=null==o&&null!=t||null!=i?null==i?t:i:1/0,this.r2=null==i&&null!=e||null!=o?null==o?e:o:1/0,this.normalize()}get size(){return{columns:this.c2-this.c1+1,rows:this.r2-this.r1+1}}get count(){const{columns:t,rows:e}=this.size;return t*e}normalize(){const[t,e]=[Math.min(this.c1,this.c2),Math.max(this.c1,this.c2)],[i,o]=[Math.min(this.r1,this.r2),Math.max(this.r1,this.r2)];return this.c1=t,this.c2=e,this.r1=i,this.r2=o,this}move(t,e,i=null,o=null,n=!0){const r=rv(this.c1,t,i,n);n&&(e+=this.c1+t!=r&&0!=t?t>0?1:-1:0),this.c1=r,this.r1=rv(this.r1,e,o,n),this.c2=rv(this.c2,t,i,n),this.r2=rv(this.r2,e,o,n)}contains(t){return t.c1>=this.c1&&t.c2<=this.c2&&t.r1>=this.r1&&t.r2<=this.r2}containsColumn(t){return this.c1<=t&&this.c2>=t}containsRow(t){return this.r1<=t&&this.r2>=t}removeAnchors(){return this.c1Anchor=!1,this.c2Anchor=!1,this.r1Anchor=!1,this.r2Anchor=!1,this}addAnchors(){return this.c1Anchor=!0,this.c2Anchor=!0,this.r1Anchor=!0,this.r2Anchor=!0,this}shiftLeft(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1-=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2-=e),this}shiftRight(t,e=1,i=null,o=!1){return t<=this.c1&&(o||!this.c1Anchor)&&(null==i||this.c1<=i)&&(this.c1+=e),t<=this.c2&&(o||!this.c2Anchor)&&(null==i||this.c2<=i)&&(this.c2+=e),this}shiftUp(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1-=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2-=e),this}shiftDown(t,e=1,i=null,o=!1){return t<=this.r1&&(o||!this.r1Anchor)&&(null==i||this.r1<=i)&&(this.r1+=e),t<=this.r2&&(o||!this.r2Anchor)&&(null==i||this.r2<=i)&&(this.r2+=e),this}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,ignoreAnchors:r}=t;switch(o){case"down":return this.shiftDown(e,i,n,r);case"up":return this.shiftUp(e,i,n,r);case"left":return this.shiftLeft(e,i,n,r);case"right":return this.shiftRight(e,i,n,r)}}intersect(t){this.normalize(),t.normalize();const e=Math.max(t.c1,this.c1),i=Math.min(t.c2,this.c2),o=Math.max(t.r1,this.r1),n=Math.min(t.r2,this.r2);return e<=i&&o<=n?new av(e,o,i,n,this.sheet):null}unite(t){return this.normalize(),t.normalize(),new av(Math.min(this.c1,t.c1),Math.min(this.r1,t.r1),Math.max(this.c2,t.c2),Math.max(this.r2,t.r2),this.sheet)}clone(){const t=new av(this.c1,this.r1,this.c2,this.r2,this.sheet);return t.c1Anchor=this.c1Anchor,t.r1Anchor=this.r1Anchor,t.c2Anchor=this.c2Anchor,t.r2Anchor=this.r2Anchor,t}equals(t,e=!1){return t.c1==this.c1&&t.r1==this.r1&&t.c2==this.c2&&t.r2==this.r2&&(0==e||t.c1Anchor==this.c1Anchor&&t.r1Anchor==this.r1Anchor&&t.c2Anchor==this.c2Anchor&&t.r2Anchor==this.r2Anchor)}get isCell(){return this.c2==this.c2&&this.r2==this.r1}get isRange(){return this.c2!=this.c1||this.r2!=this.r1}get isColumn(){return 0==this.r1&&this.r2==1/0}get isRow(){return 0==this.c1&&this.c2==1/0}get A1(){const t=this.isRange,e=(this.c1Anchor?"$":"")+(0!==this.c1||this.c2!==1/0?hv(this.c1):"")+(0===this.r1&&this.r2===1/0?"":(this.r1Anchor?"$":"")+lv(this.r1)),i=t?(this.c2Anchor?"$":"")+(!isNaN(this.c2)&&this.c2<1/0?hv(this.c2):"")+(this.r2Anchor?"$":"")+(!isNaN(this.r2)&&this.r2<1/0?lv(this.r2):""):e;return(null==this.sheet?"":((o=this.sheet).indexOf(" ")>-1?"'"+o+"'":o)+"!")+(e==i?e:e+":"+i);var o}get bounds(){return[[new av(this.c1,this.r1),this.c2<1/0?new av(this.c2,this.r1):null],[this.r2<1/0?new av(this.c1,this.r2):null,this.r2<1/0&&this.c2<1/0?new av(this.c2,this.r2):null]]}*cells(){for(let t=this.r1;t<=this.r2;t++)for(let e=this.c1;e<=this.c2;e++)yield new av(e,t)}static fromA1(t){const e=sv.exec(t),i=new av(e[3]?dv(e[3]):null,e[5]?cv(e[5]):null,e[7]?dv(e[7]):null,e[9]?cv(e[9]):null,e[1]||null);return!e[2]&&e[3]||(i.c1Anchor=!0),!e[4]&&e[5]||(i.r1Anchor=!0),(e[6]||e[2]&&!e[7])&&(i.c2Anchor=!0),(e[8]||e[4]&&!e[9])&&(i.r2Anchor=!0),i}}function lv(t){return(t+1).toString()}function cv(t){return parseInt(t)-1}function hv(t){++t;let e,i="";for(;t>0;)e=(t-1)%26,i=String.fromCharCode(e+65)+i,t=(t-e-1)/26;return i}function dv(t){const e=t.length;let i=0;for(let o=0;o<e;o++)i+=(t.charCodeAt(o)-64)*Math.pow(26,e-o-1);return i-1}function uv(t){return t.sort(((t,e)=>{const i=Math.min(t.r1,t.r2),o=Math.min(e.r1,e.r2),n=Math.min(t.c1,t.c2),r=Math.min(e.c1,e.c2);return i<o?-1:i>o?1:n<r?-1:r>n?1:0}))}function pv(t){return t.formula.cells.map((e=>t.cell.model.getCellByRange(e[1])))}function gv(t){let e=t;for(;Array.isArray(e);)e=e.length>0?e[0]:null;return e}function mv(t){return Array.isArray(t)?t:[[t]]}function fv(t,e,i,o){if(!Array.isArray(t))return e(t,i,o);for(let o=0;o<t.length;o++)if(!1===fv(t[o],e,null==i?o:i,null==i?void 0:o))return!1}av.fromA1s=(t,e=";")=>t.split(e).map((t=>av.fromA1(t))),av.toA1s=(t,e=";")=>t.map((t=>t.A1)).join(e),av.fromCoords=t=>new av(t.c1,t.r1,t.c2,t.r2),av.fullColumn=t=>new av(t,0,t,1/0),av.fullRow=t=>new av(0,t,1/0,t);const vv=new Set(["SUMPRODUCT","FILTER"]),bv=t=>vv.has(t),yv=t=>!!(t&&t.length>0&&"="==t.charAt(0)),wv=t=>yv(t)?t:"="+(t??""),xv=t=>yv(t)?t.substring(1):t,kv=["#5B97FF","#FF616B","#B77CFF","#00B02C","#FC58BE","#FF9000","#2EB0B3"],Cv=t=>kv[t%kv.length],Mv=new Map([["FORMULATEXT","_xlfn."],["CONCAT","_xlfn."],["INDIRECT","_xlfn."],["ISOWEEKNUM","_xlfn."],["SWITCH","_xlfn."],["XOR","_xlfn."]]);class _v{get fn(){return this._fn??(this._fn=new Function("t","ctx","return "+this.compile()))}get tokens(){return this._tokens}get variables(){return this._variables}get cells(){return this._cells}get ranges(){return this._ranges}get colors(){if(!this._colors){let t;this._colors=new Map,this._tokens.forEach(((e,i)=>{if([Kf.Cell,Kf.Range].includes(e[1])){const o=(t?"'"+t+"'!":"")+e[0];this._colors.set(o,{color:Cv(this._colors.size),address:e[0],sheet:t,type:e[1],tokenIndex:i}),t=null}else e[1]==Kf.Sheet&&(t=e[0])}))}return this._colors}constructor(t,e){this.expression=t,this.tokenizer=e,this._tokens=e.tokenize(this.expression),this.updateDependecies()}findTokenIndexAtPosition(t){let e=0;return this._tokens.findIndex((i=>{const o=i[0].length;if(t>=e&&t<=e+o)return!0;e+=o}))}findSheetTokenIndex(t){const e=this._tokens[t];if(![Kf.Cell,Kf.Range].includes(e[1]))return-1;if(0==t||this._tokens[t-1][1]!=Kf.SheetSeparator)return-1;let i=t-2;for(;i>=0;){if(this._tokens[i][1]==Kf.Sheet)return i;i--}return-1}removeSheetToken(t){if(this._tokens[t][1]!=Kf.Sheet&&(t=this.findSheetTokenIndex(t)),t>-1){t>0&&this._tokens[t-1][1]==Kf.SheetQuote&&t--;let e=t;for(;e<this._tokens.length&&[Kf.SheetSeparator,Kf.SheetQuote,Kf.Sheet].includes(this._tokens[e][1]);)e++;return this._tokens.splice(t,e-t),e-t}return 0}getNamedColor(t){return this.colors.get(t)?.color??"inherit"}getTokenPosition(t){let e=0;for(let i=0;i<t;i++)e+=this._tokens[i][0].length;return{min:e,max:e+this._tokens[t][0].length}}updateToken(t,e){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens[t][0]=e}removeToken(t){this._fn=null,this._formula=null,this._xlFormula=null,this._tokens.splice(t,1)}insertToken(t,e,i){this._fn=null,this._formula=null,this._xlFormula=null;const o=[];return i==Kf.Sheet&&/\s/.test(e)?(o.push([this.tokenizer.options.sheetQuote,Kf.SheetQuote]),o.push([e,Kf.Sheet]),o.push([this.tokenizer.options.sheetQuote,Kf.SheetQuote])):o.push([e,i]),o.push(["!",Kf.SheetSeparator]),this._tokens.splice(t,0,...o),o.length}clone(){return new _v(this.createFormulaString(),this.tokenizer)}updateDependecies(){let t;this._variables=[],this._cells=[],this._ranges=[],this._tokens.forEach(((e,i)=>{switch(e[1]){case Kf.Sheet:t=e[0];break;case Kf.Variable:this._variables.push([i,e[0],t]),t=void 0;break;case Kf.Cell:this._cells.push([i,av.fromA1(e[0]),t]),t=void 0;break;case Kf.Range:this._ranges.push([i,av.fromA1(e[0]),t]),t=void 0}}))}createFormulaString(t=!1,e=!1){const i=this.tokenizer.options;let o,n,r,s="";for(let l=0;l<this._tokens.length;l++)switch(o=this._tokens[l],o[1]){case Kf.SheetQuote:s+="'";break;case Kf.SheetSeparator:s+="!";break;case Kf.Sheet:n=o[0],s+=t?`<span style="font-style:italic">${n}</span>`:n;break;case Kf.Variable:s+=o[0];break;case Kf.Range:case Kf.Cell:r=(n?"'"+n+"'!":"")+o[0],s+=t?`<span style="color:${this.getNamedColor(r)}">${o[0]}</span>`:o[0],n=null;break;case Kf.StringQuote:s+=i.stringQuote;break;case Kf.String:s+=o[0].replace(new RegExp(i.stringQuote,"g"),"\\"+i.stringQuote);break;case Kf.ArgumentSeparator:s+=i.argumentSeparator;break;case Kf.Function:s+=(e?(a=o[0],Mv.get(a)??""):"")+o[0];break;case Kf.Unknown:s+=t?`<span style="background:#f00;color:#fff">${o[0]}</span>`:o[0];break;default:s+=o[0]}var a;return s}createExpressionTree(){const t=[],e=[],i=this.tokens;let o,n,r,s,a,l=null;for(let c=0;c<i.length;c++)switch(o=i[c],o[1]){case Kf.Sheet:l=o[0];break;case Kf.Cell:case Kf.Range:t.push({t:o[0],tt:o[1],s:l}),l=null;break;case Kf.Number:case Kf.String:case Kf.Boolean:case Kf.Variable:t.push({t:o[0],tt:o[1]});break;case Kf.Operator:for(0==t.length&&t.push({t:"",tt:Kf.Operand}),r=Gf.get(o[0]);e.length>0&&(s=Gf.get(e[e.length-1][0]),s)&&(0===r[2]&&r[1]<=s[1]||1===r[2]&&r[1]<s[1]);)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case Kf.Function:case Kf.OpenBracket:e.push(o);break;case Kf.ArgumentSeparator:for(;e.length>0&&(n=e[e.length-1],![Kf.OpenBracket,Kf.ArgumentSeparator].includes(n[1]));)n=e.pop(),a=[t.pop(),t.pop()].reverse(),t.push({t:n[0],tt:n[1],c:a});e.push(o);break;case Kf.CloseBracket:for(a=[];e.length>0&&e[e.length-1][1]!==Kf.OpenBracket;)n=e.pop(),n[1]==Kf.Operator?a.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()}):n[1]==Kf.ArgumentSeparator&&t.length>0&&a.push(t.pop());e.pop(),e.length>0&&e[e.length-1][1]===Kf.Function?(n=e.pop(),a=a.reverse(),t.length>0&&i[c-1][1]!==Kf.OpenBracket&&a.unshift(t.pop()),t.push({t:n[0],tt:n[1],c:a})):t.push(...a)}for(;e.length>0;)n=e.pop(),t.push({t:n[0],tt:n[1],c:[t.pop(),t.pop()].reverse()});return t.pop()}createExpressionJSCode(t,e,i){let o;switch(t.tt){case Kf.Range:return"t.rn('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case Kf.Cell:return"t.cl('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case Kf.Operand:return"t.cl()";case Kf.Variable:return i||e?.tt===Kf.Function?"t.nr('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")":"t.nv('"+t.t+"'"+(t.s?",'"+t.s+"'":"")+")";case Kf.String:return"'"+t.t.replace(/'/g,"\\'")+"'";case Kf.Boolean:return"T"==t.t[0].toUpperCase()?"1":"0";case Kf.Function:return o=t.c.map((e=>this.createExpressionJSCode(e,t,i||bv(t.t)))),"t.fn('"+t.t+"').call(ctx"+(o.length>0?","+o.join(","):"")+")";case Kf.Operator:return i?(o=t.c.map((e=>this.createExpressionJSCode(e,t,i||bv(t.t)))),"t.op("+o[0]+","+o[1]+",'"+t.t+"')"):Gf.has(t.t)?"("+t.c.map((e=>this.createExpressionJSCode(e,t,i))).join(Gf.get(t.t)[0])+")":null;default:return t.t}}compile(){const t=this.createExpressionTree();return this.createExpressionJSCode(t)}toString(t=!1){return(t?"=":"")+(this._formula??(this._formula=this.createFormulaString()))}toExcelString(){return this._xlFormula??(this._xlFormula=this.createFormulaString(!1,!0))}shift(t){const{index:e,offset:i,direction:o,maxIndex:n,sheet:r,allSheets:s}=t;return this._cells&&this._cells.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this._ranges&&this._ranges.forEach((t=>{if(s||null==t[2]||t[2]==r){switch(o){case"up":t[1].shiftUp(e,i,n);break;case"right":t[1].shiftRight(e,i,n);break;case"down":t[1].shiftDown(e,i,n);break;case"left":t[1].shiftLeft(e,i,n)}this._tokens[t[0]][0]=t[1].A1}})),this}hasSheetReference(t){for(const e of this._cells)if(e[2]==t)return!0;for(const e of this._ranges)if(e[2]==t)return!0;for(const e of this._variables)if(e[2]==t)return!0;return!1}renameSheet(t,e){let i=!1;return this._tokens.forEach((o=>{o[1]==Kf.Sheet&&o[0]==t&&(o[0]=e,i=!0)})),i}}function Sv(t,e){return e&&(t=Qo(this.cell.model.options.locale,on(e,"d"),!1)(t)),null==t?"":t.toString()}function Ev(t,e){return(t=null==t?"":t.toString()).substring(0,e)}function zv(t,e){return(t=null==t?"":t.toString()).substring(Math.max(0,t.length-e),t.length)}function Rv(t,e,i){return(t=null==t?"":t.toString()).substring(e,e+i)}function Lv(...t){let e="";return fv(t,(t=>e+=null==t?"":t.toString())),e}function Iv(t){return t instanceof Date?t:X(t)?To(t,fo()):Fo(t)}function Hv(t){return J(t)?t:Bo(t instanceof Date?t:To(t,fo()))}function Tv(t){return X(t)?Hv(t):t}function Av(t,e){const i=Iv(t).getDay();switch(e){case 2:return i;case 3:return i-1;default:return i%7+1}}function Ov(t,e,i){return Wo(Hv(gv(t)),e)}function $v(){return Bo(re(new Date))}function Dv(t){return null==(t=gv(t))||""===t}function Nv(t,e,i){return Bo(new Date(t,e-1,i))}function Pv(t){return Iv(t).getFullYear()}function jv(t){return Iv(t).getMonth()+1}function Vv(t){return Iv(t).getDate()}function Bv(t,e){const i=Iv(t);return i.setMonth(i.getMonth()+e+1),i.setDate(0),Bo(i)}function Fv(t){return bi(Iv(t))}function Wv(t){return Math.acos(t)}function Uv(t){return Math.acosh(t)}function Gv(t){return Math.PI/2-Math.atan(t)}function Yv(t){return.5*Math.log((t+1)/(t-1))}function qv(t){return Math.asin(t)}function Zv(t){return Math.asinh(t)}function Xv(t){return Math.atan(t)}function Qv(t){return Math.atanh(t)}function Kv(t){return Math.cos(t)}function Jv(t){return Math.cosh(t)}function tb(t){return 1/Math.tan(t)}function eb(t){return 1/Math.tanh(t)}function ib(t){return 1/Math.sin(t)}function ob(t){return 1/Math.sinh(t)}function nb(t){return 180*t/Math.PI}function rb(){return Math.PI}function sb(t){return 1/Math.cos(t)}function ab(t){return 1/Math.cosh(t)}function lb(t){return Math.sin(t)}function cb(t){return Math.sinh(t)}function hb(t){return Math.tan(t)}function db(t){return Math.tanh(t)}function ub(t){return Math.abs(t)}function pb(t){if(t<0)throw new Error("#NUM");return Math.ceil(t)}function gb(t){return(t=Math.ceil(t))%2==0?t:t+1}function mb(t){return Math.pow(Math.E,t)}function fb(t){return t<0?-1:0==t?1:t*fb(t-1)}function vb(t){return t<=0?1:t*vb(t-2)}function bb(t){return Math.floor(t)}function yb(t){return t%1!=0}function wb(t){return!yb(t)&&t%2==0}function xb(t){return yb(t)||t%2==1}function kb(t){return Math.log(t)}function Cb(t,e){return Math.log(t)/Math.log(e)}function Mb(t){return Math.log10(t)}function _b(t,e){return t%e}function Sb(t){return(t=Math.ceil(t))%2==0?t+1:t}function Eb(t,e){return Math.pow(t,e)}function zb(...t){let e=1;return fv(t,(t=>e*=t||1)),e}function Rb(t,e){return Math.floor(t/e)}function Lb(t){return t*Math.PI/180}function Ib(){return Math.random()}function Hb(t,e){const i=Array(t).fill(null).map((()=>Array(e)));for(let o=0;o<t;o++)for(let t=0;t<e;t++)i[o][t]=Math.random();return i}function Tb(t,e){return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t}function Ab(t,e){return t.toFixed(e)}function Ob(t,e){return e=e||0,Math.floor(t*Math.pow(10,e))/Math.pow(10,e)}function $b(t,e){return e=e||0,Math.ceil(t*Math.pow(10,e))/Math.pow(10,e)}function Db(t,e,i=1,o=1){const n=Array(t).fill(null).map((()=>Array(e)));let r=i;for(let i=0;i<t;i++)for(let t=0;t<e;t++)n[i][t]=r,r+=o;return n}function Nb(t){return t<0?-1:t>0?1:0}function Pb(t){return Math.sqrt(t)}function jb(t){return Math.sqrt(Math.PI*t)}function Vb(...t){let e=0;return fv(t,(t=>e+=null==t?0:1)),e}function Bb(...t){let e=0;return fv(t,(t=>e+=null==t?1:0)),e}function Fb(t,e){let i=0;return fv(t,(t=>i+=Uf(e,t)?1:0)),i}function Wb(...t){let e=0;const i=new Map;return fv(t,(t=>{i.has(t)||(i.set(t,t),++e)})),e}function Ub(...t){let e=0;return fv(t,(t=>e+=isNaN(t)||null==t||""===t?0:t)),e}function Gb(t,e,i){let o=0;if(i){const n=mv(i);fv(t,((t,i,r)=>o+=Uf(e,t)&&n[i]&&n[i][r]&&!isNaN(n[i][r])?n[i][r]:0))}else fv(t,(t=>o+=Uf(e,t)&&!isNaN(t)?t:0));return o}function Yb(t,e){let i=0;return fv(t,(t=>i+=Uf(e,t)&&!isNaN(t)?t*t:0)),i}function qb(...t){let e=0;const i=t.shift();if(0===t.length)fv(i,(t=>e+=isNaN(t)?0:t));else{const o=mv(t[0]);fv(i,((t,i,n)=>e+=o[i]&&o[i][n]&&!isNaN(t)&&!isNaN(o[i][n])?t*o[i][n]:0))}return e}function Zb(t,e){return t=null==t?"":t.toString(),e?e=>e==t:(t=t.toLowerCase(),e=>(e??"").toString().toLowerCase()==t)}function Xb(t,e,i=1){const o=new av(Math.max((e||0)-1,0),Math.max((t||0)-1,0));return 1!=i&&2!=i||(o.r1Anchor=!0),1!=i&&3!=i||(o.c1Anchor=!0),o.A1}function Qb(t,e,i,o=!1){let n,r;const s=Zb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[n][i-1];return null}function Kb(t,e,i,o=!1){let n,r;const s=Zb(t,o);for(n=0;n<e.length;n++)for(r=0;r<e[n].length;r++)if(s(e[n][r]))return e[i-1][r];return null}function Jb(t,e,i){let o,n;t:for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++)if(e[o][n]==t)break t;return i?i[o]?i[o][n]:null:e[o][e[o].length-1]}function ty(t,...e){let i=null,o=0;return fv(e,(e=>{if(t==++o)return i=e,!1})),i}function ey(t){return(t?av.fromA1(t).c1:this.cell.c)+1}function iy(t){return(t?av.fromA1(t).r1:this.cell.r)+1}function oy(t){return Array.isArray(t)?t[0]?.length:1}function ny(t){return Array.isArray(t)?t.length:1}function ry(){const t=pv(this)[0];return t&&t.hasFormula?" "+wv(t.formula):""}function sy(t,e,i){return e=e||1,i=i||1,Array.isArray(t)?t[e-1]?t[e-1][i-1]:null:1==e&&1==i?t:null}function ay(t){const e=this.cell,i=e.model,o=i.getCellByA1(t);let n;return i.calculations.dependencies.cellDependencies.has(e.address)?n=i.calculations.dependencies.cellDependencies.get(e.address):(n=new Map,i.calculations.dependencies.cellDependencies.set(e.address,n)),n.set(o.address,[o.range]),i.calculations.dependencies.cellDependants.has(o.address)?n=i.calculations.dependencies.cellDependants.get(o.address):(n=new Map,i.calculations.dependencies.cellDependants.set(o.address,n)),n.set(e.address,[e.range]),o.value}function ly(t,e,i=0){let o,n;for(o=0;o<e.length;o++)for(n=0;n<e[o].length;n++){if(0==i&&e[o][n]==t)return Math.max(o+1,n+1);if(1==i&&e[o][n]>t)return Math.max(o+1,n+1);if(-1==i&&e[o][n]<t)return Math.max(o+1,n+1)}return null}function cy(t,e,i,o,n){const r=pv(this)[0],s=[];o=o||1,n=n||1;for(let t=0;t<o;t++){const o=[];for(let s=0;s<n;s++){const n=r.model.rows[r.r+t+e].cell(r.c+s+i);o.push(n?r.value:null)}s.push(o)}return s}function hy(t,e){const i=[];if(t.length==e.length)for(let o=0;o<t.length;o++){let n=!0;for(let t=0;t<e[o].length;t++)if(!e[o][t]){n=!1;break}n&&i.push(t[o])}return i}const dy=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],uy=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]];function py(t){const e=t*t;let i,o=dy[0][4]*e,n=e;for(i=0;i<3;i+=1)o=(o+dy[0][i])*e,n=(n+uy[0][i])*e;return t*(o+dy[0][3])/(n+uy[0][3])}function gy(...t){let e=!0;return fv(t,(t=>{if(!t)return e=!1})),e}function my(...t){let e=!1;return fv(t,(t=>{if(t)return e=!0})),e}function fy(...t){let e=null;return fv(t,(t=>{e=null===e?!!t:!!t!=e})),e}function vy(...t){const e=t[0];for(let i=1;i<t.length;i+=2){if(i==t.length-1)return t[i];if(e==t[i])return t[i+1]}return null}function by(t,e,i){return t?e:i}function yy(t){return!t}function wy(){return!1}function xy(){return!0}function ky(t,e){return e=""===e?null:e,this.cell.hasError?(this.cell.error.handled=!0,e):t===1/0||t===-1/0||Number.isNaN(t)?e:t}var Cy=i(235),My=i.n(Cy),_y=i(5949),Sy=i.n(_y);function Ey(...t){let e=0,i=0;return fv(t,(t=>{null==t||isNaN(t)||(e+=t||0,++i)})),e/i}function zy(t,e){const i=Sy()(),o=mv(t),n=mv(e);for(let t=0;t<o.length;t++)for(let e=0;e<o[t].length;e++)i(o[t][e],(n[t]?n[t][e]:1)??1);return i()}function Ry(...t){const e=function(t){const e=[];return fv(t,(t=>e.push(t))),e}(t),i=My()(e.length,e,1);return e.reduce(((t,e)=>t+Math.abs(e-i)),0)/e.length}function Ly(...t){let e=1/0;return fv(t,(t=>e=Math.min(e,t))),e}function Iy(...t){let e=-1/0;return fv(t,(t=>e=Math.max(e,t))),e}function Hy(t,e){Object.keys(e).forEach((i=>t.set(rt(i,"_").replace(/_/g,".").toUpperCase(),e[i])))}const Ty=new Map;Hy(Ty,M),Hy(Ty,_),Hy(Ty,S),Hy(Ty,E),Hy(Ty,R),Hy(Ty,z),Hy(Ty,L);class Ay{constructor(t){this.model=t,this.getModel=t=>{const e=t?this.model.getConnectedModel(t):this.model;if(e)return e;throw new Error(`Sheet "${t}" not found`)},this.cl=(t,e)=>{const i=this.getModel(e);if(null==t)return this.currentCell.value;const o=i.getCellByA1(t);return o?o.value:(this.currentCell.error={message:`undefined cell ${t}`},null)},this.rn=(t,e)=>this.getModel(e).getValuesInRange(av.fromA1(t)),this.nv=(t,e)=>this.getModel(e).getCellByName(t,this.currentCell.range).value,this.nr=(t,e)=>{const i=this.getModel(e).getValueMatrixByName(t);return 1===i.length&&1===i[0].length?i[0][0]:i},this.fn=t=>{const e=Ty.get(t);if(e)return e;throw new Error(`Function "${t}" not found`)},this.op=(t,e,i)=>Qf(t,e,i)}}function Oy(t,e){const i=Array(e).fill(null);let o=0,n=[];if(t.length>1){n=t.map((t=>parseFloat(t.value)||0)),o=n[1]-n[0];for(let t=2;t<n.length;t++)if(n[t]-n[t-1]!==o){o=0;break}}if(0==o)for(let o=0;o<e;o++)i[o]=t[o%t.length]?.value;else{let t=n[n.length-1];for(let n=0;n<e;n++)t=i[n]=t+o}return i}function $y(t,e,i){const o=new _v(t.formula,t.model.calculations.tokenizer),n=[];for(let t=0;t<i;t++)n.push(wv(o.shift({index:0,offset:1,direction:e,allSheets:!0}).createFormulaString()));return n}function Dy(t,e,i,o){const n=t.getCellMatrix(e);let r;"right"==o?r=Hn(n):"down"==o?r=In(n):"left"==o?r=Rn(n):"up"==o&&(r=Rn(In(n)));const s=new Array(i.size.rows);for(let t=0;t<i.size.rows;t++){s[t]=new Array(i.size.columns);for(let e=0;e<i.size.columns;e++){const i=n.length>t?n[t][n[t].length>e?e:0]:n[0][e];s[t][e]=i.hasDisplayValue?i.displayValue:null}}const a=i.size["down"==o||"up"==o?"rows":"columns"];let l=r.map((t=>t[t.length-1].hasFormula?$y(t[t.length-1],o,a):Oy(t,a)));return"down"==o?l=In(l):"left"==o?l=Rn(l):"up"==o&&(l=Ln(In(l))),t.spillValues({cell:t.getCellByRange(i.bounds[0][0]),values:l,propertyCell:t.getCellByRange(e.bounds[0][0]),displayValues:s})}function Ny(t){return t.pattern&&"string"==typeof t.pattern&&(t.pattern=new RegExp(t.pattern)),t}function Py(t,e){const i=t.validation;if(!i)return!0;if(i.allowInvalid)return!0;let o=!0;return i.pattern&&(i.pattern.test((e??"").toString())||(o=!1)),i.validate&&(i.validate(t,e)||(o=!1)),o}class jy{get address(){return null}get renderer(){return this._renderer}set renderer(t){this._renderer=t}get afterRenderer(){return this._afterRenderer}set afterRenderer(t){this._afterRenderer=t}get commentRenderer(){return this._commentRenderer}set commentRenderer(t){this._commentRenderer=t}get type(){return this._type}set type(t){this._type=t}get name(){return this._name}set name(t){this._name=t}get style(){return this._style}set style(t){this._style=t}get commentable(){return this._commentable}set commentable(t){this._commentable=t}get clickable(){return this._clickable}set clickable(t){this._clickable=t}get editable(){return this._editable}set editable(t){this._editable=t}get validation(){return this._validation}set validation(t){this._validation=t}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){this._formula=t?t.replace(/^=/,""):null}get value2(){return this.hasFormula?wv(this.formula):null}get editorContent(){return this._editorContent}set editorContent(t){this._editorContent=t}get adapter(){return this._adapter}set adapter(t){this._adapter=t}get properties(){return this._properties}set properties(t){this._properties=t}getProperty(t){return this._properties?.[t]}setProperty(t,e){this._properties||(this._properties={}),this._properties[t]=e}get format(){return this._format}set format(t){this._format=t,this._valueFormatter=null}get valueFormatter(){return this._valueFormatter}constructor(t,e){this.model=t,this._type=null,this._clickable=!1,e&&this.populate(e)}populate(t){this._renderer=t.renderer,this._afterRenderer=t.afterRenderer,this._commentRenderer=t.commentRenderer,this._name=t.name,this._type=t.t,this._editorContent=t.content,this._adapter=t.adapter,this._format=t.z,this._formula=t.f,this._editable=t.e,this._commentable=t.commentable,this._clickable=t.clickable,this._validation=t.validation?Ny(t.validation):null,this._properties=t.props,this._style=null==t.s?null:this.model.styles.add(t.s).id}update(t){const e={};if("renderer"in t&&(e.renderer=this._renderer,this._renderer=t.renderer),"afterRenderer"in t&&(this._afterRenderer=t.afterRenderer),"commentRenderer"in t&&(this._commentRenderer=t.commentRenderer),"name"in t&&(e.name=this._name,this._name=t.name),"t"in t&&(e.t=this._type,this._type=t.t),"content"in t&&(e.content=this._editorContent,this._editorContent=t.content),"adapter"in t&&(e.adapter=this._adapter,this._adapter=t.adapter),"z"in t&&(e.z=this._format,this._format=t.z),"f"in t&&(e.f=this._formula,this._formula=t.f),"e"in t&&(e.e=this._editable,this._editable=t.e),"commentable"in t&&(e.commentable=this._commentable,this._commentable=t.commentable),"clickable"in t&&(e.clickable=this._clickable,this._clickable=t.clickable),"validation"in t&&(e.validation=this._validation,this._validation=Ny(t.validation)),"props"in t&&(e.props=this._properties,this._properties=t.props),"s"in t){const i=this.model.styles.add(t.s).id;this._style!==i&&(e.s=this._style,this._style=i)}return e}getSourceData(){const t={};return null!=this._type&&(t.t=this._type),null!=this._format&&(t.z=this._format),null!=this._formula&&(t.f=this._formula),null!=this._editable&&(t.e=this._editable),null!=this._commentable&&(t.commentable=this._commentable),null!=this._clickable&&(t.clickable=this._clickable),this._properties&&(t.props=ot(this._properties)),null!=this._editorContent&&(t.content=q(this._editorContent)?ot(this._editorContent):this._editorContent),null!=this._style&&(t.s=this._style),null!=this._name&&(t.name=this._name),t}setStyleProperties(t,e=!1){this.style=e?this.model.styles.set(this.style,t).id:this.model.styles.duplicate(this.style,t).id}removeStyleProperties(t){null!==this.style&&this.model.styles.unset(this.style,t)}get composedStyle(){return this.model.styles.get(this.style)}}function Vy(t){const e={};return t.split(";").forEach((t=>{const[i,o]=t.split(":");e[i]=o.trim()})),e}const By=new Map([["thin",{width:1.5,style:"solid"}],["medium",{width:2,style:"solid"}],["thick",{width:3,style:"solid"}],["double",{width:3,style:"double"}],["dotted",{width:1.5,style:"dotted"}],["hair",{width:1,style:"solid"}],["dashed",{width:1.5,style:"dashed"}],["mediumDashed",{width:2,style:"dashed"}],["dashDot",{width:1.5,style:"dashed"}],["mediumDashDot",{width:2,style:"dashed"}],["dashDotDot",{width:1.5,style:"dotted"}],["mediumDashDotDot",{width:2,style:"dotted"}],["slantDashDot",{width:1.5,style:"dashed"}],["none",{width:1.5,style:"solid"}]]),Fy=(()=>{const t=new Map;return By.forEach(((e,i)=>{let o=t.get(e.style);o||(o=t.set(e.style,new Map).get(e.style)),o.set(e.width,i)})),t})();function Wy(t){return"middle"==t?"center":t}function Uy(t){return 3==(t="#"==t.charAt(0)?t.substring(1):t).length?t[0]+t[0]+t[1]+t[1]+t[2]+t[2]:t}const Gy=t=>{if("none"==t)return null;const e=t.split(" "),i=parseInt(e[0].charAt(0))||1,o=e.length>1?e[1]:"solid",n=Fy.get(o);return{style:(n?n.get(i):null)??"thin",color:e.length>2?Uy(e[2]):"CCCCCC"}},Yy=t=>{const e=By.get(t.style||"none");return e?[Ot(e.width),e.style,"none"==t.style?"var(--og-cell-background)":t.color?`#${t.color}`:"var(--og-border-color)"].join(" "):"none"},qy=(t,e)=>{const i="#"+(e.fgColor||"000000"),o="#"+(e.bgColor||"FFFFFF");switch(e.patternType){case"solid":t.backgroundColor=i||o;break;case"darkGray":t.backgroundColor=wn(o,.75);break;case"mediumGray":t.backgroundColor=wn(o,.5);break;case"lightGray":t.backgroundColor=wn(o,.25);break;case"gray125":t.backgroundColor=wn(o,.125);break;case"gray0625":t.backgroundColor=wn(o,.0625);break;case"darkHorizontal":t.backgroundImage=`linear-gradient(0deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkVertical":t.backgroundImage=`linear-gradient(90deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkDown":t.backgroundImage=`linear-gradient(45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"darkUp":t.backgroundImage=`linear-gradient(-45deg, ${i} 33.33%, ${o} 33.33%, ${o} 50%, ${i} 50%, ${i} 83.33%, ${o} 83.33%, ${o} 100%)`,t.backgroundSize="6px 6px";break;case"lightHorizontal":t.backgroundImage=`linear-gradient(0deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightVertical":t.backgroundImage=`linear-gradient(90deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightDown":t.backgroundImage=`linear-gradient(45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"lightUp":t.backgroundImage=`linear-gradient(-45deg, ${o} 25%, ${i} 25%, ${i} 50%, ${o} 50%, ${o} 75%, ${i} 75%, ${i} 100%)`,t.backgroundSize="4px 4px";break;case"darkGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightGrid":t.backgroundImage=`linear-gradient(${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px";break;case"darkTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="2px 2px";break;case"lightTrellis":t.backgroundImage=`linear-gradient(45deg, ${o} 0.5px, transparent 0.5px), linear-gradient(90deg, ${o} 0.5px, transparent 0.5px)`,t.backgroundSize="1px 1px"}return t},Zy=(t,e)=>(t.backgroundImage=`linear-gradient(${(e.angle??0)+90}deg,${e.stops.map((t=>`#${t.rgb} ${100*t.v}%`)).join(",")})`,t),Xy=t=>{const e=t.cssStyle?{...t.cssStyle}:{};return null!=t.bold&&(e.fontWeight=t.bold?"bold":"normal"),t.italic&&(e.fontStyle="italic"),t.underline?e.textDecoration="underline":t.strike&&(e.textDecoration="line-through"),t.sz&&(e.fontSize=At(t.sz)),t.color&&(e.color="#"+t.color),t.top&&(e.borderTop=Yy(t.top)),t.right&&(e.borderRight=Yy(t.right)),t.bottom&&(e.borderBottom=Yy(t.bottom)),t.left&&(e.borderLeft=Yy(t.left)),(t.top||t.right||t.bottom||t.left)&&(e.zIndex="1"),t.alignment&&t.alignment.vertical&&(e.display="flex",e.justifyContent=t.alignment.horizontal,e.alignItems="top"==t.alignment.vertical?"start":"bottom"==t.alignment.vertical?"end":"center"),t.alignment&&t.alignment.horizontal&&(e.textAlign=t.alignment.horizontal),t.alignment&&t.alignment.wrapText&&(e.display="flex",e.justifyContent=e.justifyContent??e.textAlign??"left",e.alignItems=e.alignItems??"center",e.whiteSpace="pre-wrap"),t.patternType?qy(e,t):t.stops&&t.stops.length?Zy(e,t):t.fgColor?e.backgroundColor="#"+t.fgColor:t.bgColor&&(e.backgroundColor="#"+t.bgColor),e},Qy=t=>{const e=q(t)?t:Vy(t),i={};let o;for(const t in e){const n=e[t];if(null!=n)switch(t){case"borderTop":case"border-top":i.top=Gy(n);break;case"borderTopColor":case"border-top-color":i.top?i.top.color=Uy(n):i.top={style:"thin",color:Uy(n)};break;case"borderRight":case"border-right":i.right=Gy(n);break;case"borderRightColor":case"border-right-color":i.right?i.right.color=Uy(n):i.right={style:"thin",color:Uy(n)};break;case"borderBottom":case"border-bottom":i.bottom=Gy(n);break;case"borderBottomColor":case"border-bottom-color":i.bottom?i.bottom.color=Uy(n):i.bottom={style:"thin",color:Uy(n)};break;case"borderLeft":case"border-left":i.left=Gy(n);break;case"borderLeftColor":case"border-left-color":i.left?i.left.color=Uy(n):i.left={style:"thin",color:Uy(n)};break;case"border":o=Gy(n),i.top=i.top||o,i.right=i.right||o,i.bottom=i.bottom||o,i.left=i.left||o;break;case"textAlign":case"text-align":i.alignment=i.alignment||{},i.alignment.horizontal=n;break;case"verticalAlign":case"vertical-align":i.alignment=i.alignment||{},i.alignment.vertical=Wy(n);break;case"whiteSpace":case"white-space":i.alignment=i.alignment||{},i.alignment.wrapText=n&&"nowrap"!=n;break;case"color":i.color=Uy(n);break;case"background":case"backgroundColor":i.fgColor=Uy(n);break;case"fontSize":case"font-size":i.sz=parseFloat(n);break;case"fontWeight":case"font-weight":i.bold="bold"==n;break;case"fontStyle":case"font-style":i.italic="italic"==n;break;default:i[t]=n}}return i},Ky={n:t=>{const e=X(t)?parseFloat(t):t;return Number.isNaN(e)?t:e},t:t=>t,d:(t,e)=>X(t)?Q(t)?K(t):Bo(To(t,e.model.options.formatLocale)):t instanceof Date?Bo(t):t,tm:t=>X(t)?new Date(t):t,dt:t=>X(t)?new Date(t):t,b:t=>!!t&&"0"!==t&&"false"!==t.toString().toLowerCase(),s:t=>t,m:t=>t,g:t=>{if(null==t)return null;const e=parseFloat(t);return isNaN(e)?t:e},a:t=>X(t)&&""!==t?JSON.parse(t):t,h:t=>t},Jy=new Map;class tw extends jy{get tooltip(){return this._tooltip}set tooltip(t){this._tooltip=t}get hasTooltip(){return null!=this._tooltip}get rowspan(){return this._rowspan}set rowspan(t){this._rowspan=t}get colspan(){return this._colspan}set colspan(t){this._colspan=t}get row(){return this._row}get r(){return this._row.index}set row(t){this._row=t,this._address=null}get column(){return this._column}set column(t){this._column=t,this._address=null}get c(){return this._column.index}get hasValue(){return null!=this._value}get value(){return this._evaluated||this.evaluate(),this._value}set value(t){if(t&&yv(t.toString()))this._value=void 0,this.formula=t;else{let e=Ky[this.type](t,this);Py(this,e)||(e=void 0),e!==this._value&&(this._value=e,this._displayValue=void 0),this.row.data&&this.column.data&&(this.row.data[this.column.data]=this._value)}}evaluate(){return this._value=Ky[this.type](this.model.calculations.evaluate(this),this),this._evaluated=!0,this._value}get value2(){return this.hasFormula?wv(this.formula):this.value}get hasDisplayValue(){return null!=this._displayValue}get displayValue(){return this._displayValue}set displayValue(t){this._displayValue=t}get prefersDisplayValue(){return["s","m"].includes(this.type)}get error(){return this._error}set error(t){this._error=t}get hasError(){return!!this._error}clearError(){this._error=void 0}get spillRange(){return this._spillRange}get prevSpillRange(){return this._prevSpillRange}set spillRange(t){!this._spillRange||t&&this._spillRange.equals(t)||(this._prevSpillRange=this._spillRange),this._spillRange=t}get isSpillSource(){return null!=this._spillRange}get spillSource(){return this._spillSource}get isSpilled(){return null!=this._spillSource}spillValue(t,e){this.value=t,this._spillSource=e}clearSpilledValue(){this._spillSource=void 0,this._value=void 0}get hasSparkline(){return null===this._sparkline?this._sparkline=this.model.sparklines.has(this.address):this._sparkline}get hasComment(){return null===this._hasComment?this._hasComment=(this.model.comments.get(this.address)??[]).length>0:this._hasComment}get comments(){return this.model.comments.get(this.address)}get valueFormatter(){const t=super.valueFormatter??this.row.valueFormatter??this.column.valueFormatter;if(t)return t;const e=this.type,i=this.format,{formatLocale:o,fixNumberFormat:n}=this.model.options,r=this.value;if(null==r||""===r)return null;if("n"==e)return null!=i?Qo(o,i,n):this.model.options.numberFormatter;if("g"==e){if(null!=i)return Qo(o,i,n);if(J(r))return this.model.options.numberFormatter}else{if("t"==e)return null==i?null:Qo(o,i,!1);if("d"==e)return i?Ao(o,i):this.model.options.dateFormatter;if("s"==e&&this.editorContent)return(t=>{if(t=t||null,!Jy.has(t))if(t){const e=t.reduce(((t,e)=>t.set(e.k,e.v)),new Map);Jy.set(t,(t=>e.has(t)?e.get(t):t))}else Jy.set(t,(t=>t));return Jy.get(t)})(this.editorContent)}return null}get formattedValue(){return null==this.value?"":this.hasDisplayValue?this.displayValue:this.valueFormatter?this.valueFormatter(this.value):this.value.toString()}get elm1(){return this.row.priority>=this.column.priority?this.row:this.column}get elm2(){return this.row.priority<this.column.priority?this.row:this.column}get clickable(){return super.clickable??this.elm1.clickable??this.elm2.clickable}get type(){return super.type??this.elm1.type??this.elm2.type??"g"}set type(t){this._type=t}get editorContent(){return super.editorContent??this.elm1.editorContent??this.elm2.editorContent??null}get adapter(){return super.adapter??this.elm1.adapter??this.elm2.adapter}set adapter(t){this._adapter=t}get address(){return this._address??(this._address=this.column.address+this.row.address)}get range(){return av.fromA1(this.address)}get validation(){return super.validation??this.elm1.validation??this.elm2.validation??this.model.options.cellValidation}get editable(){return super.editable??this.elm1.editable??this.elm2.editable??this.model.options.editable}set editable(t){this._editable=t}get commentable(){return super.commentable??this.elm1.commentable??this.elm2.commentable??this.model.options.commentable}get renderer(){return super.renderer??this.elm1.renderer??this.elm2.renderer}get afterRenderer(){return super.afterRenderer??this.elm1.afterRenderer??this.elm2.afterRenderer??this.model.options.afterRenderer}get commentRenderer(){return super.commentRenderer??this.elm1.commentRenderer??this.elm2.commentRenderer??this.model.options.comments.renderer}get format(){return super.format??this.elm1.format??this.elm2.format}set format(t){super.format=t}get hyperlink(){return this._hyperlink}set hyperlink(t){this._hyperlink=t}get hasOwnFormula(){return!!this._formula}get hasFormula(){return null==this._hasFormula&&(this._hasFormula=!!this.formula),this._hasFormula}get formula(){return this._formula??this.elm1.formula??this.elm2.formula}set formula(t){super.formula=t,this.refreshFormula()}invalidateValue(){this.hasFormula?(this._value=void 0,this._evaluated=!1):this._evaluated=!0,this.clearError()}refreshFormula(){this.invalidateValue(),this._hasFormula=null}clearFormula(){this._formula=null,this._hasFormula=!1,this._evaluated=!0}constructor(t,e){super(t),this._evaluated=!0,this._sparkline=null,this._hasComment=null,this._hasStyle=null,this.row=t.rows[e.r],this.column=t.columns[e.c],this.populate(e)}populate(t){super.populate(t),this._colspan=t.cs??1,this._rowspan=t.rs??1,this._tooltip=t.tooltip,this._hyperlink=t.hl,null!=t.f&&""!==t.f?this._evaluated=!1:null!=t.v&&(this.value=t.v),this._displayValue=t.dv}update(t){const e=super.update(t);return"cs"in t&&(e.cs=this._colspan,this._colspan=t.cs),"rs"in t&&(e.rs=this._rowspan,this._rowspan=t.rs),"tooltip"in t&&(e.tooltip=this._tooltip,this._tooltip=t.tooltip),"hl"in t&&(e.hl=this._hyperlink,this._hyperlink=t.hl),"f"in t?this._evaluated=!1:"v"in t&&(e.v=this.value,this.value=t.v),"dv"in t&&(e.dv=this._displayValue,this._displayValue=t.dv),e}getSourceData(t){const e=super.getSourceData();return this._colspan>1&&(e.cs=this._colspan),this._rowspan>1&&(e.rs=this._rowspan),null!=this.value&&(e.v=this.value),this.hasTooltip&&(e.tooltip=this._tooltip),this._hyperlink&&(e.hl=this._hyperlink),t&&t.displayValue&&this.hasDisplayValue&&(e.dv=this._displayValue),e}createComposedStyle(t,e,i){const o=[];return t=t||this.column.style,e=e||this.row.style,null!=t&&null!=e?this.column.priority>this.row.priority?o.push(e,t):o.push(t,e):null!=t?o.push(t):null!=e&&o.push(e),null!=this.style&&o.push(this.style),null!=i&&o.push(i),o.length>0?this.model.styles.merge(...o):null}get composedStyle(){if(null===this._hasStyle){const t=this.createComposedStyle(null,null,this.model.conditionalFormats.evaluate(this));this._hasStyle=null!=t,this._composedStyle=t}return this._composedStyle}get calculatedIndent(){const t=this.composedStyle;return t?.alignment?.indent?t.alignment.indent:this.column.levelIndent&&this.row.level>0?this.row.level*this.model.options.levelIndentFactor:null}get cssStyle(){if(!1===this._hasStyle)return null;if(!this._cssStyle){const t=this.composedStyle;t&&(this._cssStyle=Xy(t))}return this._cssStyle}invalidateStyle(){this._hasComment=null,this._hasStyle=null,this._composedStyle=null,this._cssStyle=null,this._sparkline=null}setStyleProperties(t){super.setStyleProperties(t),this.invalidateStyle()}removeStyleProperties(t){super.removeStyleProperties(t),this.invalidateStyle()}previewStyleProperties(t,e="cell"){const i=Object.assign({},this.createComposedStyle("column"==e?t:null,"row"==e?t:null)??{});if("cell"==e)for(const e in t)i[e]=t[e];this._hasStyle=!0,this._cssStyle=Xy(i)}validate(){return!this.validation||Py(this,this.value)}toString(){return this.address}}const ew={property:"value",enabled:!0};class iw extends(mn(jy)){get comparer(){return this._comparer}set comparer(t){this._comparer=t}get filter(){return this._filter??(this.model.options.filters?.enabled?ew:{enabled:!1})}set filter(t){this._filter=t}get hasFilter(){return this.filter.enabled}get sorting(){return this._sorting??this.model.options.columnSorting}set sorting(t){this._sorting=t}get width(){return this._width??this.model.options.columnWidth}set width(t){this._width=t}get levelIndent(){return this._levelIndent}set levelIndent(t){this._levelIndent=t}get levelButtons(){return this._levelButtons}set levelButtons(t){this._levelButtons=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return hv(this.index)}get range(){return new av(this.index,null,this.index,null)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t;const e=this.index;this.model.rows.forEach((t=>t.cells[e]?.refreshFormula()))}constructor(t,e){super(t,e),null==this._priority&&(this._priority=t.options.columnPriority)}get mergedHeaders(){return this._mergedHeaders??(this._mergedHeaders=this._header?.filter((t=>t.cs>1||t.rs>1))??[])}updateMergedHeaders(){this._mergedHeaders=null}set header(t){this._mergedHeaders=null,this._header=t}get header(){if(!this._header||this._header.length<this.model.headerCount){this._header=this._header??[];for(let t=this._header.length;t<this.model.headerCount;t++)this._header.push({r:t})}return this._header}convertSourceHeader(t){return Array.isArray(t)?t.map(((t,e)=>(null==(t=t??{r:e}).height&&(t.height=t.h),t.r=e,null==t.style&&(t.style=t.s),t._style=null==t.style?null:this.model.styles.add(t.style).id,t))):X(t)?[{label:t,r:0}]:null}populate(t){super.populate(t),this._width=null==t.w||"auto"==t.w?null:t.w,this._levelIndent=t.levelIndent,this._levelButtons=t.levelButtons,this._header=this.convertSourceHeader(t.header),this._sorting=t.sorting,this._filter=q(t.filter)?Object.assign({enabled:!0},t.filter):t.filter?ew:!1===t.filter?{enabled:!1}:null,this._comparer=t.comparer,this.data=t.data,this._mergedHeaders=null,null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._width&&(t.w=this._width),null!=this._levelIndent&&(t.levelIndent=this._levelIndent),null!=this._levelButtons&&(t.levelButtons=this._levelButtons),null!=this._header&&(t.header=this._header),null!=this._sorting&&(t.sorting=this._sorting),null!=this._filter&&(t.filter=this._filter),null!=this.data&&(t.data=this.data),t}expand(t){super.expand(t),this.model.indexVisibleColumns()}collapse(){super.collapse(),this.model.indexVisibleColumns()}get prev(){return this.model.columns[this.index-1]}get next(){return this.model.columns[this.index+1]}get prevVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t||0===t?null:this.model.visibleColumns[t-1]}get nextVisible(){const t=this.model.visibleColumnIndex[this.index];return null==t?null:this.model.visibleColumns[t+1]}calculateRealColspan(t){let e=1,i=this.nextVisible;for(;i&&i.index-this.index<t&&e<t;)++e,i=i.nextVisible;return e}cell(t){return this.model.rows[t].cell(this.index)}clearCalculatedValues(){this.model.rows.forEach((t=>{const e=t.cells[this.index];e&&this.model.calculations.refreshFormula(e)}))}}var ow;!function(t){t[t.Asc=1]="Asc",t[t.Desc=-1]="Desc"}(ow||(ow={}));const nw={g:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,t:(t,e)=>(t.value||"").toString().localeCompare((e.value||"").toString()),s:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,m:(t,e)=>t.value==e.value?0:t.value>e.value?1:-1,n:(t,e)=>t.value-e.value,d:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),tm:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),dt:(t,e)=>(t.value instanceof Date?t.value.getTime():0)-(e.value instanceof Date?e.value.getTime():0),b:(t,e)=>t.value-e.value,h:(t,e)=>(t.value||"").localeCompare(e.value),a:()=>0},rw={g:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,t:(t,e)=>(e.value||"").toString().localeCompare((t.value||"").toString()),s:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,m:(t,e)=>e.value==t.value?0:e.value>t.value?1:-1,n:(t,e)=>e.value-t.value,d:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),tm:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),dt:(t,e)=>(e.value instanceof Date?e.value.getTime():0)-(t.value instanceof Date?t.value.getTime():0),b:(t,e)=>e.value-t.value,h:(t,e)=>(e.value||"").localeCompare(t.value),a:()=>0},sw=(t,e)=>t.origIndex-e.origIndex;class aw{get settings(){return this._settings}set settings(t){this._settings=t,this.colMap.clear(),this.settings.length>0&&(this.settings.forEach(((t,e)=>this.colMap.set(t.c,e))),this.applySort(),un().info(`sorting applied: ${JSON.stringify(this.settings)}`))}constructor(t,e=[]){this.model=t,this.colMap=new Map,this._settings=[],this.settings=e}get(t){return this.colMap.has(t)?this.settings[this.colMap.get(t)]:null}sort(t,e=null,i=!1){let o=this.get(t);return o&&o.ord==ow.Desc&&null===e?(this.settings.splice(this.colMap.get(t),1),o=null):o?(o.ord=ow.Desc,this.settings.splice(this.colMap.get(t),1)):o={c:t,ord:ow.Asc},o&&(null!==e&&(o.ord=e),this.colMap.set(t,0),this.settings.unshift(o)),this.settings.length>this.model.options.maxSortingColumns&&this.settings.pop(),this.colMap.clear(),this.settings.forEach(((t,e)=>{t.index=e,this.colMap.set(t.c,e)})),i||(this.settings.length>0?this.applySort():this.resetSort()),o}applySort(){const t=this.model,e=this.settings.map((e=>{const i=t.columns[e.c];return i?i.comparer?e.ord==ow.Asc?i.comparer:(t,e)=>-i.comparer(t,e):e.ord==ow.Asc?nw[i.type??"t"]:rw[i.type??"t"]:(un().warn(`Column sorting: Column with index ${e.c} not found`),null)})).filter((t=>t)),i=e.length;let o,n,r;t.rowRoot.sort(((t,s)=>{if(!1===t.sortable||!1===s.sortable)return t.origIndex-s.origIndex;for(n=0;n<i;n++)if(r=this.settings[n].c,o=e[n](t.cell(r),s.cell(r)),0!=o)return o;return 0})),t.indexRowsByTree()}resetSort(){this.settings=[],this.colMap.clear(),this.model.rowRoot.sort(sw),this.model.indexRowsByTree()}persistSort(){this.model.rows.forEach(((t,e)=>t.origIndex=e))}}class lw{get properties(){return this._properties}set properties(t){this._properties=t}constructor(t){t&&this.pupulate(t)}pupulate(t){this.author=t.author,this.text=t.text,this.date=t.date?new Date(t.date):null,this.data=t.data,this.readOnly=!!t.readOnly,this._properties=t.props}getSourceData(){const t={};return this._properties&&(t.props=this._properties),this.author&&(t.author=this.author),this.text&&(t.text=this.text),this.data&&(t.data=this.data),null!==this.readOnly&&(t.readOnly=this.readOnly),this.date&&(t.date=Ao("en-US")(this.date,"yyyy-MM-dd HH:mm:ss")),t}}class cw{constructor(t,e){this.model=t,this._commentMap=new Map,this.has=t=>this._commentMap.has(t),this.delete=t=>this._commentMap.delete(t),this.cleanCell=t=>{this.has(t)&&this._commentMap.set(t,this.get(t).filter((t=>(t.text??"").length>0||null!=t.data)))},this.get=t=>(this.has(t)||this._commentMap.set(t,[]),this._commentMap.get(t)),this.set=(t,e)=>{this._commentMap.set(t,e?.map((t=>t instanceof lw?t:new lw(t)))||[]),this.cleanCell(t)},e&&this.populate(e)}populate(t){t.forEach((t=>{const e=t.a1||new av(t.c,t.r).A1;this._commentMap.has(e)||this._commentMap.set(e,[]),this._commentMap.get(e).push(new lw(t))})),this._commentMap.forEach((t=>{t.sort(((t,e)=>(e.date?e.date.getTime():0)-(t.date?t.date.getTime():0)))}))}shift(t){Array.from(this._commentMap.keys()).forEach((e=>{const i=av.fromA1(e);i.shift(t),i.A1!=e&&(this._commentMap.set(i.A1,this._commentMap.get(e)),this._commentMap.delete(e))}))}}function hw(t){return t instanceof RangeError?"Maximum call stack size exceeded"==t.message?"infinite loop":t.message:t.toString()}class dw{get tokenizer(){return this._tokenizer}get dependencies(){return this._dependencies}get formulas(){return this._formulas}constructor(t){this.model=t,this._tokenizer=new nv,this._formulas=new Map,this._dependencies=new ww(t),this.context=new Ay(t)}createFormula(t){const e=new _v(t.formula,this.tokenizer);return this._formulas.set(t.address,e),t.hasOwnFormula&&(t.formula=e.createFormulaString()),this.createDependecies(t),e}createDependecies(t){const e=t.address;if(this.formulas.has(e)){const i=this.formulas.get(e);i.ranges.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.cells.forEach((([t,i,o])=>this._dependencies.add(e,i.A1,o))),i.variables.forEach((([i,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(e,n.address,null)}))}return this}refreshFormula(t){return t.refreshFormula(),this.formulas.delete(t.address),this.clearDependecies(t),this}updateDependencies(t){return this.clearDependecies(t).getFormula(t),this}getFormula(t){return this._formulas.has(t.address)?this._formulas.get(t.address):this.createFormula(t)}refresh(){this.dependencies.clear(),this._formulas.clear()}clearDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.formulas.delete(e),this}evaluateFormula(t,e){return this.context.currentCell=e,t.fn(this.context,{cell:e,formula:t})}evaluateExpression(t,e){this.context.currentCell=e;const i=new _v(t,this.tokenizer);return i.fn(this.context,{cell:e,formula:i})}evaluate(t,e){if(!t)return null;let i=null;if(t.hasFormula){const o=this.getFormula(t);try{t.clearError(),this.context.currentCell=t,i=o.fn(this.context,{cell:t,formula:o}),Array.isArray(i)?(e||this.model.spillValues({cell:t,values:i}).range,i=i.length>0&&i[0].length>0?i[0][0]:null,e&&(t.value=i)):t.value=i}catch(e){t.error={message:hw(e)}}}else i=t.value;return i}evaluateAll(){this.model.rows.forEach((t=>this.model.columns.forEach(((e,i)=>t.cell(i).evaluate()))))}calculateViewport(t){const e=[];return t.rows.forEach((t=>t.cells.forEach((t=>{if(t.hasFormula){if(!t.hasValue&&(this.evaluate(t),t.spillRange))for(const i of this.model.getRangeIterator(t.spillRange))e.push(i);e.push(t)}})))),e}shift(t){this.getFormulaCells().forEach((e=>{e.formula=this.getFormula(e).shift(t).createFormulaString(!1),this.updateDependencies(e)}));const e=this.model.name;return this.dependencies.sheetDependants.forEach((i=>{const o=this.model.getConnectedModel(i);o?.calculations.getFormulaCells().forEach((i=>{const n=o.calculations.getFormula(i);n.hasSheetReference(e)&&(i.formula=n.shift(t).createFormulaString(!1),o.calculations.updateDependencies(i))}))})),this}getFormulaCells(){const t=this.model,e=[];let i;const o=t.rows.length,n=t.columns.length;for(let r=0;r<o;r++){i=t.rows[r];for(let t=0;t<n;t++)i.hasCellFormula(t)&&e.push(i.cell(t))}return e}renameSheet(t,e){let i=!1;return this.dependencies.renameSheet(t,e),this.getFormulaCells().forEach((o=>{const n=this.getFormula(o);n.renameSheet(t,e)&&(o.formula=n.createFormulaString(),this.refreshFormula(o),i=!0)})),i}invalidateCellDependants(t){const e=[];return this.dependencies.getDependants(t.range).forEach((([t,i])=>{e.push([t,i]),t.invalidateValue()})),e}invalidateDependants(t){const e=new Map,i=new Map;for(const i of t)this.invalidateCellDependants(i).forEach((([t,i])=>e.set(t,i)));e.forEach(((t,e)=>i.set(e,t)));for(const i of t)e.set(i,null);return e.forEach(((t,e)=>{this.model.sparklines.dependencies.getDependants(e.range).forEach((([t,e])=>{i.set(t,e)})),this.model.conditionalFormats.dependencies.getDependants(e.range).forEach((([t,e])=>{this.model.conditionalFormats.invalidateExtremes(t),t.invalidateStyle(),i.set(t,e)}))})),i}}const uw="#ff0000",pw="#fcd53f",gw="#00bb5e",mw="#555555",fw=new Map([["3Arrows",[{icon:["fas","down"],color:uw},{icon:["fas","right"],color:pw},{icon:["fas","up"],color:gw}]],["3ArrowsGray",[{icon:["fas","down"],color:mw},{icon:["fas","right"],color:mw},{icon:["fas","up"],color:mw}]],["3Flags",[{icon:["fas","flag-pennant"],color:uw},{icon:["fas","flag-pennant"],color:pw},{icon:["fas","flag-pennant"],color:gw}]],["3TrafficLights1",[{icon:["fas","circle"],color:uw},{icon:["fas","circle"],color:pw},{icon:["fas","circle"],color:gw}]],["3TrafficLights2",[{icon:["fas","square-o"],color:uw},{icon:["fas","square-o"],color:pw},{icon:["fas","square-o"],color:gw}]],["3Signs",[{icon:["fas","square"],rotation:45,color:uw},{icon:["fas","triangle"],color:pw},{icon:["fas","circle"],color:gw}]],["3Symbols",[{icon:["fas","circle-xmark"],color:uw},{icon:["fas","circle-exclamation"],color:pw},{icon:["fas","circle-check"],color:gw}]],["3Symbols2",[{icon:["fas","xmark"],color:uw},{icon:["fas","exclamation"],color:pw},{icon:["fas","check"],color:gw}]],["3Stars",[{icon:["fal","star"],color:pw},{icon:["fas","star-half-stroke"],color:pw},{icon:["fas","star"],color:pw}]],["3Triangles",[{icon:"caret-down",color:uw},{icon:"dash",color:pw},{icon:"caret-up",color:gw}]],["4Arrows",[{icon:["fas","down"],color:uw},{icon:["fas","down-right"],color:pw},{icon:["fas","up-right"],color:pw},{icon:["fas","up"],color:gw}]],["4ArrowsGray",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:mw},{icon:["fas","up-right"],color:mw},{icon:["fas","up"],color:mw}]],["4RedToBlack",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:"#b1b1b1"},{icon:["fas","circle"],color:"#edb2a3"},{icon:["fas","circle"],color:uw}]],["4Rating",[{icon:"signal-bars-weak",color:"#4a7db1"},{icon:"signal-bars-fair",color:"#4a7db1"},{icon:"signal-bars-good",color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["4TrafficLights",[{icon:["fas","circle"],color:"#000000"},{icon:["fas","circle"],color:uw},{icon:["fas","circle"],color:pw},{icon:["fas","circle"],color:gw}]],["5Arrows",[{icon:["fas","down"],color:uw},{icon:["fas","down-right"],color:pw},{icon:["fas","right"],color:pw},{icon:["fas","up-right"],color:pw},{icon:["fas","up"],color:gw}]],["5ArrowsGray",[{icon:["fas","down"],color:mw},{icon:["fas","down-right"],color:mw},{icon:["fas","right"],color:mw},{icon:["fas","up-right"],color:mw},{icon:["fas","up"],color:mw}]],["5Rating",[{icon:["fal","signal-bars"]},{icon:["fal","signal-bars-weak"],color:"#4a7db1"},{icon:["fal","signal-bars-fair"],color:"#4a7db1"},{icon:["fal","signal-bars-good"],color:"#4a7db1"},{icon:["fas","signal-bars"],color:"#4a7db1"}]],["5Quarters",[{icon:["fal","circle"],color:"#505050"},{icon:["fas","circle-quarter-stroke"],color:"#505050"},{icon:["fas","circle-half-stroke"],color:"#505050"},{icon:["fas","circle-three-quarters-stroke"],color:"#505050"},{icon:["fas","circle"],color:"#505050"}]]]),vw=(t,e)=>{const i=fw.get(t);return i?i[e]:null};class bw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.formats=[],this.cellFormatMap=new Map,this.extremes=new Map,this._dependencies=new ww(t),e&&this.populate(e)}populate(t){t.forEach((t=>{try{this.add(t)}catch(e){un().error(`conditional format error: ${JSON.stringify(t)}`,e)}}))}refresh(){this.dependencies.clear(),this.cellFormatMap.clear(),this.extremes.clear(),this.formats.forEach((t=>this.initConditionalFormat(t)))}clearCellDependecies(t){const e=t.address;return this.dependencies.clearCellDependecies(e),this.cellFormatMap.get(e).forEach((t=>({cf:t.cf}))),this}getExtremes(t){if(this.extremes.has(t.key))return this.extremes.get(t.key);const e=[1/0,-1/0];return t.ranges.forEach((t=>{for(const i of this.model.getValuesInRange(t))for(const t of i)null!=t&&(isNaN(t)||(e[0]=Math.min(e[0],t),e[1]=Math.max(e[1],t)))})),t.cmin&&("num"==t.cmin.t?e[0]=t.cmin.v:"percent"==t.cmin.t&&(e[0]=e[0]+(e[1]-e[0])*t.cmin.v/100)),t.cmax&&("num"==t.cmax.t?e[1]=t.cmax.v:"percent"==t.cmax.t&&(e[1]=e[0]+(e[1]-e[0])*t.cmax.v/100)),this.extremes.set(t.key,e),e}invalidateExtremes(t){this.cellFormatMap.get(t.address).forEach((t=>this.extremes.delete(t.cf.key)))}evaluateScaleFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;const s=(i-o)/(n-o);if(e.cf.cmid?.color)r=.5==s?"#"+e.cf.cmid.color:s>.5?Cn("#"+e.cf.cmid.color,"#"+e.cf.cmax.color,2*(s-.5)):Cn("#"+e.cf.cmin.color,"#"+e.cf.cmid.color,2*s);else{if(!e.cf.cmin?.color||!e.cf.cmax?.color)return null;r=Cn("#"+e.cf.cmin.color,"#"+e.cf.cmax.color,s)}return{color:Mn(r).substring(1),fgColor:r.substring(1)}}evaluateBarFormat(t,e){const i=t.value;if(null==i)return null;const o=this.getExtremes(e.cf);let n=o[0];const r=o[1],s=n<0;s||(n-=.1*(r-n));const a=Math.round(100*(i-n)/(r-n));e.initialized||(e.initialized=!0,e.cf.ranges.forEach((e=>this._dependencies.add(t.address,e.A1,null))));const l=[];if(s){const t=Math.round(-100*n/(r-n));i>=0?(l.push(`#00000000 ${t}%`),l.push(`#${e.cf.color} ${t}%`),l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`)):(l.push(`#00000000 ${a}%`),l.push(`#ff0000 ${a}%`),l.push(`#ff0000 ${t}%`),l.push(`#00000000 ${t}%`))}else l.push(`#${e.cf.color} ${a}%`),l.push(`#00000000 ${a}%`);return{cssStyle:{backgroundClip:"padding-box",backgroundImage:`linear-gradient(90deg, ${l.join(",")})`}}}evaluateFormulaFormat(t,e){if(!e.initialized&&e.cf.condition){e.initialized=!0;const i=t.address,o=new _v(e.cf.condition,this.model.calculations.tokenizer);e.f=o.shift({index:0,offset:t.c-e.cf.firstCell.c1,direction:"right"}).shift({index:0,offset:t.r-e.cf.firstCell.r1,direction:"down"}),o.cells.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.ranges.forEach((t=>this._dependencies.add(i,t[1].A1,t[2]))),o.variables.forEach((([e,o])=>{const n=this.model.getCellByName(o,t.range);n&&this._dependencies.add(i,n.address,null)}))}if(e.f&&!this.model.calculations.evaluateFormula(e.f,t))return null;const i={...e.cf.style};return i.color||_n(Mn(Sn(e.cf.style.fgColor))),i}evaluateIconFormat(t,e){const i=t.value;if(null==i)return null;const[o,n]=this.getExtremes(e.cf);let r;for(let t=e.cf.thresh.length-1;t>=0;t--){const s=e.cf.thresh[t];if("percent"===s.t){if(null==r&&(r=100*(i-o)/(n-o)),r>=s.v)return{icon:vw(e.cf.v,t)}}else if("num"===s.t&&i>=s.v)return{icon:vw(e.cf.v,t)}}return null}evaluate(t){const e=t.address,i=this.cellFormatMap.get(e);if(!i)return null;let o=null,n=null;for(const e of i){try{switch(e.cf.type){case"formula":n=this.evaluateFormulaFormat(t,e);break;case"scale":n=this.evaluateScaleFormat(t,e);break;case"bar":n=this.evaluateBarFormat(t,e);break;case"icon":n=this.evaluateIconFormat(t,e);break;default:n=null}}catch(t){un().error(`Conditional format error: ${JSON.stringify(e)}`,t)}if(n&&(o=o?{...o,...n}:n,e.cf.stop))break}return o}initConditionalFormat(t){return t.firstCell=null,t.ranges.forEach((e=>{for(const i of new Lw(e.intersect(this.model.gridRange))){const e=i.A1;"formula"===t.type&&(t.firstCell||(t.firstCell=i,t.formula=t.condition?new _v(t.condition,this.model.calculations.tokenizer):null)),(this.cellFormatMap.get(e)||this.cellFormatMap.set(e,[]).get(e)).push({cf:t})}})),t}add(t){const e={key:t.ranges,ranges:av.fromA1s(t.ranges),type:t.type||"formula",firstCell:null,formula:null,style:t.style?this.model.styles.add(t.style):null,condition:t.condition,stop:!!t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh};this.formats.push(this.initConditionalFormat(e))}getSourceData(){return this.formats.map((t=>({type:t.type,ranges:av.toA1s(t.ranges),style:t.style,condition:t.condition,stop:t.stop,cmin:t.cmin,cmid:t.cmid,cmax:t.cmax,color:t.color,v:t.v,thresh:t.thresh})))}}function yw(t,e,i){t.forEach((t=>t.forEach((t=>{t[1]==e&&(t[1]=i)}))))}class ww{get cellDependencies(){return this._cellDependencies}get cellDependants(){return this._cellDependants}get rangeDependencies(){return this._rangeDependencies}get rangeDependants(){return this._rangeDependants}get sheetDependencies(){return this._sheetDependencies}get sheetDependants(){return this._sheetDependants}constructor(t){this.model=t,this._cellDependencies=new Map,this._cellDependants=new Map,this._rangeDependencies=new Map,this._rangeDependants=new Map,this._sheetDependencies=new Map,this._sheetDependants=new Map}clear(){this._cellDependants.clear(),this._cellDependencies.clear(),this._rangeDependencies.clear(),this._rangeDependants.clear()}clearCellDependecies(t){return this._cellDependencies.has(t)&&this._cellDependencies.delete(t),this._rangeDependencies.has(t)&&this._rangeDependants.delete(t),this}has(t){return this._cellDependencies.has(t)||this._rangeDependencies.has(t)}add(t,e,i){const o=av.fromA1(t).removeAnchors(),n=av.fromA1(e).removeAnchors();e=n.A1;const r=n.isRange,s=r?this._rangeDependencies:this._cellDependencies;let a=null;if((s.has(t)?s.get(t):s.set(t,new Map).get(t)).set(e,[n,i]),i){const t=this.model.getConnectedModel(i);t&&(t.calculations.dependencies.sheetDependants.set(this.model.name,this.model.name),this.sheetDependencies.set(i,i),a=r?t.calculations.dependencies.rangeDependants:t.calculations.dependencies.cellDependants),i=this.model.name}else a=r?this._rangeDependants:this._cellDependants;a&&(a.has(e)||a.set(e,new Map),a.get(e).set(t,[o,i]))}getDependants(t,e=null){const i=t.A1;return e=e??new Map,this._cellDependants.has(i)&&this._cellDependants.get(i).forEach((([t,o])=>{if(e.has(t))return;const n=e.set(t,[(o?this.model.getConnectedModel(o):this.model).getCellByRange(t),o]);t.A1!=i&&this.getDependants(t,n)})),this._rangeDependants.forEach(((i,o)=>{av.fromA1(o).contains(t)&&i.forEach((([t,i])=>{e.has(t)||(e.delete(t),this.getDependants(t,e.set(t,[(i?this.model.getConnectedModel(i):this.model).getCellByRange(t),i])))}))})),e}renameSheet(t,e){this._sheetDependants.has(t)&&(this._sheetDependants.delete(t),this._sheetDependants.set(e,e)),this._sheetDependencies.has(t)&&(this._sheetDependencies.delete(t),this._sheetDependencies.set(e,e)),yw(this._cellDependants,t,e),yw(this._cellDependencies,t,e),yw(this._rangeDependants,t,e),yw(this._rangeDependencies,t,e)}}const xw=(t,e)=>{const i=new RegExp(`${dt(t)}`,"ig");return t=>(i.lastIndex=0,i.test(lt((t[e]??"").toString())))},kw=(t,e)=>i=>!!i[e]===t,Cw=(t,e)=>{const i=t.map((t=>t.key?.toString()));return t=>null!=t[e]&&i.includes(t[e].toString())},Mw=(t,e)=>t=>!1,_w=(t,e,i)=>(i=i??"value","b"===t?kw(e,i):"s"===t&&Array.isArray(e)?Cw(e,"value"):"s"===t?xw(e?.toString(),"formattedValue"):"m"===t&&Array.isArray(e)?Mw(e,i):xw(e?.toString(),"d"===t?"formattedValue":i));class Sw extends Event{constructor(){super("filter",{bubbles:!1,cancelable:!0,composed:!0})}}class Ew extends EventTarget{constructor(t){super(),this.model=t,this.settings=new Map,this.custom=!1}get(t){return this.settings.has(t)?this.settings.get(t):null}filter(t,e=!0){null===t.term||""===t.term?this.settings.delete(t.c):this.settings.set(t.c,t),this.custom||(this.settings.size>0?this.applyFilter(!1):this.resetFilter(!1)),e&&this.dispatchEvent(new Sw)}applyFilter(t=!0){const e=[];this.settings.forEach(((t,i)=>{const o=this.model.columns[i];e.push({c:i,matcher:_w(o.type,t.term,o.filter?.property)})}));const i=e.length,o=this.model.options.filters?.includeParents??!0,n=this.model.options.filters?.includeChildren??!0,r=new Set;this.model.rows.forEach((t=>{const s=r.has(t.index);(t=>{if(!t.filterable)return!0;for(let o=0;o<i;o++)if(!e[o].matcher(t.cell(e[o].c)))return!1;return!0})(t)?(t.filterState=pn.Matched,o&&t.walkUp((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=pn.ChildMatched,r.add(t.index)})),n&&t.walk((t=>{if(r.has(t.index)&&t.filterState>0)return!1;t.filterState=pn.ParentMatched,r.add(t.index)}))):s||(t.filterState=pn.Filtered),r.add(t.index)})),this.model.indexRows(),t&&this.dispatchEvent(new Sw)}resetFilter(t=!0){this.settings.clear(),this.model.rows.forEach((t=>t.filterState=pn.Matched)),this.model.indexRows(),t&&this.dispatchEvent(new Sw)}}class zw{get dependencies(){return this._dependencies}constructor(t,e){this.model=t,this.map=new Map,this.groups=new Map,this.extremes=new Map,this.maxIndex=0,this.updateRangeMap=!1,this._dependencies=new ww(t),this.populate(e)}populate(t){t?.forEach((t=>{try{this.add(av.fromA1(t.location),Array.isArray(t.data)?t.data.map((t=>[av.fromA1(t)])):t.data.split(",").map((t=>[av.fromA1(t)])),it({},jf.DEFAULT_SPARKLINE_OPTIONS,t.options))}catch(e){this.model.logger.error(`sparkline error: ${JSON.stringify(t)}`,e)}}))}getSourceData(){const t=[];return this.groups.forEach((e=>{t.push({location:e.locRange.A1,data:e.dataRanges.map((t=>t[0].A1)).join(","),options:{minValue:e.minValue,maxValue:e.maxValue,type:e.type,style:e.style,marker:e.marker}})})),t}has(t){return this.map.has(t)}get(t){return this.map.get(t)}createDependencies(t){this.map.get(t)[1].forEach((e=>this._dependencies.add(t,e[0].A1,e[1])))}updateRangeMaps(){this.dependencies.clear(),this.map.clear(),this.groups.forEach(((t,e)=>this.createRangeMap(e,t.locRange,t.dataRanges)))}getValues(t){this.updateRangeMap&&this.updateRangeMaps();const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model;return this._dependencies.has(t)||this.createDependencies(t),e[1].flatMap((t=>i.getValuesInRange(t[0])[0]))}getExtremes(t){const e=this.map.get(t),i=e[1][0][1]?this.model.getConnectedModel(e[1][0][1]):this.model,o=this.groups.get(e[0]);let n,r,s,a;return null==o.minValue||X(o.minValue)?"auto"==(o.minValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),s=n[0]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),s=r[0]):s=o.minValue,null==o.maxValue||X(o.maxValue)?"auto"==(o.maxValue||"auto")?(n=n??at(...e[1].map((t=>i.getValuesInRange(t[0])))),a=n[1]):(this.extremes.has(e[0])||this.extremes.set(e[0],at(...o.dataRanges.map((t=>i.getValuesInRange(t[0]))))),r=this.extremes.get(e[0]),a=r[1]):a=o.maxValue,[s,a]}createRangeMap(t,e,i){e=e.intersect(this.model.gridRange);const o=i[0][0].size,n=e.size;if(n.columns>1&&n.rows>1)return void this.model.logger?.error(`invalid sparkline location range: ${e.A1}`);let r=!1;if(r=1==n.columns&&1==n.rows?o.rows>1:n.columns>1,r)for(let o=e.c1;o<=e.c2;o++)this.map.set(new av(o,e.r1).A1,[t,i.map((([t,i])=>[new av(t.c1+o-e.c1,t.r1,t.c1+o-e.c1,t.r2),i]))]);else for(let o=e.r1;o<=e.r2;o++)this.map.set(new av(e.c1,o).A1,[t,i.map((([t,i])=>[new av(t.c1,t.r1+o-e.r1,t.c2,t.r1+o-e.r1),i]))])}add(t,e,i){const o=++this.maxIndex;t&&e&&this.createRangeMap(o,t,e),this.groups.set(o,Object.assign({dataRanges:e,locRange:t},JSON.parse(JSON.stringify(jf.DEFAULT_SPARKLINE_OPTIONS)),i))}update(t,e,i,o){const n=this.groups.get(t);Object.assign(n,{dataRanges:i,locRange:e},o),this.updateRangeMap=!0}delete(t){this.groups.delete(t),this.updateRangeMap=!0}shift(t){this.groups.forEach((e=>{e.dataRanges.forEach((([e])=>e.shift(t))),e.locRange.shift(t)})),this.updateRangeMaps()}}class Rw extends av{constructor(t,e,i=!1){super(e.c1,e.r1,e.c2,e.r2),this.model=t,this.initializedOnly=i,this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}nextInitialized(){let t;for(;!this.done&&!t;)this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),t=this.model.rows[this.r].cells[this.c],this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;return t}next(){if(this.done)return{done:!0};this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c>=this.size.columns-1&&this.r>=this.size.rows-1;const t=this.model.rows[this.r+this.r1],e=this.c+this.c1,i=this.initializedOnly&&!t.isCellInitialized(e)?this.nextInitialized():t?.cell(e);return i?{done:!1,value:i}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class Lw extends av{constructor(t){super(t.c1,t.r1,t.c2,t.r2),this.r=0,this.c=-1,this.done=!1}[Symbol.iterator](){return this}next(){return this.done?{done:!0}:(this.c<this.size.columns-1?this.c++:this.r<this.size.rows-1&&(this.c=0,this.r++),this.done=this.c==this.size.columns-1&&this.r==this.size.rows-1,{done:!1,value:new av(this.c+this.c1,this.r+this.r1)})}}class Iw extends av{constructor(t,e,i){super(e.c1,e.r1,e.c2,e.r2),this.model=t,this.i=0,this.done=!1,this.axis=i,this.key="rows"===i?"r1":"c1"}[Symbol.iterator](){return this}next(){if(this.done)return{done:!0};this.i<this.size[this.axis]-1&&this.i++,this.done=this.i>=this.size[this.axis]-1;const t=this.model[this.axis][this.i+this[this.key]];return t?{done:!1,value:t}:{done:!0}}forEach(t){let e;for(;e=this.next().value;)t(e)}}class Hw{constructor(t,e){this.model=t,this.names=new Map,this.rangeMap=new Map,e&&this.populate(e)}populate(t){t.forEach((({name:t,ref:e})=>this.set(t,q(e)?av.fromCoords(e):av.fromA1(e))))}set(t,e){this.names.set(t,e),this.rangeMap.set(e.A1,t)}delete(t){const e=this.names.get(t);e&&(this.rangeMap.delete(e.A1),this.names.delete(t))}findCellByName(t){let e;const i=this.model.rows,o=this.model.columns.length;for(let n=0;n<i.length;n++){e=i[n];for(let i=0;i<o;i++)if(e.hasCellName(i)){const o=e.cell(i);if(o.name==t)return o.range}}return null}getCellByName(t,e){const i=this.names.get(t)??this.findCellByName(t);return i?i.isColumn?this.model.rows.length>e.r1?this.model.columns[i.c1].cell(e.r1):null:i.isRow?this.model.columns.length>e.c1?this.model.rows[i.r1].cell(e.c1):null:this.model.rows[i.r1].cell(i.c1):null}getRangeByName(t,e=!0){const i=this.names.get(t);return e?i?.intersect(this.model.gridRange):i}shift(t){this.names.forEach(((e,i)=>{const o=e.A1;e.shift(t);const n=e.A1;o!=n&&(this.rangeMap.delete(o),this.rangeMap.set(n,i))}))}}function Tw(t,e=null){const i=it({},jf.DEFAULT_OPTIONS,e,jn(t,e));return i.numberFormat?i.numberFormatter=Qo(i.formatLocale,i.numberFormat):i.numberFormatter||(i.numberFormatter=Qo(i.formatLocale)),i.dateFormat?i.dateFormatter=Ao(i.formatLocale,i.dateFormat):i.dateFormatter||(i.dateFormatter=Ao(i.formatLocale)),i.columnSorting&&(i.sorting=i.sorting||{enabled:!0}),"boolean"==typeof i.filters&&(i.filters={enabled:i.filters}),i.filters=Object.assign({},Nf,i.filters),"boolean"==typeof i.rowTree&&(i.rowTree={enabled:i.rowTree}),i.rowTree=Object.assign({},Pf,i.rowTree),"boolean"==typeof i.columnTree&&(i.columnTree={enabled:i.columnTree}),i.columnTree=Object.assign({},Pf,i.columnTree),i.cellValidation&&(i.cellValidation=Ny(i.cellValidation)),i}class Aw extends(mn(jy)){get cells(){return this._cells}get data(){return this._data}set data(t){this._data=t}get height(){return this._height??this.model.options.rowHeight}set height(t){this._height=t}get priority(){return this._priority}set priority(t){this._priority=t}get address(){return lv(this.index)}get range(){return new av(null,this.index,null,this.index)}get hasFormula(){return!!this._formula}get formula(){return this._formula}set formula(t){super.formula=t,this.model.columns.forEach((t=>this.cell(t.index).refreshFormula()))}get values(){return this.model.columns.map((t=>this.cell(t.index).value))}cell(t,e){if(this.model.options.singleCellModel)return this._singleCell||(this._singleCell=new tw(this.model,{c:t,r:this.index})),this._singleCell.row=this,this._singleCell.column=this.model.columns[t],this._singleCell;let i=this._cells[t];if((e||!i)&&this.model.columns[t]){if(i=new tw(this.model,e??{c:t,r:this.index}),this._data){const e=this.model.columns[t].data;null!=e&&(q(this._data[e])?i.populate(this._data[e]):i.hasValue||(i.value=this._data[e]))}i.name&&this.model.names.set(i.name,i.range),this._cells[t]=i}return i}constructor(t,e){super(t,e),this.isCellInitialized=t=>!!this.cells[t],this._cells=[],null==this._priority&&(this._priority=t.options.rowPriority)}populate(t){super.populate(t),this._height=null==t.h||"auto"==t.h?this.model.options.rowHeight:t.h,t.data&&(Array.isArray(t.data)?this._data=[...t.data]:this._data={...t.data}),null!=t.priority&&(this._priority=t.priority)}getSourceData(){const t=super.getSourceData();return null!=this._height&&this._height!=this.model.options.rowHeight&&(t.h=this._height),t}expand(t){super.expand(t),this.model.indexVisibleRows()}collapse(){super.collapse(),this.model.indexVisibleRows()}get prev(){return this.model.rows[this.index-1]}get next(){return this.model.rows[this.index+1]}get prevVisible(){let t=this.prev;for(;t&&!t.visible;)t=t.prev;return t}get nextVisible(){let t=this.next;for(;t&&!t.visible;)t=t.next;return t}hasCellFormula(t){return this.cells[t]&&this.cells[t].hasFormula||this._data&&this._data[this.model.columns[t].data]&&this._data[this.model.columns[t].data].f}hasCellName(t){return this.cells[t]&&null!=this.cells[t].name||this._data&&this._data[this.model.columns[t].data]&&null!=this._data[this.model.columns[t].data].name}insertColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"right"}).createFormulaString(!1));t<this.cells.length&&this.cells.splice(t,0,...Array(e).fill(null))}deleteColumns(t,e,i=!1){let o;const n=this.model.columns.length,r=this.model.calculations;if(i)for(let i=0;i<n;i++)this.hasCellFormula(i)&&(o=this.cell(i),o.formula=r.getFormula(o).shift({index:t,offset:e,direction:"left"}).createFormulaString(!1));return t<this.cells.length?this.cells.splice(t,e):null}clearCalculatedValues(){this.cells.forEach((t=>t&&this.model.calculations.refreshFormula(t)))}}var Ow=i(4418),$w=i.n(Ow);const Dw=t=>t?"1":"0",Nw=t=>null==t?"_":t,Pw=t=>null==t?"_":t.toString(),jw=t=>null==t?"_":JSON.stringify(t),Vw=t=>Nw(t&&t.color?t.color:"_")+Nw(t&&t.style?t.style:"_"),Bw=t=>Nw(t?t.horizontal:null)+Nw(t?t.vertical:null)+Nw(t?t.horizontal:null)+Pw(t?t.indent:null)+Dw(t?t.wrapText:null)+Pw(t?t.textRotation:null),Fw=t=>$w()("s_"+Dw(t.bold)+Dw(t.italic)+Dw(t.underline)+Pw(t.sz)+Nw(t.font)+Nw(t.color)+Vw(t.top)+Vw(t.right)+Vw(t.bottom)+Vw(t.left)+Nw(t.patternType)+Nw(t.fgColor)+Nw(t.bgColor)+Bw(t.alignment)+Pw(t.angle)+jw(t.stops)+Dw(t.hidden)+Dw(t.editable)+jw(t.cssStyle)+jw(t.icon));function Ww(t){const e={...t};return delete e.id,delete e.hash,e}class Uw{constructor(t){this.model=t,this._count=0,this.hashmap=new Map,this.map=new Map}add(t){if(!isNaN(t))return this.get(t);const e=this.model.options.cssStyles?Qy(t):t,i=e.hash?e.hash:Fw(e);return this.hashmap.has(i)?this.map.get(this.hashmap.get(i)):(null==e.id&&(e.id=this._count),this._count=Math.max(e.id+1,this._count+1),e.hash=i,this.hashmap.set(i,e.id),this.map.set(e.id,e),e)}populate(t){t.forEach((t=>this.add(t)))}get(t){return this.map.has(t)?this.map.get(t):null}remove(t){const e="object"==typeof t?t:this.map.get(t);this.hashmap.delete(e.hash),this.map.delete(e.id)}merge(...t){const e=Object.assign({},...t.map((t=>q(t)?t:this.get(t))));return this.add(Ww(e))}duplicate(t,e){const i=this.get(t);return this.add(Ww({...i,...e}))}set(t,e){let i=this.map.has(t)?this.map.get(t):{};for(const t in e)i[t]=e[t];return i=i.id?i:this.add(i),i}unset(t,e){if(this.map.has(t)){const i=this.map.get(t);for(const t of e)delete i[t]}}getSourceData(){return Array.from(this.map.values())}clean(){const t=new Map(Array.from(this.map.entries()).map((([t])=>[t,0])));this.model.columns.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)})),this.model.rows.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1),e.cells.forEach((e=>{const i=t.get(e.style);null!=i&&t.set(e.style,i+1)}))})),t.forEach(((t,e)=>{0==t&&this.remove(e)}))}}function Gw(t,e,i,o){const n=o??("rows"==i?e.rows:e.columns),r=function(t){const e=new Map;for(const i of t)e.has(i.level)||e.set(i.level,[]),e.get(i.level).push(i);return e}(n),s=t[i]??[];for(const t of s){let o;if(o=t.index>-1?[n[t.index]]:t.level>-1?r.get(t.level):n,t.name){const e=t.name instanceof RegExp?t.name:new RegExp(dt(t.name));o=o.filter((t=>e.test(t.name)))}o?.forEach((o=>{null!=t.priority&&(o.priority=t.priority),t.type?e.conditionalFormats.add(Object.assign({ranges:`${o.address}:${o.address}`},t)):(o.style=e.styles.add(t.style).id,"rows"==i&&null!=t.height?o.height=t.height:"columns"==i&&null!=t.width&&(o.width=t.width))}))}}function Yw(t,e){for(const i of t)if(e[i.property]!=i.value)return!1;return!0}function qw(t,e,i){const o=t.cells??[];for(const t of o)if(t.conditions?.length){const o=e.getRangeIterator(i??e.gridRange);for(const i of o)Yw(t.conditions,i)&&(i.style=e.styles.add(t.style).id)}else if(t.type)e.conditionalFormats.add(Object.assign({ranges:"A:"+e.columns[e.columns.length-1].address},t));else for(const i of e.columns)null==i.style&&(i.style=e.styles.add(t.style).id)}function Zw(t,e,i){Gw(t,e,"columns",i)}function Xw(t,e,i){Gw(t,e,"rows",i)}function Qw(t,e){qw(t,e),Zw(t,e),Xw(t,e)}const Kw=["index","name","rows","columns","cells","options","sparklines","rules","comments","styles","names","props","tab","theme"];class Jw{get comments(){return this._comments}get calculations(){return this._calculations}get names(){return this._names}get sorting(){return this._sorting}get sparklines(){return this._sparklines}get conditionalFormats(){return this._conditionalFormats}get mergedHeaders(){return this._mergedHeaders}get mergedCells(){return this._mergedCells}get hiddenCells(){return this._hiddenCells}get hasFilter(){return this._filter}get hasRowTree(){return this._maxRowLevel>0}get hasRowTreeEnabled(){return this.hasRowTree&&this.options.rowTree.enabled}get maxRowLevel(){return this._maxRowLevel}get hasColumnTree(){return this._maxColumnLevel>0}get hasColumnTreeEnabled(){return this.hasColumnTree&&this.options.columnTree.enabled}get maxColumnLevel(){return this._maxColumnLevel}get headerCount(){return this._headerCount}get columnHeaderCount(){return this.headerCount+(this.hasColumnTreeEnabled?1:0)+(this.hasFilter?1:0)}get properties(){return this._properties}set properties(t){this._properties=t}get theme(){return this._theme}set theme(t){this._theme=t}constructor(t,e,i){this.otherModels={},this.autofitColumns=new Set,this.autofitRows=new Set,this.styles=new Uw(this),this._comments=new cw(this),this._calculations=new dw(this),this._names=new Hw(this),this._sorting=new aw(this),this._sparklines=new zw(this),this._conditionalFormats=new bw(this),this._hiddenCells=new Map,this._filter=!1,this._maxRowLevel=0,this._maxColumnLevel=0,this._headerCount=0,this._levelBasedRowTree=!0,this._levelBasedColTree=!0,this.clearRows=()=>(this.rowRoot.clearChildren(),this.rows=[],this.rows),this.clearColumns=()=>this.columns=[],this.logger=i,this.options=e??Tw(t.options),this.populate(t)}getConnectedModel(t){return this.group?this.group.get(t):null}getModelByRange(t){return t.sheet?this.getConnectedModel(t.sheet):this}getCellByA1(t){return this.getCellByRange(av.fromA1(t))}getCellByRange(t){return this.getCellByCoords(t.r1,t.c1)}getCellByCoords(t,e){return this.rows[t]?.cell(e)}cell(t,e){return isNaN(t)?t instanceof av?this.getCellByRange(t):"string"==typeof t?this.getCellByA1(t):null:this.getCellByCoords(t,e||0)}createRows(t,e=new Aw(this,{l:-1}),i=0){let o=!1,n=!1;this.autofitRows.clear();const r=t.map(((t,e)=>{t||(t={}),isNaN(t.l)||(o=!0),null!=t.p&&(n=!0),"auto"==t.h&&this.autofitRows.add(e);const r=new Aw(this,t);return r.origIndex=e+i,r.name&&this.names.set(r.name,av.fullRow(e)),r}));let s=-1;return o?s=fn(r,e,{reverse:this.options.rowTree.reversed}):n?s=vn(r,e):e.children=r,n||(o=!0),[e,r,s,o]}insertRowData(t,e,i){const o=this.createRows(i,new Aw(this,{l:t.level}),e);if(this._maxRowLevel=Math.max(this._maxRowLevel,o[2]),t.insertChildren(o[0].children,e),this.indexRowsByTree(),this.theme){const t=o[1];Xw(this.theme,this,t),qw(this.theme,this,new av(0,t[0].index,1/0,t[t.length-1].index))}}applyTheme(t,e){if(e)for(const t of this.getInitializedCellIterator())t.invalidateStyle();Qw(t,this)}populate(t){this.index=t.index,this.name=t.name??this.name,this.tab=t.tab;let e=!1,i=!1;if(t.columns||(t.columns=new Array(this.options.columns).fill({})),t.rows||(t.rows=new Array(this.options.rows).fill({})),t.styles&&this.styles.populate(t.styles),this.autofitColumns.clear(),this.columns=t.columns.map(((t,o)=>{t||(t={}),t.l>0&&(e=!0),null!=t.p&&(i=!0),"auto"==t.w&&this.autofitColumns.add(o);const n=new iw(this,t);return this._filter=n.hasFilter||this._filter,n.name&&this.names.set(n.name,av.fullColumn(o)),n})),this._levelBasedColTree=e,this._maxColumnLevel=-1,this.colRoot=new iw(this,{l:-1}),e?this._maxColumnLevel=fn(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}):i?this._maxColumnLevel=vn(this.columns,this.colRoot):this.colRoot.children=this.columns,i||(this._levelBasedColTree=!0),this.indexColumns(),this.indexVisibleColumns(),[this.rowRoot,this.rows,this._maxRowLevel,this._levelBasedRowTree]=this.createRows(t.rows),this.indexRows(),this.indexVisibleRows(),this.options.pageSize&&this.options.pageSize<=this.rows.length&&(this.rowRoot.count=1/0),this._mergedCells=[],t.comments=t.comments||[],t.cells?.forEach(((e,i)=>{const o=this.rows[e.r]?this.rows[e.r].cell(e.c,e):null;o?(o.colspan>1||o.rowspan>1)&&this._mergedCells.push({r:o.r,c:o.c,rs:o.rowspan,cs:o.colspan}):this.logger?.error(`invalid cell definition (index ${i}): ${JSON.stringify(e)}`),o&&e.comment&&t.comments.push(Object.assign(e.comment,{c:e.c,r:e.r}))})),this.indexHiddenCells(),t.sparklines)try{this.sparklines.populate(t.sparklines)}catch(t){un().error(`Sparkline init error: ${t}`)}if(t.names)try{this.names.populate(t.names)}catch(t){un().error(`Named range init error: ${t}`)}if(t.rules)try{this.conditionalFormats.populate(t.rules)}catch(t){un().error(`Conditional formats init error: ${t}`)}if(t.theme)try{this.applyTheme(t.theme),this._theme=t.theme}catch(t){un().error(`Theme init error: ${t}`)}if(t.comments)try{this.comments.populate(t.comments)}catch(t){un().error(`Comment init error: ${t}`)}this._properties=t.props,this.otherSourceData={};const o=new Set(Kw),n=Object.keys(t).filter((t=>!o.has(t)));n.forEach((e=>this.otherSourceData[e]=t[e])),this.options.sorting?.defaultSettings&&(this.sorting.settings=this.options.sorting.defaultSettings),this.calcHeaderHeights()}getSourceData(){const t={index:this.index,name:this.name,tab:this.tab,columns:this.columns.map((t=>t.getSourceData())),rows:this.rows.map((t=>t.getSourceData())),styles:this.styles.getSourceData(),rules:this.conditionalFormats.getSourceData(),sparklines:this.sparklines.getSourceData(),options:this.options};this._properties&&(t.props=this._properties);const e=[];let i;for(let t=0;t<this.rows.length;t++)for(let o=0;o<this.columns.length;o++)i=this.rows[t].cell(o).getSourceData(),Object.keys(i).length>0&&(i.r=t,i.c=o,e.push(i));e.length>0&&(t.cells=e);const o=[];return this.styles.clean(),this.styles.map.forEach((t=>o.push(t))),o.length>0&&(t.styles=o),new Set([...Object.keys(this.otherModels??{}),...Object.keys(this.otherSourceData??{})]).forEach((e=>t[e]=this.otherModels[e]?Array.from(this.otherModels[e]).map((t=>t.getSourceData())):this.otherSourceData[e])),t}calcHeaderHeights(){this._headerCount=0,this._headerHeights=[],this.columns.forEach((t=>{this._headerCount=t.header?t.header.length:this._headerCount,this._headerHeights.length<this._headerCount&&this._headerHeights.push(...Array(this._headerCount-this._headerHeights.length).fill(0)),t.header?.forEach(((t,e)=>{e>=this._headerHeights.length&&this._headerHeights.push(0),this._headerHeights[e]=Math.max(this._headerHeights[e],t.height??0)}))}))}indexRows(){this.visibleRows=[],this.rows.forEach(((t,e)=>{t.index=e,t.isLoaded||(t.collapsed=!0),t.hidden||t.filterState==pn.Filtered||this.visibleRows.push(t)}))}indexVisibleRows(){this.visibleRows=[];let t=0;if(this._levelBasedRowTree){if(this.rowRoot.walkVisible((e=>{e.visibleIndex=t++,this.visibleRows.push(e)})),this.options.rowTree.reversed){const e=new Array(this.visibleRows.length);this.visibleRows.forEach(((i,o)=>{t=this.visibleRows.length-o-1,i.visibleIndex=t,e[t]=i})),this.visibleRows=e}}else this.rowRoot.walkVisible((t=>this.visibleRows[t.index]=t)),this.visibleRows=this.visibleRows.filter((e=>!!e&&(e.visibleIndex=t++,!0)))}indexRowsByTree(){this.rows=[];let t=0;this.rowRoot.walk((e=>{e.index=t++,this.rows.push(e)})),this.options.rowTree.reversed&&this.rows.reverse(),this.indexVisibleRows()}indexColumns(){this.visibleColumns=[],this.columns.forEach(((t,e)=>{t.index=e,t.hidden||this.visibleColumns.push(t)}))}indexVisibleColumns(){this.visibleColumns=[],this.visibleColumnIndex={};let t=0;if(this.colRoot.walkVisible((e=>{e.visibleIndex=t,this.visibleColumnIndex[e.index]=t++,this.visibleColumns.push(e)})),this.options.columnTree.reversed){this.visibleColumnIndex={};const e=new Array(this.visibleColumns.length);this.visibleColumns.forEach(((i,o)=>{t=this.visibleColumns.length-o-1,i.visibleIndex=t,this.visibleColumnIndex[i.index]=t,e[t]=i})),this.visibleColumns=e}this.indexHeaders()}indexHeaders(){this._mergedHeaders=[],this._headerCount=0,this.colRoot.walkVisible((t=>{this._headerCount=Math.max(t.header?t.header.length:0,this._headerCount),t.mergedHeaders.forEach((e=>this._mergedHeaders.push({h:e,c:t.index,r:e.r,cs:t.calculateRealColspan(e.cs??1),rs:e.rs??1})))})),this._mergedHeaders.forEach((t=>{if(!t.h.hidden)for(let e=t.c;e<t.c+t.cs;e++)for(let i=t.r;i<t.r+t.rs;i++)(i>t.r||e>t.c)&&this.columns[e]&&this.columns[e].header[i]&&(this.columns[e].header[i].hidden=!0)})),this.calcHeaderHeights()}removeHeader(t){this.columns.forEach((e=>{t<e.header.length&&e.header.splice(t,1)})),this.indexHeaders()}clear(){this.clearRows(),this.clearColumns(),this.resetViewport()}resetViewport(){return this._viewport=null,this}getViewport(t,e,i){const o=[],n=[];let r,s,a=e.h,l=0;for(l=0;l<i.t;l++)r=this.visibleRows[l],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)r=this.visibleRows[l],a-=r.height;for(l=i.t+t.r;a>0&&l<this.visibleRows.length;)r=this.visibleRows[l++],a-=r.height,o.push(r);for(l=this.visibleRows.length-i.b;l<this.visibleRows.length;l++)o.push(this.visibleRows[l]);let c=e.w,h=0;for(h=0;h<i.l;h++)s=this.visibleColumns[h],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)s=this.visibleColumns[h],c-=s.width;for(h=i.l+t.c;c>0&&h<this.visibleColumns.length;)s=this.visibleColumns[h++],c-=s.width,n.push(s);for(h=this.visibleColumns.length-i.r;h<this.visibleColumns.length;h++)n.push(this.visibleColumns[h]);return this._viewport={rows:o,columns:n}}calculateViewport(){return this._viewport?this.calculations.calculateViewport(this._viewport):[]}getValuesInRange(t,e=!1){if(!(t=t.intersect(this.gridRange)))return[];const{columns:i,rows:o}=t.size,n=new Array(o);let r,s=0,a=0;for(let o=t.r1;o<=t.r2;o++){n[s]=new Array(i),a=0,r=this.rows[o];for(let i=t.c1;i<=t.c2;i++)n[s][a++]=e?r.cell(i).formattedValue:r.cell(i).value;++s}return n}setRowExpandLevel(t){this.rows.forEach((e=>{e.collapsed=!e.isLoaded&&!e.isPartialyLoaded||e.level>=t,e.level<=t&&(e.hidden=!1)})),this.indexVisibleRows()}setColumnExpandLevel(t){this.columns.forEach((e=>e.collapsed=e.level>=t)),this.indexVisibleColumns()}getViewportRange(){return this._viewport?new av(this._viewport.columns[0].index,this._viewport.rows[0].index,this._viewport.columns[this._viewport.columns.length-1].index,this._viewport.rows[this._viewport.rows.length-1].index):null}get gridRange(){return new av(0,0,this.columns.length-1,this.rows.length-1)}getRangeIterator(t,e=!1){return new Rw(this,e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange))}getInitializedCellIterator(){return new Rw(this,this.gridRange,!0)}getRowIterator(t,e=!1){return t=e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange),new Iw(this,t,"rows")}getColumnIterator(t,e=!1){return t=e&&this._viewport?t.intersect(this.getViewportRange()):t.intersect(this.gridRange),new Iw(this,t,"columns")}getCellArray(t){const e=[];for(const i of this.getRangeIterator(t))e.push(i);return e}transformRangeToMatrix(t,e){let i,o,n;const r=[];for(let s=(t=t.intersect(this.gridRange)).r1;s<=t.r2;s++)if(i=this.rows[s],i){n=[];for(let r=t.c1;r<=t.c2;r++)o=i.cell(r),o&&n.push(e(o));r.push(n)}return r}getCellMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t))}getValueMatrix(t){return this.getModelByRange(t)?.transformRangeToMatrix(t,(t=>t.value))}shiftMerges(t){const{index:e,offset:i,direction:o}=t,n={down:t=>{e<=t.r?t.r+=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs+=i)},up:t=>{e<=t.r?t.r-=i:e>t.r&&e<t.r+t.rs&&(this.rows[t.r].cell(t.c).rowspan=t.rs-=i)},right:t=>{e<=t.c?t.c+=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs+=i)},left:t=>{e<=t.c?t.c-=i:e>t.c&&e<t.c+t.cs&&(this.rows[t.r].cell(t.c).colspan=t.cs-=i)}};this.mergedCells.forEach(n[o]),this.indexHiddenCells()}indexHiddenCells(){this._hiddenCells.clear(),this.mergedCells.forEach((t=>{if(!(t.r>0||this._hiddenCells.has(t.r)&&this._hiddenCells.get(t.r).has(t.c)))for(let e=t.r;e<t.r+t.rs;e++)for(let i=t.c;i<t.c+t.cs;i++)(e>t.r||i>t.c)&&(this._hiddenCells.has(e)||this._hiddenCells.set(e,new Map),this._hiddenCells.get(e).set(i,t))}))}shift(t){t.sheet=this.name,this.shiftMerges(t),this.calculations.shift(t),this.names.shift(t),this.comments.shift(t),this.sparklines.shift(t)}clearCalculations(t=!1){t&&this.group?this.group.models.forEach((t=>t.calculations.refresh())):this.calculations.refresh()}refreshSparklines(){this.sparklines.updateRangeMaps();for(const t of this.getInitializedCellIterator())t.invalidateStyle()}clearCalculatedStyles(){this.conditionalFormats.refresh();const t=[];for(const e of this.getInitializedCellIterator())t.push(e),e.invalidateStyle()}insertColumns(t,e,i=!1){const o=this.columns[Math.min(this.columns.length-1,t)].parent;i&&++t,this.shift({index:t,offset:e,direction:"right"});for(let i=0;i<this.rows.length;i++)this.rows[i].insertColumns(t,e,!1);const n=new Array(e).fill(null).map((()=>new iw(this)));return this.columns.splice(t,0,...n),this.maxColumnLevel>0&&o.insertChildren(n,t-(o.index||-1)-1),this.indexColumns(),this.clearCalculations(!0),n}deleteColumns(t,e){const i=this.columns[t].parent;this.shift({index:t,offset:e,direction:"left"});const o=[];for(let i=0;i<this.rows.length;i++)o.push(this.rows[i].deleteColumns(t,e,!1));const n=this.columns.splice(t,e);return i?.deleteChildren(n),this.indexColumns(),this.clearCalculations(!0),n}insertRows(t,e,i=!1){const o=Math.min(this.rows.length-1,t),n=o<0?this.rowRoot:this.rows[o].parent;i&&++t;const r=isNaN(e)?e.length:e;this.shift({index:t,offset:r,direction:"down"});const s=isNaN(e)?e:new Array(r).fill(null).map((()=>new Aw(this)));return this.rows.splice(t,0,...s),this.maxRowLevel>0&&n.insertChildren(s,t-(n.index||-1)-1),this.indexRows(),this.theme&&(Xw(this.theme,this,s),qw(this.theme,this,new av(0,s[0].index,1/0,s[s.length-1].index))),this.clearCalculations(!0),s}deleteRows(t,e){const i=this.rows[t].parent;this.shift({index:t,offset:e,direction:"up"});const o=this.rows.splice(t,e);return i?.deleteChildren(o),this.indexRows(),this.clearCalculations(!0),o}moveRows(t,e,i){const o=this.rows.splice(t,e);return this.rows.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"down",maxIndex:t+e-1}),this.indexRows(),this.clearCalculations(!0),o}moveColumns(t,e,i){const o=this.columns.splice(t,e);return this.columns.splice(i,0,...o),this.shift({index:t,offset:i-t,direction:"right",maxIndex:t+e-1}),this.indexColumns(),this.clearCalculations(!0),o}spillValues(t){const{cell:e,values:i,displayValues:o,propertyCell:n}=t,r=[],s=[],a=0===i.length||0===i[0].length;let l,c;const h=a?null:new av(e.c,e.r,e.c+i[0].length-1,e.r+i.length-1);if(e.spillRange&&this.getRangeIterator(e.spillRange,!0).forEach((t=>{e==t||h?.contains(t.range)||t.clearSpilledValue()})),e.spillRange=h,a)return{cells:r,oldValues:s,range:null};for(let t=h.r1;t<=h.r2;t++){if(l=this.rows[t],!l)continue;const a=t-h.r1;for(let t=h.c1;t<=h.c2;t++){const d=t-h.c1;c=l.cell(t),c.editable&&(s.push(c.value2),c.spillValue(i[a][d],e),n&&(c.format=n.format,c.type=n.type),o&&null!=o[a][d]&&(c.displayValue=o[a][d]),r.push(c))}}return{cells:r,oldValues:s,range:h}}getCellByName(t,e,i=!0){return this.names.getCellByName(t,e)||(this.group&&i?this.group.getCellByName(t,e):null)}getRangeByName(t,e=!0){return this.names.getRangeByName(t)||(this.group&&e?this.group.getRangeByName(t):null)}getValueMatrixByName(t,e=!0){const i=this.names.getRangeByName(t);return i?this.getValueMatrix(i):this.group&&e?this.group.getValueMatrixByName(t):null}rebuildRowTree(){const t=this._levelBasedRowTree?fn:vn;this._maxRowLevel=t(this.rows,this.rowRoot,{reverse:this.options.rowTree.reversed}),this.indexRowsByTree()}rebuildColumnTree(){const t=this._levelBasedColTree?fn:vn;this._maxColumnLevel=t(this.columns,this.colRoot,{reverse:this.options.columnTree.reversed}),this.indexColumns()}calculateCellOffset(t){let e=0,i=0;for(let i=0;i<t.c1&&this.columns[i];i++)e+=this.columns[i].width;for(let e=0;e<t.r1&&this.rows[e];e++)i+=this.rows[e].height;return{x:e,y:i}}}class tx{get errors(){return this._errors}get(t){return this.models.get(t)}has(t){return this.models.has(t)}getNewName(){let t;do{t=`sheet${this._max}`}while(this.models.has(t));return t}add(t){if(t.index=t.index??this._max,++this._max,t.name=t.name||this.getNewName(),this.models.has(t.name))throw Error(`sheet "${t.name}" already exists`);return this.models.set(t.name,t),t.group=this,t}duplicate(t){const e=this.get(t);if(!e)return;const i=new Jw(e.getSourceData(),e.options);let o=1;for(;this.models.has(`${t}_${o}`);)++o;return i.name=`${t}_${o}`,this.add(i),i}remove(t){return this.models.delete(t),this}rename(t,e){if(this.has(t)){if(this.has(e))throw new Error(`Model '${e}' already exists`);const i=this.get(t);i.name=e,this.models.set(e,i),this.models.delete(t),this.models.forEach((i=>{i.calculations.renameSheet(t,e)&&i.calculateViewport()}))}return this}clear(){this.models.clear(),this._errors=[]}constructor(t){this._max=0,this.models=new Map,this.themes=new Map,this._errors=[],t&&this.populate(t)}populate(t){this.clear(),t.models.forEach((t=>{const e=new Jw(t);try{this.add(e)}catch(t){this.errors.push(t)}})),t.themes&&t.themes.forEach((t=>this.themes.set(t.name,t)))}getSourceData(){const t={models:[]};return this.models.forEach((e=>t.models.push(e.getSourceData()))),t}getCellByName(t,e){for(const i of this.models.values()){const o=i.getCellByName(t,e,!1);if(o)return o}return null}getRangeByName(t){for(const e of this.models.values()){const i=e.getRangeByName(t,!1);if(i)return i}return null}getValueMatrixByName(t){for(const e of this.models.values()){const i=e.getValueMatrixByName(t,!1);if(i)return i}return null}}class ex{constructor(t){this.model=t,this.stack=[],this.restack=[]}push(t){return this.restack=[],t.timestamp||(t.timestamp=Date.now()),this.stack.push(t),this}pop(t=1){let e=0;const i=[];for(;e++<t&&this.stack.length>0;){const t=this.stack.pop();i.push(t),this.restack.push(t)}return i}pop2(t=1){let e=0;const i=[];for(;e++<t&&this.restack.length>0;){const t=this.restack.pop();i.push(t),this.stack.push(t)}return i}}class ix{get activeCellCoords(){return{c:this.range.c1+this.activeCell.c1,r:this.range.r1+this.activeCell.r1}}constructor(t,e,i,o){this.hidden=!1,this.range=new av(t,e,i,o),this.activeCell=new av(0,0)}static fromRange(t){return new ix(t.c1,t.r1,t.c2,t.r2)}setCoords(t,e,i,o){this.range.setCoords(t,e,i,o),this.activeCell.setCoords(0,0)}setRange(t){"string"==typeof t&&(t=av.fromA1(t)),this.range.setCoords(t.c1,t.r1,t.c2,t.r2),this.activeCell.setCoords(0,0)}move(t,e,i,o){this.range.setCoords(this.range.c1+this.activeCell.c1,this.range.r1+this.activeCell.r1,this.range.c1+this.activeCell.c2,this.range.r1+this.activeCell.r2),this.range.move(t,e,i,o,!1),this.activeCell.setCoords(0,0)}moveRange(t,e,i,o){this.range.move(t,e,i,o,!0)}moveActiveCell(t,e){const{columns:i,rows:o}=this.range.size;this.activeCell.move(t,e,i,o,!0)}}const ox={...jf,CUSTOM_CLIPBOARD_TYPE:"web application/json"};class nx{constructor(t,e,i=ox.MAX_CACHE_ITEMS){this.maxCacheItems=i,this.queue=[],this.disabled=!1,this.table=new Array(e).fill(null).map((()=>new Array(t)))}get(t,e){return this.table[e][t]}delete(t,e){return this.table[e][t]=null,this}deleteColumn(t){for(let e=0;e<this.table.length;e++)this.table[e][t]=null;return this}deleteRow(t){return this.table[t]=new Array(this.table[0].length).fill(null),this}set(t,e,i){this.disabled||(this.get(t,e)||this.queue.push([e,t]),this.table[e][t]=i)}clear(){this.queue=[],this.table=this.table.map((t=>new Array(t.length)))}clean(){if(this.maxCacheItems>0&&this.queue.length>this.maxCacheItems){let t=this.queue.length;for(let e=0;e<this.queue.length;e++){const i=this.queue[e];if(!this.table[i[0]][i[1]].parentNode&&(this.queue[e]=null,this.table[i[0]][i[1]]=null,--t<=this.maxCacheItems))break}t<this.queue.length&&(this.queue=this.queue.filter((t=>t)))}}}var rx=function(t,e,i,o){var n,r=arguments.length,s=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(s=(r<3?n(s):r>3?n(e,i,s):n(e,i))||s);return r>3&&s&&Object.defineProperty(e,i,s),s};let sx=class extends rs{constructor(){super(),this.render=()=>Pr`
2764
2764
  <og-icon id="filterIcon" .icon="${{icon:"filter"}}"></og-icon>
2765
2765
  <div class="text">${Y(this.value)?Pr`
2766
2766
  <og-icon .icon="${this.value?"square-check":"square"}"></og-icon>
@@ -8392,4 +8392,4 @@ milkdown-block-handle {
8392
8392
  `:null}
8393
8393
  </div>
8394
8394
  </og-panel>
8395
- `:null,this.addEventListener("mousedown",(t=>t.stopPropagation()))}getTypeIndex(t){const e=this.types.findIndex((e=>e.type==t.type&&e.grouping==(t.grouping||"standard")));return e>-1?e:null}updateModel(){if(this.editTitle=!1,!this.model)return;this.titleInput&&(this.model.title=this.titleInput.value);const t=this.types[this.typeList.value];this.model.type=t.type,this.model.grouping=t.grouping,this.model.categoriesRange=this.categoryRangeInput?.value?av.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?av.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=av.fromA1(this.dataRangeInput.value),this.dispatchEvent(new Tn({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};Tz.styles=[Iz],Hz([hs({type:Object})],Tz.prototype,"model",void 0),Hz([ds()],Tz.prototype,"editTitle",void 0),Hz([ps("#title")],Tz.prototype,"titleInput",void 0),Hz([ps("#type")],Tz.prototype,"typeList",void 0),Hz([ps("#dataRange")],Tz.prototype,"dataRangeInput",void 0),Hz([ps("#seriesRange")],Tz.prototype,"seriesRangeInput",void 0),Hz([ps("#categoryRange")],Tz.prototype,"categoryRangeInput",void 0),Tz=Hz([as("og-plugin-chart-form")],Tz);const Az=va().themes.get("dark");Object.assign(Az.definition,{"highcharts-title-font-size":"16px","highcharts-subtitle-font-size":"14px","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"rgb(48, 48, 48)","highcharts-neutral-color-100":"rgb(255, 255, 255)","highcharts-neutral-color-80":"rgb(214, 214, 214)","highcharts-neutral-color-60":"rgb(173, 173, 173)","highcharts-neutral-color-40":"rgb(133, 133, 133)","highcharts-neutral-color-20":"rgb(92, 92, 92)","highcharts-neutral-color-10":"rgb(71, 71, 71)","highcharts-neutral-color-5":"rgb(61, 61, 61)","highcharts-neutral-color-3":"rgb(57, 57, 57)","highcharts-highlight-color-100":"rgb(122, 167, 255)","highcharts-highlight-color-80":"rgb(108, 144, 214)","highcharts-highlight-color-60":"rgb(94, 121, 173)","highcharts-highlight-color-20":"rgb(65, 74, 92)","highcharts-highlight-color-10":"rgb(58, 63, 71)"});const Oz=va().themes.get("light");Object.assign(Oz.definition,{"highcharts-title-font-size":"16px","chart-background-color":"#2a2a2b","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"#ffffff","highcharts-neutral-color-100":"#000000","highcharts-neutral-color-80":"#333333","highcharts-neutral-color-60":"#666666","highcharts-neutral-color-40":"#999999","highcharts-neutral-color-20":"#cccccc","highcharts-neutral-color-10":"#e6e6e6","highcharts-neutral-color-5":"#f2f2f2","highcharts-neutral-color-3":"#f7f7f7","highcharts-highlight-color-100":"#0022ff","highcharts-highlight-color-80":"#334eff","highcharts-highlight-color-60":"#667aff","highcharts-highlight-color-20":"#ccd3ff","highcharts-highlight-color-10":"#e6e9ff","highcharts-positive-color":"#06b535","highcharts-negative-color":"#f21313","highcharts-annotation-color-0":"rgba(130, 170, 255, 0.4)","highcharts-annotation-color-1":"rgba(139, 191, 216, 0.4)","highcharts-annotation-color-2":"rgba(150, 216, 192, 0.4)","highcharts-annotation-color-3":"rgba(156, 229, 161, 0.4)","highcharts-annotation-color-4":"rgba(162, 241, 130, 0.4)","highcharts-annotation-color-5":"rgba(169, 255, 101, 0.4)"});var $z=i(2439),Dz=i(8022),Nz=i(6158),Pz=i(127),jz=i(4505),Vz=i(8659),Bz=i(397),Fz=i(930),Wz=i(9723),Uz=i(6343),Gz=i(4582),Yz=i(6127),qz=i(8238),Zz=i(7362),Xz=i(452),Qz=i(5390),Kz=i(3368),Jz=i(6288),tR=i(7513),eR=i(1386),iR=i(5764),oR=i(1261),nR=i(3071),rR=i(3285),sR=i(2356),aR=i(6780),lR=i(8542),cR=i(8385),hR=i(1025),dR=i(2034),uR=i(8113),pR=i(1821),gR=i(7212),mR=i(2583),fR=i(5360),vR=i(2377),bR=i(2864),yR=i(7998),wR=i(4101),xR=i(7813),kR=i(5037),CR=i(7005),MR=i(9626),_R=i(9517),SR=i(1504),ER=i(3838),zR=i(4935),RR=i(7699),LR=i(3322),IR=i(5757),HR=i(536),TR=i(1673),AR=i(8736),OR=i(196),$R=i(5133),DR=i(6092),NR=i(791),PR=i(5927),jR=i(1802),VR=i(9511),BR=i(6267),FR=i(1072),WR=i(4331),UR=i(8644),GR=i(2704),YR=i(2419),qR=i(6363),ZR=i(5236),XR=i(3499),QR=i(3811),KR=i(1953),JR=i(4729),tL=i(8964),eL=i(8540),iL=i(8752),oL=i(8783),nL=i(8270),rL=i(7261),sL=i(9231),aL=i(4555),lL=i(5293),cL=i(6981),hL=i(5268),dL=i(2680),uL=i(789),pL=i(4373),gL=i(436),mL=i(8573),fL=i(1808),vL=i(3247),bL=i(5143),yL=i(2415),wL=i(2561),xL=i(5726),kL=i(7436),CL=i(4201),ML=i(8248),_L=i(6433),SL=i(2698),EL=i(979),zL=i(9358),RL=i(9176),LL=i(1239),IL=i(4218),HL=i(8377),TL=i(3740),AL=i(5379),OL=i(9974),$L=i(8955),DL=i(3559),NL=i(809),PL=i(8014),jL=i(8265),VL=i(3300),BL=i(8724),FL=i(8033),WL=i(7700),UL=i(5741),GL=i(3478),YL=i(512),qL=i(499),ZL=i(8680),XL=i(9646),QL=i(9432),KL=i(2841),JL=i(75),tI=i(9256),eI=i(444),iI=i(5633),oI=i(3788),nI=i(3573),rI=i(9948),sI=i(1836),aI=i(7029),lI=i(8532),cI=i(6639),hI=i(1633),dI=i(9805),uI=i(2171),pI=i(875),gI=i(9595),mI=i(3894),fI=i(2803),vI=i(7765),bI=i(8804),yI=i(8654),wI=i(257),xI=i(5844),kI=i(9651),CI=i(760),MI=i(9518),_I=i(4585),SI=i(1769),EI=i(643),zI=i(5156),RI=i(822),LI=i(8249),II=i(3434),HI=i(9314),TI=i(3093),AI=i(7721),OI=i(588),$I=i(7645),DI=i(7148),NI=i(6795),PI=i(7047),jI=i(9428),VI=i(1879),BI=i(9779),FI=i(2476),WI=i(9648),UI=i(2896),GI=i(6817),YI=i(5196),qI=i(2762),ZI=i(5981),XI=i(9014),QI=i(2611),KI=i(7946),JI=i(6301),tH=i(8020),eH=i(3987),iH=i(3192),oH=i(8796),nH=i(2489),rH=i(7324),sH=i(6069),aH=i(4155),lH=i(6977),cH=i(8055),hH=i(2653),dH=i(9492),uH=i(4334),pH=i(6804),gH=i(9954),mH=i(2211),fH=i(5211),vH=i(1519),bH=i(6204),yH=i(5501),wH=i(5244),xH=i(9742),kH=i(1552),CH=i(1330),MH=i(2596),_H=i(5184),SH=i(7675),EH=i(1513),zH=i(9396),RH=i(7673),LH=i(244),IH=i(1187),HH=i(1736),TH=i(4390),AH=i(7106),OH=i(2096),$H=i(9991),DH=i(5629),NH=i(3386),PH=i(6651),jH=i(1684),VH=i(3849),BH=i(2582),FH=i(8569),WH=i(2955),UH=i(9100),GH=i(7381),YH=i(9190),qH=i(4071),ZH=i(8e3),XH=i(4633),QH=i(4374),KH=i(486),JH=i(3680),tT=i(9999),eT=i(2830),iT=i(5255),oT=i(6021),nT=i(2214),rT=i(8497),sT=i(2052),aT=i(5327),lT=i(8701),cT=i(8722),hT=i(7325),dT=i(2445);const uT=[$z.mw,Dz.mw,Nz.mw,Pz.mw,jz.mw,Vz.mw,Bz.mw,Fz.mw,Wz.mw,Gz.mw,Uz.mw,Yz.mw,qz.mw,Zz.mw,Xz.mw,Qz.mw,Kz.mw,Jz.mw,tR.mw,eR.mw,iR.mw,oR.mw,nR.mw,rR.mw,sR.mw,aR.mw,lR.mw,cR.mw,hR.mw,uR.mw,pR.mw,gR.mw,mR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,kR.mw,CR.mw,MR.mw,SR.mw,_R.mw,ER.mw,zR.mw,RR.mw,LR.mw,IR.mw,HR.mw,TR.mw,AR.mw,OR.mw,$R.mw,DR.mw,NR.mw,jR.mw,VR.mw,BR.mw,FR.mw,WR.mw,UR.mw,GR.mw,YR.mw,qR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tL.mw,eL.mw,iL.mw,oL.mw,nL.mw,PR.mw,rL.mw,sL.mw,aL.mw,lL.mw,cL.mw,hL.mw,dL.mw,uL.mw,pL.mw,gL.mw,mL.mw,fL.mw,vL.mw,bL.mw,yL.mw,wL.mw,xL.mw,kL.mw,CL.mw,ML.mw,_L.mw,SL.mw,EL.mw,zL.mw,RL.mw,LL.mw,IL.mw,HL.mw,TL.mw,AL.mw,OL.mw,$L.mw,DL.mw,NL.mw,PL.mw,jL.mw,VL.mw,BL.mw,FL.mw,WL.mw,UL.mw,dR.mw,GL.mw,YL.mw,qL.mw,ZL.mw,XL.mw,QL.mw,KL.mw,JL.mw,tI.mw,eI.mw,iI.mw,oI.mw,nI.mw,rI.mw,aI.mw,sI.mw,cI.mw,lI.mw,hI.mw,dI.mw,uI.mw,pI.mw,gI.mw,mI.mw,fI.mw,vI.mw,bI.mw,CI.mw,MI.mw,_I.mw,SI.mw,EI.mw,zI.mw,RI.mw,II.mw,HI.mw,TI.mw,NI.mw,PI.mw,jI.mw,VI.mw,BI.mw,FI.mw,WI.mw,UI.mw,yI.mw,wI.mw,kI.mw,xI.mw,GI.mw,YI.mw,qI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,JI.mw,AI.mw,OI.mw,$I.mw,DI.mw,eH.mw,iH.mw,oH.mw,nH.mw,rH.mw,sH.mw,aH.mw,lH.mw,cH.mw,hH.mw,dH.mw,uH.mw,pH.mw,gH.mw,mH.mw,fH.mw,vH.mw,bH.mw,yH.mw,tH.mw,wH.mw,xH.mw,kH.mw,CH.mw,MH.mw,_H.mw,SH.mw,EH.mw,zH.mw,RH.mw,LH.mw,IH.mw,HH.mw,TH.mw,AH.mw,OH.mw,$H.mw,DH.mw,NH.mw,PH.mw,jH.mw,VH.mw,BH.mw,FH.mw,WH.mw,UH.mw,GH.mw,YH.mw,qH.mw,ZH.mw,XH.mw,QH.mw,KH.mw,JH.mw,tT.mw,eT.mw,iT.mw,oT.mw,nT.mw,rT.mw,sT.mw,LI.mw,aT.mw,lT.mw,cT.mw,hT.mw,dT.mw],pT={xlsx:j,charts:V},gT={name:"@omegagrid/bundle",version:"0.6.68"};va().activate("light"),Dh.styleDefault="fal",Nh.add(...uT)})(),window.Omegagrid=o})();
8395
+ `:null,this.addEventListener("mousedown",(t=>t.stopPropagation()))}getTypeIndex(t){const e=this.types.findIndex((e=>e.type==t.type&&e.grouping==(t.grouping||"standard")));return e>-1?e:null}updateModel(){if(this.editTitle=!1,!this.model)return;this.titleInput&&(this.model.title=this.titleInput.value);const t=this.types[this.typeList.value];this.model.type=t.type,this.model.grouping=t.grouping,this.model.categoriesRange=this.categoryRangeInput?.value?av.fromA1(this.categoryRangeInput.value):null,this.model.seriesRange=this.seriesRangeInput?.value?av.fromA1(this.seriesRangeInput.value):null,this.model.dataRange=av.fromA1(this.dataRangeInput.value),this.dispatchEvent(new Tn({value:this.model}))}async updated(){this.editTitle&&this.titleInput&&(await this.titleInput.updateComplete,this.titleInput.focus(),this.titleInput.selectAll())}};Tz.styles=[Iz],Hz([hs({type:Object})],Tz.prototype,"model",void 0),Hz([ds()],Tz.prototype,"editTitle",void 0),Hz([ps("#title")],Tz.prototype,"titleInput",void 0),Hz([ps("#type")],Tz.prototype,"typeList",void 0),Hz([ps("#dataRange")],Tz.prototype,"dataRangeInput",void 0),Hz([ps("#seriesRange")],Tz.prototype,"seriesRangeInput",void 0),Hz([ps("#categoryRange")],Tz.prototype,"categoryRangeInput",void 0),Tz=Hz([as("og-plugin-chart-form")],Tz);const Az=va().themes.get("dark");Object.assign(Az.definition,{"highcharts-title-font-size":"16px","highcharts-subtitle-font-size":"14px","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"rgb(48, 48, 48)","highcharts-neutral-color-100":"rgb(255, 255, 255)","highcharts-neutral-color-80":"rgb(214, 214, 214)","highcharts-neutral-color-60":"rgb(173, 173, 173)","highcharts-neutral-color-40":"rgb(133, 133, 133)","highcharts-neutral-color-20":"rgb(92, 92, 92)","highcharts-neutral-color-10":"rgb(71, 71, 71)","highcharts-neutral-color-5":"rgb(61, 61, 61)","highcharts-neutral-color-3":"rgb(57, 57, 57)","highcharts-highlight-color-100":"rgb(122, 167, 255)","highcharts-highlight-color-80":"rgb(108, 144, 214)","highcharts-highlight-color-60":"rgb(94, 121, 173)","highcharts-highlight-color-20":"rgb(65, 74, 92)","highcharts-highlight-color-10":"rgb(58, 63, 71)"});const Oz=va().themes.get("light");Object.assign(Oz.definition,{"highcharts-title-font-size":"16px","chart-background-color":"#2a2a2b","highcharts-color-0":"#2caffe","highcharts-color-1":"#544fc5","highcharts-color-2":"#00e272","highcharts-color-3":"#fe6a35","highcharts-color-4":"#6b8abc","highcharts-color-5":"#d568fb","highcharts-color-6":"#2ee0ca","highcharts-color-7":"#fa4b42","highcharts-color-8":"#feb56a","highcharts-color-9":"#91e8e1","highcharts-background-color":"#ffffff","highcharts-neutral-color-100":"#000000","highcharts-neutral-color-80":"#333333","highcharts-neutral-color-60":"#666666","highcharts-neutral-color-40":"#999999","highcharts-neutral-color-20":"#cccccc","highcharts-neutral-color-10":"#e6e6e6","highcharts-neutral-color-5":"#f2f2f2","highcharts-neutral-color-3":"#f7f7f7","highcharts-highlight-color-100":"#0022ff","highcharts-highlight-color-80":"#334eff","highcharts-highlight-color-60":"#667aff","highcharts-highlight-color-20":"#ccd3ff","highcharts-highlight-color-10":"#e6e9ff","highcharts-positive-color":"#06b535","highcharts-negative-color":"#f21313","highcharts-annotation-color-0":"rgba(130, 170, 255, 0.4)","highcharts-annotation-color-1":"rgba(139, 191, 216, 0.4)","highcharts-annotation-color-2":"rgba(150, 216, 192, 0.4)","highcharts-annotation-color-3":"rgba(156, 229, 161, 0.4)","highcharts-annotation-color-4":"rgba(162, 241, 130, 0.4)","highcharts-annotation-color-5":"rgba(169, 255, 101, 0.4)"});var $z=i(2439),Dz=i(8022),Nz=i(6158),Pz=i(127),jz=i(4505),Vz=i(8659),Bz=i(397),Fz=i(930),Wz=i(9723),Uz=i(6343),Gz=i(4582),Yz=i(6127),qz=i(8238),Zz=i(7362),Xz=i(452),Qz=i(5390),Kz=i(3368),Jz=i(6288),tR=i(7513),eR=i(1386),iR=i(5764),oR=i(1261),nR=i(3071),rR=i(3285),sR=i(2356),aR=i(6780),lR=i(8542),cR=i(8385),hR=i(1025),dR=i(2034),uR=i(8113),pR=i(1821),gR=i(7212),mR=i(2583),fR=i(5360),vR=i(2377),bR=i(2864),yR=i(7998),wR=i(4101),xR=i(7813),kR=i(5037),CR=i(7005),MR=i(9626),_R=i(9517),SR=i(1504),ER=i(3838),zR=i(4935),RR=i(7699),LR=i(3322),IR=i(5757),HR=i(536),TR=i(1673),AR=i(8736),OR=i(196),$R=i(5133),DR=i(6092),NR=i(791),PR=i(5927),jR=i(1802),VR=i(9511),BR=i(6267),FR=i(1072),WR=i(4331),UR=i(8644),GR=i(2704),YR=i(2419),qR=i(6363),ZR=i(5236),XR=i(3499),QR=i(3811),KR=i(1953),JR=i(4729),tL=i(8964),eL=i(8540),iL=i(8752),oL=i(8783),nL=i(8270),rL=i(7261),sL=i(9231),aL=i(4555),lL=i(5293),cL=i(6981),hL=i(5268),dL=i(2680),uL=i(789),pL=i(4373),gL=i(436),mL=i(8573),fL=i(1808),vL=i(3247),bL=i(5143),yL=i(2415),wL=i(2561),xL=i(5726),kL=i(7436),CL=i(4201),ML=i(8248),_L=i(6433),SL=i(2698),EL=i(979),zL=i(9358),RL=i(9176),LL=i(1239),IL=i(4218),HL=i(8377),TL=i(3740),AL=i(5379),OL=i(9974),$L=i(8955),DL=i(3559),NL=i(809),PL=i(8014),jL=i(8265),VL=i(3300),BL=i(8724),FL=i(8033),WL=i(7700),UL=i(5741),GL=i(3478),YL=i(512),qL=i(499),ZL=i(8680),XL=i(9646),QL=i(9432),KL=i(2841),JL=i(75),tI=i(9256),eI=i(444),iI=i(5633),oI=i(3788),nI=i(3573),rI=i(9948),sI=i(1836),aI=i(7029),lI=i(8532),cI=i(6639),hI=i(1633),dI=i(9805),uI=i(2171),pI=i(875),gI=i(9595),mI=i(3894),fI=i(2803),vI=i(7765),bI=i(8804),yI=i(8654),wI=i(257),xI=i(5844),kI=i(9651),CI=i(760),MI=i(9518),_I=i(4585),SI=i(1769),EI=i(643),zI=i(5156),RI=i(822),LI=i(8249),II=i(3434),HI=i(9314),TI=i(3093),AI=i(7721),OI=i(588),$I=i(7645),DI=i(7148),NI=i(6795),PI=i(7047),jI=i(9428),VI=i(1879),BI=i(9779),FI=i(2476),WI=i(9648),UI=i(2896),GI=i(6817),YI=i(5196),qI=i(2762),ZI=i(5981),XI=i(9014),QI=i(2611),KI=i(7946),JI=i(6301),tH=i(8020),eH=i(3987),iH=i(3192),oH=i(8796),nH=i(2489),rH=i(7324),sH=i(6069),aH=i(4155),lH=i(6977),cH=i(8055),hH=i(2653),dH=i(9492),uH=i(4334),pH=i(6804),gH=i(9954),mH=i(2211),fH=i(5211),vH=i(1519),bH=i(6204),yH=i(5501),wH=i(5244),xH=i(9742),kH=i(1552),CH=i(1330),MH=i(2596),_H=i(5184),SH=i(7675),EH=i(1513),zH=i(9396),RH=i(7673),LH=i(244),IH=i(1187),HH=i(1736),TH=i(4390),AH=i(7106),OH=i(2096),$H=i(9991),DH=i(5629),NH=i(3386),PH=i(6651),jH=i(1684),VH=i(3849),BH=i(2582),FH=i(8569),WH=i(2955),UH=i(9100),GH=i(7381),YH=i(9190),qH=i(4071),ZH=i(8e3),XH=i(4633),QH=i(4374),KH=i(486),JH=i(3680),tT=i(9999),eT=i(2830),iT=i(5255),oT=i(6021),nT=i(2214),rT=i(8497),sT=i(2052),aT=i(5327),lT=i(8701),cT=i(8722),hT=i(7325),dT=i(2445);const uT=[$z.mw,Dz.mw,Nz.mw,Pz.mw,jz.mw,Vz.mw,Bz.mw,Fz.mw,Wz.mw,Gz.mw,Uz.mw,Yz.mw,qz.mw,Zz.mw,Xz.mw,Qz.mw,Kz.mw,Jz.mw,tR.mw,eR.mw,iR.mw,oR.mw,nR.mw,rR.mw,sR.mw,aR.mw,lR.mw,cR.mw,hR.mw,uR.mw,pR.mw,gR.mw,mR.mw,fR.mw,vR.mw,bR.mw,yR.mw,wR.mw,xR.mw,kR.mw,CR.mw,MR.mw,SR.mw,_R.mw,ER.mw,zR.mw,RR.mw,LR.mw,IR.mw,HR.mw,TR.mw,AR.mw,OR.mw,$R.mw,DR.mw,NR.mw,jR.mw,VR.mw,BR.mw,FR.mw,WR.mw,UR.mw,GR.mw,YR.mw,qR.mw,ZR.mw,XR.mw,QR.mw,KR.mw,JR.mw,tL.mw,eL.mw,iL.mw,oL.mw,nL.mw,PR.mw,rL.mw,sL.mw,aL.mw,lL.mw,cL.mw,hL.mw,dL.mw,uL.mw,pL.mw,gL.mw,mL.mw,fL.mw,vL.mw,bL.mw,yL.mw,wL.mw,xL.mw,kL.mw,CL.mw,ML.mw,_L.mw,SL.mw,EL.mw,zL.mw,RL.mw,LL.mw,IL.mw,HL.mw,TL.mw,AL.mw,OL.mw,$L.mw,DL.mw,NL.mw,PL.mw,jL.mw,VL.mw,BL.mw,FL.mw,WL.mw,UL.mw,dR.mw,GL.mw,YL.mw,qL.mw,ZL.mw,XL.mw,QL.mw,KL.mw,JL.mw,tI.mw,eI.mw,iI.mw,oI.mw,nI.mw,rI.mw,aI.mw,sI.mw,cI.mw,lI.mw,hI.mw,dI.mw,uI.mw,pI.mw,gI.mw,mI.mw,fI.mw,vI.mw,bI.mw,CI.mw,MI.mw,_I.mw,SI.mw,EI.mw,zI.mw,RI.mw,II.mw,HI.mw,TI.mw,NI.mw,PI.mw,jI.mw,VI.mw,BI.mw,FI.mw,WI.mw,UI.mw,yI.mw,wI.mw,kI.mw,xI.mw,GI.mw,YI.mw,qI.mw,ZI.mw,XI.mw,QI.mw,KI.mw,JI.mw,AI.mw,OI.mw,$I.mw,DI.mw,eH.mw,iH.mw,oH.mw,nH.mw,rH.mw,sH.mw,aH.mw,lH.mw,cH.mw,hH.mw,dH.mw,uH.mw,pH.mw,gH.mw,mH.mw,fH.mw,vH.mw,bH.mw,yH.mw,tH.mw,wH.mw,xH.mw,kH.mw,CH.mw,MH.mw,_H.mw,SH.mw,EH.mw,zH.mw,RH.mw,LH.mw,IH.mw,HH.mw,TH.mw,AH.mw,OH.mw,$H.mw,DH.mw,NH.mw,PH.mw,jH.mw,VH.mw,BH.mw,FH.mw,WH.mw,UH.mw,GH.mw,YH.mw,qH.mw,ZH.mw,XH.mw,QH.mw,KH.mw,JH.mw,tT.mw,eT.mw,iT.mw,oT.mw,nT.mw,rT.mw,sT.mw,LI.mw,aT.mw,lT.mw,cT.mw,hT.mw,dT.mw],pT={xlsx:j,charts:V},gT={name:"@omegagrid/bundle",version:"0.6.70"};va().activate("light"),Dh.styleDefault="fal",Nh.add(...uT)})(),window.Omegagrid=o})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/bundle",
3
- "version": "0.6.68",
3
+ "version": "0.6.70",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Distribution package for Omegagrid library",
6
6
  "main": "omegagrid.js",
@@ -19,23 +19,23 @@
19
19
  "@fortawesome/fontawesome-svg-core": "6.4.2",
20
20
  "@fortawesome/pro-light-svg-icons": "6.4.2",
21
21
  "@fortawesome/pro-solid-svg-icons": "6.4.2",
22
- "@omegagrid/bucket": "^0.6.68",
23
- "@omegagrid/calendar": "^0.6.68",
24
- "@omegagrid/code": "^0.6.68",
25
- "@omegagrid/commands": "^0.6.68",
26
- "@omegagrid/core": "^0.6.68",
27
- "@omegagrid/dialog": "^0.6.68",
28
- "@omegagrid/editor": "^0.6.68",
29
- "@omegagrid/form": "^0.6.68",
30
- "@omegagrid/grid": "^0.6.68",
31
- "@omegagrid/localize": "^0.6.68",
32
- "@omegagrid/markdown": "^0.6.68",
33
- "@omegagrid/plugin-charts": "^0.6.68",
34
- "@omegagrid/plugin-xlsx": "^0.6.68",
35
- "@omegagrid/statusbar": "^0.6.68",
36
- "@omegagrid/tabs": "^0.6.68",
37
- "@omegagrid/toolbar": "^0.6.68",
38
- "@omegagrid/tree": "^0.6.68",
22
+ "@omegagrid/bucket": "^0.6.70",
23
+ "@omegagrid/calendar": "^0.6.70",
24
+ "@omegagrid/code": "^0.6.70",
25
+ "@omegagrid/commands": "^0.6.70",
26
+ "@omegagrid/core": "^0.6.70",
27
+ "@omegagrid/dialog": "^0.6.70",
28
+ "@omegagrid/editor": "^0.6.70",
29
+ "@omegagrid/form": "^0.6.70",
30
+ "@omegagrid/grid": "^0.6.70",
31
+ "@omegagrid/localize": "^0.6.70",
32
+ "@omegagrid/markdown": "^0.6.70",
33
+ "@omegagrid/plugin-charts": "^0.6.70",
34
+ "@omegagrid/plugin-xlsx": "^0.6.70",
35
+ "@omegagrid/statusbar": "^0.6.70",
36
+ "@omegagrid/tabs": "^0.6.70",
37
+ "@omegagrid/toolbar": "^0.6.70",
38
+ "@omegagrid/tree": "^0.6.70",
39
39
  "lit": "^3.1.1"
40
40
  },
41
41
  "devDependencies": {