1import{aE as k}from"./0XwV3hpy.js";(function(){try{var x=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};x.SENTRY_RELEASE={id:"ecos-frontend-cp@32b46d188678f896e839c69d78ed855453967266"};var I=new x.Error().stack;I&&(x._sentryDebugIds=x._sentryDebugIds||{},x._sentryDebugIds[I]="b5dab47d-47bd-4c4f-ad32-c21b13371569",x._sentryDebugIdIdentifier="sentry-dbid-b5dab47d-47bd-4c4f-ad32-c21b13371569")}catch{}})();function $(x,I){for(var w=0;w<I.length;w++){const v=I[w];if(typeof v!="string"&&!Array.isArray(v)){for(const d in v)if(d!=="default"&&!(d in x)){const C=Object.getOwnPropertyDescriptor(v,d);C&&Object.defineProperty(x,d,C.get?C:{enumerable:!0,get:()=>v[d]})}}}return Object.freeze(Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}))}var V={exports:{}},U;function H(){return U||(U=1,(function(x){(function(I){x.exports?(I.default=I,x.exports=I):I(typeof Highcharts<"u"?Highcharts:void 0)})(function(I){var w=I?I._modules:{};function v(d,C,y,m){d.hasOwnProperty(C)||(d[C]=m.apply(null,y),typeof CustomEvent=="function"&&I.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:C,module:d[C]}})))}v(w,"Data/Modifiers/DataModifier.js",[w["Core/Utilities.js"]],function(d){var C;let{addEvent:y,fireEvent:m,merge:g}=d;class o{benchmark(t,e){let r=[],s=this,i=()=>{s.modifyTable(t),s.emit({type:"afterBenchmarkIteration"})},{iterations:a}=g({iterations:1},e);s.on("afterBenchmarkIteration",()=>{if(r.length===a){s.emit({type:"afterBenchmark",results:r});return}i()});let l={startTime:0,endTime:0};return s.on("modify",()=>{l.startTime=window.performance.now()}),s.on("afterModify",()=>{l.endTime=window.performance.now(),r.push(l.endTime-l.startTime)}),i(),r}emit(t){m(this,t.type,t)}modify(t,e){let r=this;return new Promise((s,i)=>{t.modified===t&&(t.modified=t.clone(!1,e));try{s(r.modifyTable(t,e))}catch(a){r.emit({type:"error",detail:e,table:t}),i(a)}})}modifyCell(t,e,r,s,i){return this.modifyTable(t)}modifyColumns(t,e,r,s){return this.modifyTable(t)}modifyRows(t,e,r,s){return this.modifyTable(t)}on(t,e){return y(this,t,e)}}return(C=o||(o={})).types={},C.registerType=function(n,t){return!!n&&!C.types[n]&&!!(C.types[n]=t)},o}),v(w,"Data/DataTable.js",[w["Core/Utilities.js"]],function(d){let{addEvent:C,defined:y,fireEvent:m,uniqueKey:g}=d;class o{static isNull(t){if(t===o.NULL)return!0;if(t instanceof Array){if(!t.length)return!1;for(let e=0,r=t.length;e<r;++e)if(t[e]!==null)return!1}else{let e=Object.keys(t);if(!e.length)return!1;for(let r=0,s=e.length;r<s;++r)if(t[e[r]]!==null)return!1}return!0}constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||g(),this.modified=this,this.rowCount=0,this.versionTag=g();let e=t.columns||{},r=Object.keys(e),s=this.columns,i=0;for(let a=0,l=r.length,c,h;a<l;++a)c=e[h=r[a]].slice(),s[h]=c,i=Math.max(i,c.length);for(let a=0,l=r.length;a<l;++a)s[r[a]].length=i;this.rowCount=i}clone(t,e){let r={};this.emit({type:"cloneTable",detail:e}),t||(r.columns=this.columns),this.autoId||(r.id=this.id);let s=new o(r);return t||(s.versionTag=this.versionTag,s.originalRowIndexes=this.originalRowIndexes,s.localRowIndexes=this.localRowIndexes),this.emit({type:"afterCloneTable",detail:e,tableClone:s}),s}deleteColumns(t,e){let r=this.columns,s={},i={},a=this.modifier,l=this.rowCount;if((t=t||Object.keys(r)).length){this.emit({type:"deleteColumns",columnNames:t,detail:e});for(let c=0,h=t.length,u,b;c<h;++c)(u=r[b=t[c]])&&(s[b]=u,i[b]=Array(l)),delete r[b];return Object.keys(r).length||(this.rowCount=0,this.deleteRowIndexReferences()),a&&a.modifyColumns(this,i,0,e),this.emit({type:"afterDeleteColumns",columns:s,columnNames:t,detail:e}),s}}deleteRowIndexReferences(){delete this.originalRowIndexes,delete this.localRowIndexes}deleteRows(t,e=1,r){let s=[],i=[],a=this.modifier;if(this.emit({type:"deleteRows",detail:r,rowCount:e,rowIndex:t||0}),t===void 0&&(t=0,e=this.rowCount),e>0&&t<this.rowCount){let l=this.columns,c=Object.keys(l);for(let h=0,u=c.length,b,f;h<u;++h){f=(b=l[c[h]]).splice(t,e),h||(this.rowCount=b.length);for(let p=0,N=f.length;p<N;++p)s[p]=s[p]||[],s[p][h]=f[p];i.push(Array(u))}}
1return a&&a.modifyRows(this,i,t||0,r),this.emit({type:"afterDeleteRows",detail:r,rowCount:e,rowIndex:t||0,rows:s}),s}emit(t){switch(t.type){case"afterDeleteColumns":case"afterDeleteRows":case"afterSetCell":case"afterSetColumns":case"afterSetRows":this.versionTag=g()}m(this,t.type,t)}getCell(t,e){let r=this.columns[t];if(r)return r[e]}getCellAsBoolean(t,e){let r=this.columns[t];return!!(r&&r[e])}getCellAsNumber(t,e,r){let s=this.columns[t],i=s&&s[e];switch(typeof i){case"boolean":return i?1:0;case"number":return isNaN(i)&&!r?null:i}return isNaN(i=parseFloat(`${i??""}`))&&!r?null:i}getCellAsString(t,e){let r=this.columns[t];return`${r&&r[e]}`}getColumn(t,e){return this.getColumns([t],e)[t]}getColumnAsNumbers(t,e){let r=this.columns[t],s=[];if(r){let i=r.length;if(e)for(let a=0;a<i;++a)s.push(this.getCellAsNumber(t,a,!0));else{for(let a=0,l;a<i;++a){if(typeof(l=r[a])=="number")return r.slice();if(l!=null)break}for(let a=0;a<i;++a)s.push(this.getCellAsNumber(t,a))}}return s}getColumnNames(){return Object.keys(this.columns)}getColumns(t,e){let r=this.columns,s={};t=t||Object.keys(r);for(let i=0,a=t.length,l,c;i<a;++i)(l=r[c=t[i]])&&(s[c]=e?l:l.slice());return s}getLocalRowIndex(t){let{localRowIndexes:e}=this;return e?e[t]:t}getModifier(){return this.modifier}getOriginalRowIndex(t){let{originalRowIndexes:e}=this;return e?e[t]:t}getRow(t,e){return this.getRows(t,1,e)[0]}getRowCount(){return this.rowCount}getRowIndexBy(t,e,r){let s=this.columns[t];if(s){let i=s.indexOf(e,r);if(i!==-1)return i}}getRowObject(t,e){return this.getRowObjects(t,1,e)[0]}getRowObjects(t=0,e=this.rowCount-t,r){let s=this.columns,i=Array(e);r=r||Object.keys(s);for(let a=t,l=0,c=Math.min(this.rowCount,t+e),h,u;a<c;++a,++l)for(let b of(u=i[l]={},r))h=s[b],u[b]=h?h[a]:void 0;return i}getRows(t=0,e=this.rowCount-t,r){let s=this.columns,i=Array(e);r=r||Object.keys(s);for(let a=t,l=0,c=Math.min(this.rowCount,t+e),h,u;a<c;++a,++l)for(let b of(u=i[l]=[],r))h=s[b],u.push(h?h[a]:void 0);return i}getVersionTag(){return this.versionTag}hasColumns(t){let e=this.columns;for(let r=0,s=t.length;r<s;++r)if(!e[t[r]])return!1;return!0}hasRowWith(t,e){let r=this.columns[t];return!!r&&r.indexOf(e)!==-1}on(t,e){return C(this,t,e)}renameColumn(t,e){let r=this.columns;return!!r[t]&&(t!==e&&(r[e]=r[t],delete r[t]),!0)}setCell(t,e,r,s){let i=this.columns,a=this.modifier,l=i[t];
1l&&l[e]===r||(this.emit({type:"setCell",cellValue:r,columnName:t,detail:s,rowIndex:e}),l||(l=i[t]=Array(this.rowCount)),e>=this.rowCount&&(this.rowCount=e+1),l[e]=r,a&&a.modifyCell(this,t,e,r),this.emit({type:"afterSetCell",cellValue:r,columnName:t,detail:s,rowIndex:e}))}setColumn(t,e=[],r=0,s){this.setColumns({[t]:e},r,s)}setColumns(t,e,r){let s=this.columns,i=this.modifier,a=e===void 0,l=Object.keys(t);this.emit({type:"setColumns",columns:t,columnNames:l,detail:r,rowIndex:e});for(let h=0,u=l.length,b,f;h<u;++h)if(b=t[f=l[h]],a)s[f]=b.slice(),this.rowCount=b.length;else{let p=s[f]?s[f]:s[f]=Array(this.rowCount);for(let N=e||0,T=b.length;N<T;++N)p[N]=b[N];this.rowCount=Math.max(this.rowCount,p.length)}let c=Object.keys(s);for(let h=0,u=c.length;h<u;++h)s[c[h]].length=this.rowCount;i&&i.modifyColumns(this,t,e||0),this.emit({type:"afterSetColumns",columns:t,columnNames:l,detail:r,rowIndex:e})}setModifier(t,e){let r=this;return r.emit({type:"setModifier",detail:e,modifier:t,modified:r.modified}),r.modified=r,r.modifier=t,(t?t.modify(r):Promise.resolve(r)).then(s=>
1(s.emit({type:"afterSetModifier",detail:e,modifier:t,modified:s.modified}),s)).catch(s=>{throw r.emit({type:"setModifierError",error:s,modifier:t,modified:r.modified}),s})}setOriginalRowIndexes(t,e=!1){if(this.originalRowIndexes=t,e)return;let r=this.localRowIndexes=[];for(let s=0,i=t.length,a;s<i;++s)y(a=t[s])&&(r[a]=s)}setRow(t,e,r){this.setRows([t],e,r)}setRows(t,e=this.rowCount,r){let s=this.columns,i=Object.keys(s),a=this.modifier,l=t.length;this.emit({type:"setRows",detail:r,rowCount:l,rowIndex:e,rows:t});for(let h=0,u=e,b;h<l;++h,++u)if((b=t[h])===o.NULL)for(let f=0,p=i.length;f<p;++f)s[i[f]][u]=null;else if(b instanceof Array)for(let f=0,p=i.length;f<p;++f)s[i[f]][u]=b[f];else{let f=Object.keys(b);for(let p=0,N=f.length,T;p<N;++p)s[T=f[p]]||(s[T]=Array(u+1)),s[T][u]=b[T]}let c=e+l;if(c>this.rowCount){this.rowCount=c;for(let h=0,u=i.length;h<u;++h)s[i[h]].length=c}a&&a.modifyRows(this,t,e),this.emit({type:"afterSetRows",detail:r,rowCount:l,rowIndex:e,rows:t})}}return o.NULL={},o.version="1.0.0",o}),v(w,"Data/Connectors/DataConnector.js",[w["Data/Modifiers/DataModifier.js"],w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,C,y){var m;let{addEvent:g,fireEvent:o,merge:n,pick:t}=y;class e{constructor(s={}){this.table=new C(s.dataTable),this.metadata=s.metadata||{columns:{}}}get polling(){return!!this.polling}describeColumn(s,i){let a=this.metadata.columns;a[s]=n(a[s]||{},i)}describeColumns(s){let i,a=Object.keys(s);for(;typeof(i=a.pop())=="string";)this.describeColumn(i,s[i])}emit(s){o(this,s.type,s)}getColumnOrder(s){let i=this.metadata.columns,a=Object.keys(i||{});if(a.length)return a.sort((l,c)=>t(i[l].index,0)-t(i[c].index,0))}getSortedColumns(s){return this.table.getColumns(this.getColumnOrder(s))}load(){return o(this,"afterLoad",{table:this.table}),Promise.resolve(this)}on(s,i){return g(this,s,i)}save(){return o(this,"saveError",{table:this.table}),Promise.reject(Error("Not implemented"))}setColumnOrder(s){for(let i=0,a=s.length;i<a;++i)this.describeColumn(s[i],{index:i})}setModifierOptions(s){let i=s&&d.types[s.type];return this.table.setModifier(i?new i(s):void 0).then(()=>this)}startPolling(s=1e3){let i=this;window.clearTimeout(i._polling),i._polling=window.setTimeout(()=>i.load().catch(a=>i.emit({type:"loadError",error:a,table:i.table})).then(()=>{i._polling&&i.startPolling(s)}),s)}stopPolling(){window.clearTimeout(this._polling),delete this._polling}whatIs(s){return this.metadata.columns[s]}}return(m=e||(e={})).types={},m.registerType=function(r,s){return!!r&&!m.types[r]&&!!(m.types[r]=s)},e}),v(w,"Data/Converters/DataConverter.js",[w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,C){let{addEvent:y,fireEvent:m,isNumber:g,merge:o}=C;class n{constructor(e){this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})([\-\.\/])(\d{1,2})\2(\d{1,2})$/,parser:function(i){return i?Date.UTC(+i[1],i[3]-1,+i[4]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(i){return i?Date.UTC(+i[4],i[3]-1,+i[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{4})$/,parser:function(i){return i?Date.UTC(+i[4],i[1]-1,+i[3]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(i){let a=new Date;if(!i)return NaN;let l=+i[4];return l>a.getFullYear()-2e3?l+=1900:l+=2e3,Date.UTC(l,i[3]-1,+i[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})([\-\.\/])(\d{1,2})\2(\d{2})$/,parser:function(i){return i?Date.UTC(+i[4]+2e3,i[1]-1,+i[3]):NaN}}};let r=o(n.defaultOptions,e),s=r.decimalPoint;(s==="."||s===",")&&(s=s==="."?"\\.":",",this.decimalRegExp=RegExp("^(-?[0-9]+)"+s+"([0-9]+)$")),this.options=r}asBoolean(e){return typeof e=="boolean"?e:typeof e=="string"?e!==""&&e!=="0"&&e!=="false":!!this.asNumber(e)}asDate(e){let r;if(typeof e=="string")r=this.parseDate(e);else if(typeof e=="number")r=e;else{if(e instanceof Date)return e;r=this.parseDate(this.asString(e))}return new Date(r)}asGuessedType(e){return{number:this.asNumber,Date:this.asDate,string:this.asString}[this.guessType(e)].call(this,e)}asNumber(e){if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(typeof e=="string"){let r=this.decimalRegExp;if(e.indexOf(" ")>-1&&(e=e.replace(/\s+/g,"")),r){if(!r.test(e))return NaN;e=e.replace(r,"$1.$2")}return parseFloat(e)}return e instanceof Date?e.getDate():e?e.getRowCount():NaN}asString(e){return""+e}deduceDateFormat(e,r,s){let i=[],a=[],l="YYYY/mm/dd",c,h=[],u=0,b=!1,f,p;for((!r||r>e.length)&&(r=e.length);u<r;u++)if(e[u]!==void 0&&e[u]&&e[u].length)for(p=0,c=e[u].trim().replace(/[\-\.\/]/g," ").split(" "),h=["","",""];p<c.length;p++)p<h.length&&(f=parseInt(c[p],10))&&(a[p]=!a[p]||a[p]<f?f:a[p],i[p]!==void 0?i[p]!==f&&(i[p]=!1):i[p]=f,f>31?f<100?h[p]="YY":h[p]="YYYY":f>12&&f<=31?(h[p]="dd",b=!0):h[p].length||(h[p]="mm"));if(b){for(p=0;p<i.length;p++)i[p]!==!1?a[p]>12&&h[p]!=="YY"&&h[p]!=="YYYY"&&(h[p]="YY"):a[p]>12&&h[p]==="mm"&&(h[p]="dd");h.length===3&&h[1]==="dd"&&h[2]==="dd"&&(h[2]="YY"),l=h.join("/")}return s&&(this.options.dateFormat=l),l}emit(e){m(this,e.type,e)}
1export(e,r){throw this.emit({type:"exportError",columns:[],headers:[]}),Error("Not implemented")}getTable(){throw Error("Not implemented")}guessType(e){let r="string";if(typeof e=="string"){let s=this.trim(`${e}`),i=this.decimalRegExp,a=this.trim(s,!0);i&&(a=i.test(a)?a.replace(i,"$1.$2"):"");let l=parseFloat(a);+a===l?e=l:r=g(this.parseDate(e))?"Date":"string"}return typeof e=="number"&&(r=e>31536e6?"Date":"number"),r}on(e,r){return y(this,e,r)}parse(e){throw this.emit({type:"parseError",columns:[],headers:[]}),Error("Not implemented")}parseDate(e,r){let s=this.options,i=r||s.dateFormat,a=NaN,l,c,h;if(s.parseDate)a=s.parseDate(e);else{if(i)(c=this.dateFormats[i])||(c=this.dateFormats["YYYY/mm/dd"]),(h=e.match(c.regex))&&(a=c.parser(h));else for(l in this.dateFormats)if(c=this.dateFormats[l],h=e.match(c.regex)){i=l,a=c.parser(h);break}!h&&(typeof(h=Date.parse(e))=="object"&&h!==null&&h.getTime?a=h.getTime()-6e4*h.getTimezoneOffset():g(h)&&(a=h-6e4*new Date(h).getTimezoneOffset(),e.indexOf("2001")===-1&&new Date(a).getFullYear()===2001&&(a=NaN)))}return a}trim(e,r){return typeof e=="string"&&(e=e.replace(/^\s+|\s+$/g,""),r&&/^[\d\s]+$/.test(e)&&(e=e.replace(/\s/g,""))),e}}return n.defaultOptions={dateFormat:"",alternativeFormat:"",startColumn:0,endColumn:Number.MAX_VALUE,startRow:0,endRow:Number.MAX_VALUE,firstRowAsNames:!0,switchRowsAndColumns:!1},(n||(n={})).getTableFromColumns=function(t=[],e=[]){let r=new d;for(let s=0,i=Math.max(e.length,t.length);s<i;++s)r.setColumn(e[s]||`${s}`,t[s]);return r},n}),v(w,"Data/DataCursor.js",[],function(){class d{constructor(y={}){this.emittingRegister=[],this.listenerMap={},this.stateMap=y}addListener(y,m,g){let o=this.listenerMap[y]=this.listenerMap[y]||{};return(o[m]=o[m]||[]).push(g),this}buildEmittingTag(y){return(y.cursor.type==="position"?[y.table.id,y.cursor.column,y.cursor.row,y.cursor.state,y.cursor.type]:[y.table.id,y.cursor.columns,y.cursor.firstRow,y.cursor.lastRow,y.cursor.state,y.cursor.type]).join("\0")}emitCursor(y,m,g,o){let n=y.id,t=m.state,e=this.listenerMap[n]&&this.listenerMap[n][t];if(e){let r=this.stateMap[n]=this.stateMap[n]??{},s=r[m.state]||[];o&&(s.length||(r[m.state]=s),d.getIndex(m,s)===-1&&s.push(m));let i={cursor:m,cursors:s,table:y};g&&(i.event=g);let a=this.emittingRegister,l=this.buildEmittingTag(i);if(a.indexOf(l)>=0)return this;try{this.emittingRegister.push(l);for(let c=0,h=e.length;c<h;++c)e[c].call(this,i)}finally{let c=this.emittingRegister.indexOf(l);c>=0&&this.emittingRegister.splice(c,1)}}return this}remitCursor(y,m){let g=this.stateMap[y]&&this.stateMap[y][m.state];if(g){let o=d.getIndex(m,g);o>=0&&g.splice(o,1)}return this}removeListener(y,m,g){let o=this.listenerMap[y]&&this.listenerMap[y][m];if(o){let n=o.indexOf(g);n>=0&&o.splice(n,1)}return this}}return d.version="1.0.0",(function(C){function y(m,g){if(m.type==="range")return m;
1let o={type:"range",firstRow:m.row??(g&&g.firstRow)??0,lastRow:m.row??(g&&g.lastRow)??Number.MAX_VALUE,state:m.state};return m.column!==void 0&&(o.columns=[m.column]),o}C.getIndex=function(m,g){if(m.type==="position"){for(let o,n=0,t=g.length;n<t;++n)if((o=g[n]).type==="position"&&o.state===m.state&&o.column===m.column&&o.row===m.row)return n}else{let o=JSON.stringify(m.columns);for(let n,t=0,e=g.length;t<e;++t)if((n=g[t]).type==="range"&&n.state===m.state&&n.firstRow===m.firstRow&&n.lastRow===m.lastRow&&JSON.stringify(n.columns)===o)return t}return-1},C.isEqual=function(m,g){return m.type==="position"&&g.type==="position"?m.column===g.column&&m.row===g.row&&m.state===g.state:m.type==="range"&&g.type==="range"&&m.firstRow===g.firstRow&&m.lastRow===g.lastRow&&JSON.stringify(m.columns)===JSON.stringify(g.columns)},C.isInRange=function(m,g){g.type==="position"&&(g=y(g)),m.type==="position"&&(m=y(m,g));let o=m.columns,n=g.columns;return m.firstRow>=g.firstRow&&m.lastRow<=g.lastRow&&(!o||!n||o.every(t=>n.indexOf(t)>=0))},C.toPositions=function(m){if(m.type==="position")return[m];let g=m.columns||[],o=[],n=m.state;for(let t=m.firstRow,e=m.lastRow;t<e;++t){if(!g.length){o.push({type:"position",row:t,state:n});continue}for(let r=0,s=g.length;r<s;++r)o.push({type:"position",column:g[r],row:t,state:n})}return o},C.toRange=y})(d||(d={})),d}),v(w,"Data/DataPoolDefaults.js",[],function(){return{connectors:[]}}),v(w,"Data/DataPool.js",[w["Data/Connectors/DataConnector.js"],w["Data/DataPoolDefaults.js"],w["Core/Utilities.js"]],function(d,C,y){class m{constructor(o=C){o.connectors=o.connectors||[],this.connectors={},this.options=o,this.waiting={}}emit(o){y.fireEvent(this,o.type,o)}getConnector(o){let n=this.connectors[o];if(n)return Promise.resolve(n);let t=this.waiting[o];if(!t){t=this.waiting[o]=[];let e=this.getConnectorOptions(o);if(!e)throw Error(`Connector '${o}' not found.`);this.loadConnector(e).then(r=>{delete this.waiting[o];for(let s=0,i=t.length;s<i;++s)t[s][0](r)}).catch(r=>{delete this.waiting[o];for(let s=0,i=t.length;s<i;++s)t[s][1](r)})}return new Promise((e,r)=>{t.push([e,r])})}getConnectorIds(){let o=this.options.connectors,n=[];for(let t=0,e=o.length;t<e;++t)n.push(o[t].id);return n}getConnectorOptions(o){let n=this.options.connectors;for(let t=0,e=n.length;t<e;++t)if(n[t].id===o)return n[t]}getConnectorTable(o){return this.getConnector(o).then(n=>n.table)}isNewConnector(o){return!this.connectors[o]}loadConnector(o){return new Promise((n,t)=>{this.emit({type:"load",options:o});let e=d.types[o.type];if(!e)throw Error(`Connector type not found. (${o.type})`);new e(o.options).load().then(r=>{this.connectors[o.id]=r,this.emit({type:"afterLoad",options:o}),n(r)}).catch(t)})}on(o,n){return y.addEvent(this,o,n)}setConnectorOptions(o){let n=this.options.connectors,t=this.connectors;this.emit({type:"setConnectorOptions",options:o});for(let e=0,r=n.length;e<r;++e)if(n[e].id===o.id){n.splice(e,1);break}t[o.id]&&(t[o.id].stopPolling(),delete t[o.id]),n.push(o),this.emit({type:"afterSetConnectorOptions",options:o})}}return m.version="1.0.0",m}),v(w,"Data/Formula/FormulaParser.js",[],function(){let d=/^(?:FALSE|TRUE)/,C=/^[+\-]?\d+(?:\.\d+)?(?:e[+\-]\d+)?/,y=/^[+\-]?\d+(?:,\d+)?(?:e[+\-]\d+)?/,m=/^([A-Z][A-Z\d\.]*)\(/,g=/^(?:[+\-*\/^<=>]|<=|=>)/,o=/^(\$?[A-Z]+)(\$?\d+)\:(\$?[A-Z]+)(\$?\d+)/,n=/^R(\d*|\[\d+\])C(\d*|\[\d+\])\:R(\d*|\[\d+\])C(\d*|\[\d+\])/,t=/^(\$?[A-Z]+)(\$?\d+)(?![\:C])/,e=/^R(\d*|\[\d+\])C(\d*|\[\d+\])(?!\:)/;function r(c){let h=0;for(let u=0,b=c.length,f,p=1;u<b;++u){if((f=c[u])==="("){h||(p=u+1),++h;continue}if(f===")"&&!--h)return c.substring(p,u)}if(h>0){let u=Error("Incomplete parantheses.");throw u.name="FormulaParseError",u}return""}function s(c){let h=-1;for(let b=0,f=c.length,p,N=!1;b<f;++b){if((p=c[b])==="\\"){N=!N;continue}if(N){N=!1;continue}if(p==='"'){if(!(h<0))return c.substring(h+1,b);h=b}}let u=Error("Incomplete string.");throw u.name="FormulaParseError",u}function i(c,h){let u;if(u=c.match(n)){let f=u[2]===""||u[2][0]==="[",p=u[1]===""||u[1][0]==="[",N=u[4]===""||u[4][0]==="[",T=u[3]===""||u[3][0]==="[",F={type:"range",beginColumn:f?parseInt(u[2].substring(1,-1)||"0",10):parseInt(u[2],10)-1,beginRow:p?parseInt(u[1].substring(1,-1)||"0",10):parseInt(u[1],10)-1,endColumn:N?parseInt(u[4].substring(1,-1)||"0",10):parseInt(u[4],10)-1,endRow:T?parseInt(u[3].substring(1,-1)||"0",10):parseInt(u[3],10)-1};return f&&(F.beginColumnRelative=!0),p&&(F.beginRowRelative=!0),N&&(F.endColumnRelative=!0),T&&(F.endRowRelative=!0),F}
1if(u=c.match(o)){let f=u[1][0]!=="$",p=u[2][0]!=="$",N=u[3][0]!=="$",T=u[4][0]!=="$",F={type:"range",beginColumn:l(f?u[1]:u[1].substring(1))-1,beginRow:parseInt(p?u[2]:u[2].substring(1),10)-1,endColumn:l(N?u[3]:u[3].substring(1))-1,endRow:parseInt(T?u[4]:u[4].substring(1),10)-1};return f&&(F.beginColumnRelative=!0),p&&(F.beginRowRelative=!0),N&&(F.endColumnRelative=!0),T&&(F.endRowRelative=!0),F}let b=a(c,h);return b.length===1&&typeof b[0]!="string"?b[0]:b}function a(c,h){let u=h?y:C,b=[],f,p=(c[0]==="="?c.substring(1):c).trim();for(;p;){if(f=p.match(e)){let F=f[2]===""||f[2][0]==="[",D=f[1]===""||f[1][0]==="[",R={type:"reference",column:F?parseInt(f[2].substring(1,-1)||"0",10):parseInt(f[2],10)-1,row:D?parseInt(f[1].substring(1,-1)||"0",10):parseInt(f[1],10)-1};F&&(R.columnRelative=!0),D&&(R.rowRelative=!0),b.push(R),p=p.substring(f[0].length).trim();continue}if(f=p.match(t)){let F=f[1][0]!=="$",D=f[2][0]!=="$",R={type:"reference",column:l(F?f[1]:f[1].substring(1))-1,row:parseInt(D?f[2]:f[2].substring(1),10)-1};F&&(R.columnRelative=!0),D&&(R.rowRelative=!0),b.push(R),p=p.substring(f[0].length).trim();continue}if(f=p.match(g)){b.push(f[0]),p=p.substring(f[0].length).trim();continue}if(f=p.match(d)){b.push(f[0]==="TRUE"),p=p.substring(f[0].length).trim();continue}if(f=p.match(u)){b.push(parseFloat(f[0])),p=p.substring(f[0].length).trim();continue}if(p[0]==='"'){let F=s(p);b.push(F.substring(1,-1)),p=p.substring(F.length+2).trim();continue}if(f=p.match(m)){let F=r(p=p.substring(f[1].length).trim());b.push({type:"function",name:f[1],args:(function(D,R){let j=[],O=R?";":",",A=0,P="";for(let M=0,L=D.length,E;M<L;++M)if((E=D[M])===O&&!A&&P)j.push(i(P,R)),P="";else if(E!=='"'||A||P)E!==" "&&(P+=E,E==="("?++A:E===")"&&--A);else{let S=s(D.substring(M));j.push(S),M+=S.length+1}return!A&&P&&j.push(i(P,R)),j})(F,h)}),p=p.substring(F.length+2).trim();continue}if(p[0]==="("){let F=r(p);if(F){b.push(a(F,h)),p=p.substring(F.length+2).trim();continue}}let N=c.length-p.length,T=Error("Unexpected character `"+c.substring(N,N+1)+"` at position "+(N+1)+". (`..."+c.substring(N-5,N+6)+"...`)");throw T.name="FormulaParseError",T}return b}function l(c){let h=0;for(let u=0,b=c.length,f,p=c.length-1;u<b;++u)(f=c.charCodeAt(u))>=65&&f<=90&&(h+=(f-64)*Math.pow(26,p)),--p;return h}return{parseFormula:a}}),v(w,"Data/Formula/FormulaTypes.js",[],function(){let d=["+","-","*","/","^","=","<","<=",">",">="];return{isFormula:function(C){return C instanceof Array},isFunction:function(C){return typeof C=="object"&&!(C instanceof Array)&&C.type==="function"},isOperator:function(C){return typeof C=="string"&&d.indexOf(C)>=0},isRange:function(C){return typeof C=="object"&&!(C instanceof Array)&&C.type==="range"},isReference:function(C){return typeof C=="object"&&!(C instanceof Array)&&C.type==="reference"},isValue:function(C){return typeof C=="boolean"||typeof C=="number"||typeof C=="string"}}}),v(w,"Data/Formula/FormulaProcessor.js",[w["Data/Formula/FormulaTypes.js"]],function(d){let{isFormula:C,isFunction:y,isOperator:m,isRange:g,isReference:o,isValue:n}=d,t=/ */,e=Number.MAX_VALUE/1.000000000001,r=Number.MAX_VALUE/1.000000000002,s=Number.MAX_VALUE,i={"^":3,"*":2,"/":2,"+":1,"-":1,"=":0,"<":0,"<=":0,">":0,">=":0},a={},l=/^[A-Z][A-Z\.]*$/;function c(D){switch(typeof D){case"boolean":return D?s:e;case"string":return r;case"number":return D;default:return NaN}}
1function h(D){return typeof D=="string"?D.toLowerCase().replace(t,"\0"):D}function u(D){switch(typeof D){case"boolean":return D?1:0;case"string":return parseFloat(D.replace(",","."));case"number":return D;default:return NaN}}function b(D,R,j){let O;switch(D){case"=":return h(R)===h(j);case"<":return typeof R==typeof j?h(R)<h(j):c(R)<c(j);case"<=":return typeof R==typeof j?h(R)<=h(j):c(R)<=c(j);case">":return typeof R==typeof j?h(R)>h(j):c(R)>c(j);case">=":return typeof R==typeof j?h(R)>=h(j):c(R)>=c(j)}switch(R=u(R),j=u(j),D){case"+":O=R+j;break;case"-":O=R-j;break;case"*":O=R*j;break;case"/":O=R/j;break;case"^":O=Math.pow(R,j);break;default:return NaN}return O%1?Math.round(1e9*O)/1e9:O}function f(D,R){return n(D)?D:g(D)?R&&p(D,R)||[]:y(D)?F(D,R):T(C(D)?D:[D],R)}function p(D,R){let j=R.getColumnNames().slice(D.beginColumn,D.endColumn+1),O=[];for(let A=0,P=j.length,M;A<P;++A){let L=R.getColumn(j[A],!0)||[];for(let E=D.beginRow,S=D.endRow+1;E<S;++E)typeof(M=L[E])=="string"&&M[0]==="="&&R!==R.modified&&(M=R.modified.getCell(j[A],E)),O.push(n(M)?M:NaN)}return O}function N(D,R){let j=R.getColumnNames()[D.column];if(j){let O=R.getCell(j,D.row);if(typeof O=="string"&&O[0]==="="&&R!==R.modified){let A=R.modified.getCell(j,D.row);return n(A)?A:NaN}return n(O)?O:NaN}return NaN}function T(D,R){let j;for(let O=0,A=D.length,P,M,L,E;O<A;++O){if(m(P=D[O])){M=P;continue}if(n(P)?E=P:C(P)?E=T(D,R):y(P)?E=n(L=F(P,R))?L:NaN:o(P)&&(E=R&&N(P,R)),E!==void 0){if(j===void 0)j=M?b(M,0,E):E;else{if(!M)return NaN;let S=D[O+1];m(S)&&i[S]>i[M]&&(E=b(S,E,T(D.slice(O+2))),O=A),j=b(M,j,E)}M=void 0,E=void 0}}return n(j)?j:NaN}function F(D,R,j){let O=a[D.name];if(O)try{return O(D.args,R)}catch{return NaN}let A=Error(`Function "${D.name}" not found.`);throw A.name="FormulaProcessError",A}return{asNumber:u,getArgumentValue:f,getArgumentsValues:function(D,R){let j=[];for(let O=0,A=D.length;O<A;++O)j.push(f(D[O],R));return j},getRangeValues:p,getReferenceValue:N,processFormula:T,processorFunctions:a,registerProcessorFunction:function(D,R){return l.test(D)&&!a[D]&&!!(a[D]=R)},translateReferences:function D(R,j=0,O=0){for(let A=0,P=R.length,M;A<P;++A)(M=R[A])instanceof Array?D(M,j,O):y(M)?D(M.args,j,O):g(M)?(M.beginColumnRelative&&(M.beginColumn+=j),M.beginRowRelative&&(M.beginRow+=O),M.endColumnRelative&&(M.endColumn+=j),M.endRowRelative&&(M.endRow+=O)):o(M)&&(M.columnRelative&&(M.column+=j),M.rowRelative&&(M.row+=O));return R}}}),v(w,"Data/Formula/Functions/ABS.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){let o=C(m[0],g);switch(typeof o){case"number":return Math.abs(o);case"object":{let n=[];for(let t=0,e=o.length,r;t<e;++t){if(typeof(r=o[t])!="number")return NaN;n.push(Math.abs(r))}return n}default:return NaN}}return d.registerProcessorFunction("ABS",y),y}),v(w,"Data/Formula/Functions/AND.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){for(let o=0,n=m.length,t;o<n;++o)if(!(t=C(m[o],g))||typeof t=="object"&&!y(t,g))return!1;return!0}return d.registerProcessorFunction("AND",y),y}),v(w,"Data/Formula/Functions/AVERAGE.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:C}=d;function y(m,g){let o=C(m,g),n=0,t=0;for(let e=0,r=o.length,s;e<r;++e)switch(typeof(s=o[e])){case"number":isNaN(s)||(++n,t+=s);break;case"object":for(let i=0,a=s.length,l;i<a;++i)typeof(l=s[i])!="number"||isNaN(l)||(++n,t+=l)}return n?t/n:0}return d.registerProcessorFunction("AVERAGE",y),y}),v(w,"Data/Formula/Functions/AVERAGEA.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){let o=0,n=0;for(let t=0,e=m.length,r;t<e;++t)switch(typeof(r=C(m[t],g))){case"boolean":++o,n+=r?1:0;continue;case"number":isNaN(r)||(++o,n+=r);continue;case"string":++o;continue;default:for(let s=0,i=r.length,a;s<i;++s)switch(typeof(a=r[s])){case"boolean":++o,n+=a?1:0;continue;
1case"number":isNaN(a)||(++o,n+=a);continue;case"string":++o;continue}continue}return o?n/o:0}return d.registerProcessorFunction("AVERAGEA",y),y}),v(w,"Data/Formula/Functions/COUNT.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function C(y,m){let g=d.getArgumentsValues(y,m),o=0;for(let n=0,t=g.length,e;n<t;++n)switch(typeof(e=g[n])){case"number":!isNaN(e)&&++o;break;case"object":o+=C(e,m)}return o}return d.registerProcessorFunction("COUNT",C),C}),v(w,"Data/Formula/Functions/COUNTA.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function C(y,m){let g=d.getArgumentsValues(y,m),o=0;for(let n=0,t=g.length,e;n<t;++n){switch(typeof(e=g[n])){case"number":if(isNaN(e))continue;break;case"object":o+=C(e,m);continue;case"string":if(!e)continue}++o}return o}return d.registerProcessorFunction("COUNTA",C),C}),v(w,"Data/Formula/Functions/IF.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){return C(m[0],g)?C(m[1],g):C(m[2],g)}return d.registerProcessorFunction("IF",y),y}),v(w,"Data/Formula/Functions/ISNA.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){let o=C(m[0],g);return typeof o!="number"||isNaN(o)}return d.registerProcessorFunction("ISNA",y),y}),v(w,"Data/Formula/Functions/MAX.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:C}=d;function y(m,g){let o=C(m,g),n=Number.NEGATIVE_INFINITY;for(let t=0,e=o.length,r;t<e;++t)switch(typeof(r=o[t])){case"number":r>n&&(n=r);break;case"object":(r=y(r))>n&&(n=r)}return isFinite(n)?n:0}return d.registerProcessorFunction("MAX",y),y}),v(w,"Data/Formula/Functions/MEDIAN.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function C(y,m){let g=[],o=d.getArgumentsValues(y,m);for(let e=0,r=o.length,s;e<r;++e)switch(typeof(s=o[e])){case"number":isNaN(s)||g.push(s);break;case"object":for(let i=0,a=s.length,l;i<a;++i)typeof(l=s[i])!="number"||isNaN(l)||g.push(l)}let n=g.length;if(!n)return NaN;let t=Math.floor(n/2);return n%2?g[t]:(g[t-1]+g[t])/2}return d.registerProcessorFunction("MEDIAN",C),C}),v(w,"Data/Formula/Functions/MIN.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:C}=d;function y(m,g){let o=C(m,g),n=Number.POSITIVE_INFINITY;for(let t=0,e=o.length,r;t<e;++t)switch(typeof(r=o[t])){case"number":r<n&&(n=r);break;case"object":(r=y(r))<n&&(n=r)}return isFinite(n)?n:0}return d.registerProcessorFunction("MIN",y),y}),v(w,"Data/Formula/Functions/MOD.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){let o=C(m[0],g),n=C(m[1],g);return typeof o=="object"&&(o=o[0]),typeof n=="object"&&(n=n[0]),typeof o!="number"||typeof n!="number"||n===0?NaN:o%n}return d.registerProcessorFunction("MOD",y),y}),v(w,"Data/Formula/Functions/MODE.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function C(g,o){let n={},t=d.getArgumentsValues(g,o);for(let e=0,r=t.length,s;e<r;++e)switch(typeof(s=t[e])){case"number":isNaN(s)||(n[s]=(n[s]||0)+1);break;case"object":for(let i=0,a=s.length,l;i<a;++i)typeof(l=s[i])!="number"||isNaN(l)||(n[l]=(n[l]||0)+1)}return n}function y(g,o){let n=C(g,o),t=Object.keys(n);if(!t.length)return NaN;let e=[parseFloat(t[0])],r=n[t[0]];for(let s=1,i=t.length,a,l;s<i;++s)r<(l=n[a=t[s]])?(e=[parseFloat(a)],r=l):r===l&&e.push(parseFloat(a));return r>1?e:NaN}function m(g,o){let n=C(g,o),t=Object.keys(n);if(!t.length)return NaN;let e=parseFloat(t[0]),r=n[t[0]];for(let s=1,i=t.length,a,l,c;s<i;++s)r<(c=n[a=t[s]])?(e=parseFloat(a),r=c):r===c&&e>(l=parseFloat(a))&&(e=l,r=c);return r>1?e:NaN}return d.registerProcessorFunction("MODE",m),d.registerProcessorFunction("MODE.MULT",y),d.registerProcessorFunction("MODE.SNGL",m),{MULT:y,SNGL:m}}),v(w,"Data/Formula/Functions/NOT.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){let o=C(m[0],g);switch(typeof o=="object"&&(o=o[0]),typeof o){case"boolean":case"number":return!o}return NaN}return d.registerProcessorFunction("NOT",y),y}),v(w,"Data/Formula/Functions/OR.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){for(let o=0,n=m.length,t;o<n;++o)if(typeof(t=C(m[o],g))=="object"){if(y(t,g))return!0}else if(t)return!0;return!1}return d.registerProcessorFunction("OR",y),y}),v(w,"Data/Formula/Functions/PRODUCT.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentsValues:C}=d;function y(m,g){let o=C(m,g),n=1,t=!1;for(let e=0,r=o.length,s;e<r;++e)switch(typeof(s=o[e])){case"number":isNaN(s)||(t=!0,n*=s);break;case"object":t=!0,n*=y(s,g)}return t?n:0}return d.registerProcessorFunction("PRODUCT",y),y}),v(w,"Data/Formula/Functions/SUM.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){function C(y,m){let g=d.getArgumentsValues(y,m),o=0;for(let n=0,t=g.length,e;n<t;++n)switch(typeof(e=g[n])){case"number":isNaN(e)||(o+=e);break;case"object":o+=C(e,m)}return o}return d.registerProcessorFunction("SUM",C),C}),v(w,"Data/Formula/Functions/XOR.js",[w["Data/Formula/FormulaProcessor.js"]],function(d){let{getArgumentValue:C}=d;function y(m,g){for(let o=0,n=m.length,t,e;o<n;++o)switch(typeof(e=C(m[o],g))){case"boolean":case"number":if(t===void 0)t=!!e;else if(!!e!==t)return!0;break;case"object":for(let r=0,s=e.length,i;r<s;++r)switch(typeof(i=e[r])){case"boolean":case"number":if(t===void 0)t=!!i;else if(!!i!==t)return!0}}return!1}return d.registerProcessorFunction("XOR",y),y}),v(w,"Data/Formula/Formula.js",[w["Data/Formula/FormulaParser.js"],w["Data/Formula/FormulaProcessor.js"],w["Data/Formula/FormulaTypes.js"]],function(d,C,y){return{...d,...C,...y}}),v(w,"Data/Converters/CSVConverter.js",[w["Data/Converters/DataConverter.js"],w["Core/Utilities.js"]],function(d,C){let{merge:y}=C;class m extends d{constructor(o){let n=y(m.defaultOptions,o);super(n),this.columns=[],this.headers=[],this.dataTypes=[],this.options=n}export(o,n=this.options){let{useLocalDecimalPoint:t,lineDelimiter:e}=n,r=this.options.firstRowAsNames!==!1,{decimalPoint:s,itemDelimiter:i}=n;
1s||(s=i!==","&&t?1.1.toLocaleString()[1]:"."),i||(i=s===","?";":",");let a=o.getSortedColumns(n.usePresentationOrder),l=Object.keys(a),c=[],h=l.length,u=[];r&&c.push(l.map(b=>`"${b}"`).join(i));for(let b=0;b<h;b++){let f,p=l[b],N=a[p],T=N.length,F=o.whatIs(p);F&&(f=F.dataType);for(let D=0;D<T;D++){let R=N[D];if(u[D]||(u[D]=[]),f==="string"?R='"'+R+'"':typeof R=="number"?R=String(R).replace(".",s):typeof R=="string"&&(R=`"${R}"`),u[D][b]=R,b===h-1){let j=b;for(;u[D].length>2&&u[D][j]===void 0;)u[D].pop(),j--;c.push(u[D].join(i))}}}return c.join(e)}parse(o,n){let t=this.dataTypes,e=y(this.options,o),{beforeParse:r,lineDelimiter:s,firstRowAsNames:i,itemDelimiter:a}=e,l,c=0,{csv:h,startRow:u,endRow:b}=e,f;if(this.columns=[],this.emit({type:"parse",columns:this.columns,detail:n,headers:this.headers}),h&&r&&(h=r(h)),h){if(l=h.replace(/\r\n|\r/g,` 2`).split(s||` 3`),(!u||u<0)&&(u=0),(!b||b>=l.length)&&(b=l.length-1),a||(this.guessedItemDelimiter=this.guessDelimiter(l)),i){let N=l[0].split(a||this.guessedItemDelimiter||",");for(let T=0;T<N.length;T++)N[T]=N[T].trim().replace(/^["']|["']$/g,"");this.headers=N,u++}let p=0;for(c=u;c<=b;c++)l[c][0]==="#"?p++:this.parseCSVRow(l[c],c-u-p);t.length&&t[0].length&&t[0][1]==="date"&&!this.options.dateFormat&&this.deduceDateFormat(this.columns[0],null,!0);for(let N=0,T=this.columns.length;N<T;++N){f=this.columns[N];for(let F=0,D=f.length;F<D;++F)if(f[F]&&typeof f[F]=="string"){let R=this.asGuessedType(f[F]);R instanceof Date&&(R=R.getTime()),this.columns[N][F]=R}}}this.emit({type:"afterParse",columns:this.columns,detail:n,headers:this.headers})}parseCSVRow(o,n){let t=this,e=t.columns||[],r=t.dataTypes,{startColumn:s,endColumn:i}=t.options,a=t.options.itemDelimiter||t.guessedItemDelimiter,{decimalPoint:l}=t.options;l&&l!==a||(l=t.guessedDecimalPoint||".");let c=0,h="",u="",b=0,f=0,p=F=>{h=o[F]},N=F=>{r.length<f+1&&r.push([F]),r[f][r[f].length-1]!==F&&r[f].push(F)},T=()=>{if(s>b||b>i){++b,u="";return}if(typeof u=="string"?!isNaN(parseFloat(u))&&isFinite(u)?(u=parseFloat(u),N("number")):isNaN(Date.parse(u))?N("string"):(u=u.replace(/\//g,"-"),N("date")):N("number"),e.length<f+1&&e.push([]),typeof u!="number"&&t.guessType(u)!=="number"&&l){let F=u;u=u.replace(l,"."),t.guessType(u)!=="number"&&(u=F)}e[f][n]=u,u="",++f,++b};if(o.trim().length&&o.trim()[0]!=="#"){for(;c<o.length;c++){if(p(c),h==="#"&&!/^#[A-F\d]{3,3}|[A-F\d]{6,6}/i.test(o.substring(c))){T();return}if(h==='"')for(p(++c);c<o.length&&h!=='"';)u+=h,p(++c);else h===a?T():u+=h}T()}}guessDelimiter(o){let n=0,t=0,e,r={",":0,";":0," ":0},s=o.length;for(let i=0;i<s;i++){let a=!1,l,c,h,u="";if(i>13)break;let b=o[i];for(let f=0;f<b.length&&(l=b[f],c=b[f+1],h=b[f-1],l!=="#");f++){if(l==='"')if(a){if(h!=='"'&&c!=='"'){for(;c===" "&&f<b.length;)c=b[++f];r[c]!==void 0&&r[c]++,a=!1}}else a=!0;else r[l]!==void 0?(isNaN(Date.parse(u=u.trim()))?(isNaN(Number(u))||!isFinite(Number(u)))&&r[l]++:r[l]++,u=""):u+=l;l===","&&t++,l==="."&&n++}}return r[";"]>r[","]?e=";":(r[","],r[";"],e=","),n>t?this.guessedDecimalPoint=".":this.guessedDecimalPoint=",",e}getTable(){return d.getTableFromColumns(this.columns,this.headers)}}return m.defaultOptions={...d.defaultOptions,lineDelimiter:` 4`},m}),v(w,"Data/Connectors/CSVConnector.js",[w["Data/Converters/CSVConverter.js"],w["Data/Connectors/DataConnector.js"],w["Core/Utilities.js"]],function(d,C,y){let{merge:m}=y;class g extends C{constructor(n){let t=m(g.defaultOptions,n);super(t),this.converter=new d(t),this.options=t,t.enablePolling&&this.startPolling(1e3*Math.max(t.dataRefreshRate||0,1))}load(n){let t=this,e=t.converter,r=t.table,{csv:s,csvURL:i,dataModifier:a}=t.options;return t.emit({type:"load",csv:s,detail:n,table:r}),Promise.resolve(i?fetch(i).then(l=>l.text()):s||"").then(l=>(l&&(r.deleteColumns(),e.parse({csv:l}),r.setColumns(e.getTable().getColumns())),t.setModifierOptions(a).then(()=>l))).then(l=>(t.emit({type:"afterLoad",csv:l,detail:n,table:r}),t)).catch(l=>{throw t.emit({type:"loadError",detail:n,error:l,table:r}),l})}}return g.defaultOptions={csv:"",csvURL:"",enablePolling:!1,dataRefreshRate:1,firstRowAsNames:!0},C.registerType("CSV",g),g}),v(w,"Data/Converters/JSONConverter.js",[w["Data/Converters/DataConverter.js"],w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,C,y){let{error:m,isArray:g,merge:o,objectEach:n}=y;class t extends d{constructor(r){let s=o(t.defaultOptions,r);super(s),this.columns=[],this.headers=[],this.options=s,this.table=new C}parse(r,s){let{beforeParse:i,orientation:a,firstRowAsNames:l,columnNames:c}=r=o(this.options,r),h=r.data;
4if(h){if(this.columns=[],this.emit({type:"parse",columns:this.columns,detail:s,headers:this.headers}),i&&(h=i(h)),h=h.slice(),a==="columns")for(let u=0,b=h.length;u<b;u++){let f=h[u];if(!(f instanceof Array))return;this.headers instanceof Array?(l?this.headers.push(`${f.shift()}`):c&&c instanceof Array&&this.headers.push(c[u]),this.table.setColumn(this.headers[u]||u.toString(),f)):m("JSONConverter: Invalid `columnNames` option.",!1)}else if(a==="rows"){l?this.headers=h.shift():c&&(this.headers=c);for(let u=0,b=h.length;u<b;u++){let f=h[u];if(g(f))for(let p=0,N=f.length;p<N;p++)this.columns.length<p+1&&this.columns.push([]),this.columns[p].push(f[p]),this.headers instanceof Array?this.table.setColumn(this.headers[p]||p.toString(),this.columns[p]):m("JSONConverter: Invalid `columnNames` option.",!1);else{let p=this.headers;if(p&&!(p instanceof Array)){let N={};n(p,(T,F)=>{N[F]=T.reduce((D,R)=>D[R],f)}),f=N}this.table.setRows([f],u)}}}this.emit({type:"afterParse",columns:this.columns,detail:s,headers:this.headers})}}getTable(){return this.table}}return t.defaultOptions={...d.defaultOptions,data:[],orientation:"rows"},t}),v(w,"Data/Connectors/JSONConnector.js",[w["Data/Connectors/DataConnector.js"],w["Core/Utilities.js"],w["Data/Converters/JSONConverter.js"]],function(d,C,y){let{merge:m}=C;class g extends d{constructor(n){let t=m(g.defaultOptions,n);super(t),this.converter=new y(t),this.options=t,t.enablePolling&&this.startPolling(1e3*Math.max(t.dataRefreshRate||0,1))}load(n){let t=this,e=t.converter,r=t.table,{data:s,dataUrl:i,dataModifier:a}=t.options;return t.emit({type:"load",data:s,detail:n,table:r}),Promise.resolve(i?fetch(i).then(l=>l.json()):s||[]).then(l=>(l&&(r.deleteColumns(),e.parse({data:l}),r.setColumns(e.getTable().getColumns())),t.setModifierOptions(a).then(()=>l))).then(l=>(t.emit({type:"afterLoad",data:l,detail:n,table:r}),t)).catch(l=>{throw t.emit({type:"loadError",detail:n,error:l,table:r}),l})}}return g.defaultOptions={data:[],enablePolling:!1,dataRefreshRate:0,firstRowAsNames:!0,orientation:"rows"},d.registerType("JSON",g),g}),v(w,"Data/Converters/GoogleSheetsConverter.js",[w["Data/Converters/DataConverter.js"],w["Core/Utilities.js"]],function(d,C){let{merge:y,uniqueKey:m}=C;class g extends d{constructor(n){let t=y(g.defaultOptions,n);super(t),this.columns=[],this.header=[],this.options=t}parse(n,t){let e,r=y(this.options,n),s=(r.json?.values||[]).map(l=>l.slice());if(s.length===0)return!1;this.header=[],this.columns=[],this.emit({type:"parse",columns:this.columns,detail:t,headers:this.header});let{beforeParse:i,json:a}=r;i&&a&&(s=i(a.values)),this.columns=s;for(let l=0,c=s.length;l<c;l++){e=s[l],this.header[l]=r.firstRowAsNames?`${e.shift()}`:m();for(let h=0,u=e.length;h<u;++h)if(e[h]&&typeof e[h]=="string"){let b=this.asGuessedType(e[h]);b instanceof Date&&(b=b.getTime()),this.columns[l][h]=b}}
4this.emit({type:"afterParse",columns:this.columns,detail:t,headers:this.header})}getTable(){return d.getTableFromColumns(this.columns,this.header)}}return g.defaultOptions={...d.defaultOptions},g}),v(w,"Data/Connectors/GoogleSheetsConnector.js",[w["Data/Connectors/DataConnector.js"],w["Data/Converters/GoogleSheetsConverter.js"],w["Core/Utilities.js"]],function(d,C,y){let{merge:m,pick:g}=y;class o extends d{constructor(t){let e=m(o.defaultOptions,t);super(e),this.converter=new C(e),this.options=e}load(t){let e=this,r=e.converter,s=e.table,{dataModifier:i,dataRefreshRate:a,enablePolling:l,firstRowAsNames:c,googleAPIKey:h,googleSpreadsheetKey:u}=e.options,b=o.buildFetchURL(h,u,e.options);if(e.emit({type:"load",detail:t,table:s,url:b}),!URL.canParse(b))throw Error("Invalid URL: "+b);return fetch(b).then(f=>f.json()).then(f=>{if(typeof f=="object"&&f&&typeof f.error=="object"&&f.error&&typeof f.error.code=="number"&&typeof f.error.message=="string"&&typeof f.error.status=="string")throw Error(f.error.message);return r.parse({firstRowAsNames:c,json:f}),s.deleteColumns(),s.setColumns(r.getTable().getColumns()),e.setModifierOptions(i)}).then(()=>(e.emit({type:"afterLoad",detail:t,table:s,url:b}),l&&setTimeout(()=>e.load(),1e3*Math.max(a||0,1)),e)).catch(f=>{throw e.emit({type:"loadError",detail:t,error:f,table:s}),f})}}return o.defaultOptions={googleAPIKey:"",googleSpreadsheetKey:"",enablePolling:!1,dataRefreshRate:2,firstRowAsNames:!0},(function(n){let t="ABCDEFGHIJKLMNOPQRSTUVWXYZ";function e(r={}){let{endColumn:s,endRow:i,googleSpreadsheetRange:a,startColumn:l,startRow:c}=r;return a||(t[l||0]||"A")+(Math.max(c||0,0)+1)+":"+(t[g(s,25)]||"Z")+(i?Math.max(i,0):"Z")}n.buildFetchURL=function(r,s,i={}){let a=new URL(`https://sheets.googleapis.com/v4/spreadsheets/${s}/values/`),l=i.onlyColumnNames?"A1:Z1":e(i);a.pathname+=l;let c=a.searchParams;return c.set("alt","json"),i.onlyColumnNames||(c.set("dateTimeRenderOption","FORMATTED_STRING"),c.set("majorDimension","COLUMNS"),c.set("valueRenderOption","UNFORMATTED_VALUE")),c.set("prettyPrint","false"),c.set("key",r),a.href},n.buildQueryRange=e})(o||(o={})),d.registerType("GoogleSheets",o),o}),v(w,"Data/Converters/HTMLTableConverter.js",[w["Data/Converters/DataConverter.js"],w["Core/Utilities.js"]],function(d,C){let{merge:y}=C;class m extends d{constructor(o){let n=y(m.defaultOptions,o);super(n),this.columns=[],this.headers=[],this.options=n,n.tableElement&&(this.tableElement=n.tableElement,this.tableElementID=n.tableElement.id)}export(o,n=this.options){let t=n.firstRowAsNames!==!1,e=n.useMultiLevelHeaders,r=o.getSortedColumns(n.usePresentationOrder),s=Object.keys(r),i=[],a=s.length,l=[],c="";if(t){let u=[];if(e){for(let b of s){let f=(r[b].shift()||"").toString();u.push(f)}c=this.getTableHeaderHTML(s,u,n)}else c=this.getTableHeaderHTML(void 0,s,n)}for(let u=0;u<a;u++){let b=r[s[u]],f=b.length;for(let p=0;p<f;p++){let N=b[p];l[p]||(l[p]=[]),typeof N=="string"||typeof N=="number"||N===void 0||(N=(N||"").toString()),l[p][u]=this.getCellHTMLFromValue(u?"td":"th",null,u?"":'scope="row"',N),u===a-1&&i.push("<tr>"+l[p].join("")+"</tr>")}}let h="";return n.tableCaption&&(h='<caption class="highcharts-table-caption">'+n.tableCaption+"</caption>"),"<table>"+h+c+"<tbody>"+i.join("")+"</tbody></table>"}getCellHTMLFromValue(o,n,t,e,r){let s=e,i="text"+(n?" "+n:"");return typeof s=="number"?(s=s.toString(),r===","&&(s=s.replace(".",r)),i="number"):e||(s="",i="empty"),"<"+o+(t?" "+t:"")+' class="'+i+'">'+s+"</"+o+">"}getTableHeaderHTML(o=[],n=[],t=this.options){let{useMultiLevelHeaders:e,useRowspanHeaders:r}=t,s="<thead>",i=0,a=n&&n.length,l,c=0,h;if(e&&o&&n&&!(function(u,b){let f=u.length;if(b.length!==f)return!1;for(;--f;)if(u[f]!==b[f])return!1;return!0})(o,n)){for(s+="<tr>";i<a;++i)(l=o[i])===o[i+1]?++c:c?(s+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col" colspan="'+(c+1)+'"',l),c=0):(l===n[i]?r?(h=2,delete n[i]):(h=1,n[i]=""):h=1,s+=this.getCellHTMLFromValue("th","highcharts-table-topheading",'scope="col"'+(h>1?' valign="top" rowspan="'+h+'"':""),l));s+="</tr>"}if(n){for(s+="<tr>",i=0,a=n.length;i<a;++i)n[i]!==void 0&&(s+=this.getCellHTMLFromValue("th",null,'scope="col"',n[i])
4);s+="</tr>"}return s+"</thead>"}parse(o,n){let t=[],e=[],r=y(this.options,o),{endRow:s,startColumn:i,endColumn:a,firstRowAsNames:l}=r,c=r.tableElement||this.tableElement;if(!(c instanceof HTMLElement)){this.emit({type:"parseError",columns:t,detail:n,headers:e,error:"Not a valid HTML Table"});return}this.tableElement=c,this.tableElementID=c.id,this.emit({type:"parse",columns:this.columns,detail:n,headers:this.headers});let h=c.getElementsByTagName("tr"),u=h.length,b=0,f,{startRow:p}=r;if(l&&u){let N=h[0].children,T=N.length;for(let F=i;F<T&&!(F>a);F++)((f=N[F]).tagName==="TD"||f.tagName==="TH")&&e.push(f.innerHTML);p++}for(;b<u;){if(b>=p&&b<=s){let N=h[b].children,T=N.length,F=0;for(;F<T;){let D=F-i,R=t[D];if(((f=N[F]).tagName==="TD"||f.tagName==="TH")&&F>=i&&F<=a){t[D]||(t[D]=[]);let j=this.asGuessedType(f.innerHTML);j instanceof Date&&(j=j.getTime()),t[D][b-p]=j;let O=1;for(;b-p>=O&&R[b-p-O]===void 0;)R[b-p-O]=null,O++}F++}}b++}this.columns=t,this.headers=e,this.emit({type:"afterParse",columns:t,detail:n,headers:e})}getTable(){return d.getTableFromColumns(this.columns,this.headers)}}return m.defaultOptions={...d.defaultOptions,useRowspanHeaders:!0,useMultiLevelHeaders:!0},m}),v(w,"Data/Connectors/HTMLTableConnector.js",[w["Data/Connectors/DataConnector.js"],w["Core/Globals.js"],w["Data/Converters/HTMLTableConverter.js"],w["Core/Utilities.js"]],function(d,C,y,m){let{win:g}=C,{merge:o}=m;class n extends d{constructor(e){let r=o(n.defaultOptions,e);super(r),this.converter=new y(r),this.options=r}load(e){let r,s=this,i=s.converter,a=s.table,{dataModifier:l,table:c}=s.options;if(s.emit({type:"load",detail:e,table:a,tableElement:s.tableElement}),typeof c=="string"?(s.tableID=c,r=g.document.getElementById(c)):(r=c,s.tableID=r.id),s.tableElement=r||void 0,!s.tableElement){let h="HTML table not provided, or element with ID not found";return s.emit({type:"loadError",detail:e,error:h,table:a}),Promise.reject(Error(h))}return i.parse(o({tableElement:s.tableElement},s.options),e),a.deleteColumns(),a.setColumns(i.getTable().getColumns()),s.setModifierOptions(l).then(()=>(s.emit({type:"afterLoad",detail:e,table:a,tableElement:s.tableElement}),s))}}return n.defaultOptions={table:""},d.registerType("HTMLTable",n),n}),v(w,"Data/Modifiers/ChainModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Core/Utilities.js"]],function(d,C){let{merge:y}=C;class m extends d{constructor(o,...n){super(),this.chain=n,this.options=y(m.defaultOptions,o);let t=this.options.chain||[];for(let e=0,r=t.length,s,i;e<r;++e)(s=t[e]).type&&(i=d.types[s.type])&&n.push(new i(s))}add(o,n){this.emit({type:"addModifier",detail:n,modifier:o}),this.chain.push(o),this.emit({type:"addModifier",detail:n,modifier:o})}clear(o){this.emit({type:"clearChain",detail:o}),this.chain.length=0,this.emit({type:"afterClearChain",detail:o})}async modify(o,n){let t=this.options.reverse?this.chain.slice().reverse():this.chain.slice();o.modified===o&&(o.modified=o.clone(!1,n));let e=o;for(let r=0,s=t.length;r<s;++r){try{await t[r].modify(e,n)}catch(i){throw this.emit({type:"error",detail:n,table:o}),i}e=e.modified}return o.modified=e,o}modifyCell(o,n,t,e,r){let s=this.options.reverse?this.chain.reverse():this.chain;if(s.length){let i=o.clone();for(let a=0,l=s.length;a<l;++a)s[a].modifyCell(i,n,t,e,r),i=i.modified;o.modified=i}return o}modifyColumns(o,n,t,e){let r=this.options.reverse?this.chain.reverse():this.chain.slice();if(r.length){let s=o.clone();for(let i=0,a=r.length;i<a;++i)r[i].modifyColumns(s,n,t,e),s=s.modified;o.modified=s}return o}modifyRows(o,n,t,e){let r=this.options.reverse?this.chain.reverse():this.chain.slice();if(r.length){let s=o.clone();for(let i=0,a=r.length;i<a;++i)r[i].modifyRows(s,n,t,e),s=s.modified;o.modified=s}return o}modifyTable(o,n){this.emit({type:"modify",detail:n,table:o});let t=this.options.reverse?this.chain.reverse():this.chain.slice(),e=o.modified;for(let r=0,s=t.length;r<s;++r)e=t[r].modifyTable(e,n).modified;return o.modified=e,this.emit({type:"afterModify",detail:n,table:o}),o}remove(o,n){let t=this.chain;this.emit({type:"removeModifier",detail:n,modifier:o}
4),t.splice(t.indexOf(o),1),this.emit({type:"afterRemoveModifier",detail:n,modifier:o})}}return m.defaultOptions={type:"Chain"},d.registerType("Chain",m),m}),v(w,"Data/Modifiers/InvertModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Core/Utilities.js"]],function(d,C){let{merge:y}=C;class m extends d{constructor(o){super(),this.options=y(m.defaultOptions,o)}modifyCell(o,n,t,e,r){let s=o.modified,i=s.getRowIndexBy("columnNames",n);return i===void 0?s.setColumns(this.modifyTable(o.clone()).getColumns(),void 0,r):s.setCell(`${t}`,i,e,r),o}modifyColumns(o,n,t,e){let r=o.modified,s=r.getColumn("columnNames")||[],i=o.getColumnNames(),a=o.getRowCount()!==s.length;if(!a){for(let l=0,c=i.length;l<c;++l)if(i[l]!==s[l]){a=!0;break}}if(a)return this.modifyTable(o,e);i=Object.keys(n);for(let l=0,c=i.length,h,u,b;l<c;++l){h=n[u=i[l]],b=r.getRowIndexBy("columnNames",u)||r.getRowCount();for(let f=0,p=t,N=h.length;f<N;++f,++p)r.setCell(`${p}`,b,h[f],e)}return o}modifyRows(o,n,t,e){let r=o.getColumnNames(),s=o.modified,i=s.getColumn("columnNames")||[],a=o.getRowCount()!==i.length;if(!a){for(let l=0,c=r.length;l<c;++l)if(r[l]!==i[l]){a=!0;break}}if(a)return this.modifyTable(o,e);for(let l=0,c=t,h=n.length,u;l<h;++l,++c)if((u=n[l])instanceof Array)s.setColumn(`${c}`,u);else for(let b=0,f=r.length;b<f;++b)s.setCell(`${c}`,b,u[r[b]],e);return o}modifyTable(o,n){this.emit({type:"modify",detail:n,table:o});let t=o.modified;if(o.hasColumns(["columnNames"])){let e=((o.deleteColumns(["columnNames"])||{}).columnNames||[]).map(s=>`${s}`),r={};for(let s=0,i=o.getRowCount(),a;s<i;++s)(a=o.getRow(s))&&(r[e[s]]=a);t.deleteColumns(),t.setColumns(r)}else{let e={};for(let r=0,s=o.getRowCount(),i;r<s;++r)(i=o.getRow(r))&&(e[`${r}`]=i);e.columnNames=o.getColumnNames(),t.deleteColumns(),t.setColumns(e)}return this.emit({type:"afterModify",detail:n,table:o}),o}}return m.defaultOptions={type:"Invert"},d.registerType("Invert",m),m}),v(w,"Data/Modifiers/MathModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Data/Formula/FormulaParser.js"],w["Data/Formula/FormulaProcessor.js"]],function(d,C,y){class m extends d{constructor(o){super(),this.options={...m.defaultOptions,...o}}modifyTable(o,n){this.emit({type:"modify",detail:n,table:o});let t=this.options.alternativeSeparators,e=this.options.formulaColumns||o.getColumnNames(),r=o.modified;for(let i=0,a=e.length,l;i<a;++i)l=e[i],e.indexOf(l)>=0&&r.setColumn(l,this.processColumn(o,l));let s=this.options.columnFormulas||[];for(let i=0,a=s.length,l,c;i<a;++i)l=s[i],c=C.parseFormula(l.formula,t),r.setColumn(l.column,this.processColumnFormula(c,o,l.rowStart,l.rowEnd));return this.emit({type:"afterModify",detail:n,table:o}),o}processColumn(o,n,t=0){let e=this.options.alternativeSeparators,r=(o.getColumn(n,!0)||[]).slice(t>0?t:0);for(let s=0,i=r.length,a=[],l;s<i;++s)if(typeof(l=r[s])=="string"&&l[0]==="=")try{a=l===""?a:C.parseFormula(l.substring(1),e),r[s]=y.processFormula(a,o)}catch{r[s]=NaN}return r}processColumnFormula(o,n,t=0,e=n.getRowCount()){t=t>=0?t:0,e=e>=0?e:n.getRowCount()+e;let r=[],s=n.modified;for(let i=0,a=e-t;i<a;++i)try{r[i]=y.processFormula(o,s)}catch{r[i]=NaN}finally{o=y.translateReferences(o,0,1)}return r}}return m.defaultOptions={type:"Math",alternativeSeparators:!1},d.registerType("Math",m),m}),v(w,"Data/Modifiers/RangeModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Core/Utilities.js"]],function(d,C){let{merge:y}=C;class m extends d{constructor(o){super(),this.options=y(m.defaultOptions,o)}modifyTable(o,n){this.emit({type:"modify",detail:n,table:o});let t=[],{additive:e,ranges:r,strict:s}=this.options;if(r.length){let i=o.modified,a=o.getColumns(),l=[];for(let c=0,h=r.length,u,b;c<h;++c)if(u=r[c],!s||typeof u.minValue==typeof u.maxValue){c>0&&!e&&(i.deleteRows(),i.setRows(l),i.setOriginalRowIndexes(t,!0),a=i.getColumns(),l=[],t=[]),b=a[u.column]||[];for(let f=0,p=b.length,N,T,F;f<p;++f){switch(typeof(N=b[f])){default:continue;case"boolean":case"number":case"string":}(!s||typeof N==typeof u.minValue)&&N>=u.minValue&&N<=u.maxValue&&(e?(T=o.getRow(f),F=o.getOriginalRowIndex(f)):(T=i.getRow(f),F=i.getOriginalRowIndex(f)),T&&(l.push(T),t.push(F)))}}i.deleteRows(),i.setRows(l),i.setOriginalRowIndexes(t)}
4return this.emit({type:"afterModify",detail:n,table:o}),o}}return m.defaultOptions={type:"Range",ranges:[]},d.registerType("Range",m),m}),v(w,"Data/Modifiers/SortModifier.js",[w["Data/Modifiers/DataModifier.js"],w["Data/DataTable.js"],w["Core/Utilities.js"]],function(d,C,y){let{merge:m}=y;class g extends d{static ascending(n,t){return(n||0)<(t||0)?-1:(n||0)>(t||0)?1:0}static descending(n,t){return(t||0)<(n||0)?-1:(t||0)>(n||0)?1:0}constructor(n){super(),this.options=m(g.defaultOptions,n)}getRowReferences(n){let t=n.getRows(),e=[];for(let r=0,s=t.length;r<s;++r)e.push({index:r,row:t[r]});return e}modifyCell(n,t,e,r,s){let{orderByColumn:i,orderInColumn:a}=this.options;return t===i&&(a?(n.modified.setCell(t,e,r),n.modified.setColumn(a,this.modifyTable(new C({columns:n.getColumns([i,a])})).modified.getColumn(a))):this.modifyTable(n,s)),n}modifyColumns(n,t,e,r){let{orderByColumn:s,orderInColumn:i}=this.options,a=Object.keys(t);return a.indexOf(s)>-1&&(i&&t[a[0]].length?(n.modified.setColumns(t,e),n.modified.setColumn(i,this.modifyTable(new C({columns:n.getColumns([s,i])})).modified.getColumn(i))):this.modifyTable(n,r)),n}modifyRows(n,t,e,r){let{orderByColumn:s,orderInColumn:i}=this.options;return i&&t.length?(n.modified.setRows(t,e),n.modified.setColumn(i,this.modifyTable(new C({columns:n.getColumns([s,i])})).modified.getColumn(i))):this.modifyTable(n,r),n}modifyTable(n,t){this.emit({type:"modify",detail:t,table:n});let e=n.getColumnNames(),r=n.getRowCount(),s=this.getRowReferences(n),{direction:i,orderByColumn:a,orderInColumn:l}=this.options,c=i==="asc"?g.ascending:g.descending,h=e.indexOf(a),u=n.modified;if(h!==-1&&s.sort((b,f)=>c(b.row[h],f.row[h])),l){let b=[];for(let f=0;f<r;++f)b[s[f].index]=f;u.setColumns({[l]:b})}else{let b,f=[],p=[];for(let N=0;N<r;++N)b=s[N],f.push(u.getOriginalRowIndex(b.index)),p.push(b.row);u.setRows(p,0),u.setOriginalRowIndexes(f)}return this.emit({type:"afterModify",detail:t,table:n}),n}}return g.defaultOptions={type:"Sort",direction:"desc",orderByColumn:"y"},d.registerType("Sort",g),g}),v(w,"masters/modules/data-tools.src.js",[w["Core/Globals.js"],w["Data/Connectors/DataConnector.js"],w["Data/Converters/DataConverter.js"],w["Data/DataCursor.js"],w["Data/Modifiers/DataModifier.js"],w["Data/DataPool.js"],w["Data/DataTable.js"],w["Data/Formula/Formula.js"]],function(d,C,y,m,g,o,n,t){return d.DataConnector=d.DataConnector||C,d.DataConverter=d.DataConverter||y,d.DataCursor=d.DataCursor||m,d.DataModifier=d.DataModifier||g,d.DataPool=d.DataPool||o,d.DataTable=d.DataTable||n,d.Formula=d.Formula||t,d})})})(V)),V.exports}var Y=H();const G=k(Y),J=$({__proto__:null,default:G},[Y]);export{J as d};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.