dotfiles/vscode/.vscode/extensions/randomfractalsinc.vscode-data-preview-2.3.0/web/scripts/perspective-viewer-hypergrid.js
Errol Sancaktar ff17c17e23 vscode
2024-06-14 09:31:58 -06:00

2 lines
341 KiB
JavaScript

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["perspective-viewer-hypergrid"]=t():e["perspective-viewer-hypergrid"]=t()}(window,(function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=130)}([function(e,t,i){"use strict";var n=i(3).extend("Feature",{next:null,detached:null,cursor:null,currentHoverCell:null,setNext:function(e){this.next?this.next.setNext(e):(this.next=e,this.detached=e)},detachChain:function(){this.next=null},attachChain:function(){this.next=this.detached},handleMouseMove:function(e,t){this.next&&this.next.handleMouseMove(e,t)},handleMouseExit:function(e,t){this.next&&this.next.handleMouseExit(e,t)},handleMouseEnter:function(e,t){this.next&&this.next.handleMouseEnter(e,t)},handleMouseDown:function(e,t){this.next&&this.next.handleMouseDown(e,t)},handleMouseUp:function(e,t){this.next&&this.next.handleMouseUp(e,t)},handleKeyDown:function(e,t){if(!this.next)return!0;this.next.handleKeyDown(e,t)},handleKeyUp:function(e,t){this.next&&this.next.handleKeyUp(e,t)},handleWheelMoved:function(e,t){this.next&&this.next.handleWheelMoved(e,t)},handleDoubleClick:function(e,t){this.next&&this.next.handleDoubleClick(e,t)},handleClick:function(e,t){this.next&&this.next.handleClick(e,t)},handleMouseDrag:function(e,t){this.next&&this.next.handleMouseDrag(e,t)},handleContextMenu:function(e,t){this.next&&this.next.handleContextMenu(e,t)},handleTouchStart:function(e,t){this.next&&this.next.handleTouchStart(e,t)},handleTouchMove:function(e,t){this.next&&this.next.handleTouchMove(e,t)},handleTouchEnd:function(e,t){this.next&&this.next.handleTouchEnd(e,t)},moveSingleSelect:function(e,t,i){this.next&&this.next.moveSingleSelect(e,t,i)},isFirstFixedRow:function(e,t){return t.gridCell.y<1},isFirstFixedColumn:function(e,t){return 0===t.gridCell.x},setCursor:function(e){this.next&&this.next.setCursor(e),this.cursor&&e.beCursor(this.cursor)},initializeOn:function(e){this.next&&this.next.initializeOn(e)}});e.exports=n},function(e,t,i){var n=i(27)("wks"),r=i(20),o=i(6).Symbol,s="function"==typeof o;(e.exports=function(e){return n[e]||(n[e]=s&&o[e]||(s?o:r)("Symbol."+e))}).store=n},function(e,t,i){"use strict";function n(e,t){Object.defineProperty(this,e,{value:t,writable:!1,enumerable:!0,configurable:!1})}function r(e,t){n.call(this,"x",Number(e)||0),n.call(this,"y",Number(t)||0)}function o(e,t,i,o){e=Number(e)||0,t=Number(t)||0,(i=Number(i)||0)<0&&(e+=i,i=-i),(o=Number(o)||0)<0&&(t+=o,o=-o),n.call(this,"origin",new r(e,t)),n.call(this,"extent",new r(i,o)),n.call(this,"corner",new r(e+i,t+o)),n.call(this,"center",new r(e+i/2,t+o/2))}r.prototype={plus:function(e){return new r(this.x+e.x,this.y+e.y)},plusXY:function(e,t){return new r(this.x+(e||0),this.y+(t||0))},minus:function(e){return new r(this.x-e.x,this.y-e.y)},min:function(e){return new r(Math.min(this.x,e.x),Math.min(this.y,e.y))},max:function(e){return new r(Math.max(this.x,e.x),Math.max(this.y,e.y))},distance:function(e){var t=e.x-this.x,i=e.y-this.y;return Math.sqrt(t*t+i*i)},equals:function(e){var t=!1;return e&&(t=this.x===e.x&&this.y===e.y),t},greaterThan:function(e){return this.x>e.x&&this.y>e.y},lessThan:function(e){return this.x<e.x&&this.y<e.y},greaterThanOrEqualTo:function(e){return this.x>=e.x&&this.y>=e.y},lessThanOrEqualTo:function(e){return this.x<=e.x&&this.y<=e.y},within:function(e){var t=e.origin.x,i=t+e.extent.x,n=e.origin.y,r=n+e.extent.y;return e.extent.x<0&&(t=i,i=e.origin.x),e.extent.y<0&&(n=r,r=e.origin.y),t<=this.x&&this.x<i&&n<=this.y&&this.y<r}},r.prototype.EQ=r.prototype.equals,r.prototype.GT=r.prototype.greaterThan,r.prototype.LT=r.prototype.lessThan,r.prototype.GE=r.prototype.greaterThanOrEqualTo,r.prototype.LE=r.prototype.lessThanOrEqualTo,o.prototype={get top(){return this.origin.y},get left(){return this.origin.x},get bottom(){return this.corner.y},get right(){return this.corner.x},get width(){return this.extent.x},get height(){return this.extent.y},get area(){return this.width*this.height},flattenXAt:function(e){return new o(e,this.origin.y,0,this.extent.y)},flattenYAt:function(e){return new o(this.origin.x,e,this.extent.x,0)},contains:function(e){return e.within(this)},within:function(e){return e.origin.lessThanOrEqualTo(this.origin)&&e.corner.greaterThanOrEqualTo(this.corner)},growBy:function(e){return new o(this.origin.x+e,this.origin.y+e,this.extent.x-e-e,this.extent.y-e-e)},shrinkBy:function(e){return this.growBy(-e)},union:function(e){var t=this.origin.min(e.origin),i=this.corner.max(e.corner).minus(t);return new o(t.x,t.y,i.x,i.y)},forEach:function(e,t){t=t||this;for(var i=this.origin.x,n=this.corner.x;i<n;i++)for(var r=this.origin.y,o=this.corner.y;r<o;r++)e.call(t,i,r)},intersect:function(e,t,i){var n=null,r=this.origin.max(e.origin),s=this.corner.min(e.corner).minus(r);return s.x>0&&s.y>0?n=new o(r.x,r.y,s.x,s.y):"function"==typeof t&&(n=t.call(i||this,e)),n},intersects:function(e){return e.corner.x>this.origin.x&&e.corner.y>this.origin.y&&e.origin.x<this.corner.x&&e.origin.y<this.corner.y}},t.Point=r,t.Rectangle=o},function(e,t,i){"use strict";var n=i(63).Base;Object.defineProperty(n.prototype,"version",{enumerable:!0,writable:!1,configurable:!1,value:i(95).version}),n.prototype.versionAtLeast=function(e){var t=e.split(".").map(Number),i=this.version.split(".").map((function(e,i){return Number(e)-t[i]}));return i[0]>0||0===i[0]&&(i[1]>0||0===i[1]&&i[2]>=0)},n.prototype.deprecated=i(158),n.prototype.HypergridError=i(22),n.prototype.notify=function(e,t){switch(t){case"warn":console.warn(e);break;case"alert":alert(e);break;default:throw new this.HypergridError(e)}},n.prototype.unwrap=function(e){return"f"===(typeof e)[0]&&(e=e()),e},n.prototype.mixIn=i(35).mixIn,n.prototype.createApply=function(e,t,i){var n=Array.prototype.slice.call(arguments,2),r=[null].concat(n).concat(t),o=e.bind.apply(e,r);return new o},e.exports=n},function(e,t,i){var n=i(99),r="object"==typeof self&&self&&self.Object===Object&&self,o=n||r||Function("return this")();e.exports=o},function(e,t,i){"use strict";var n=i(3).extend("CellRenderer",{paint:function(e,t){},roundRect:function(e,t,i,n,r,o,s,a){a||(a=!0),o||(o=5),e.beginPath(),e.moveTo(t+o,i),e.lineTo(t+n-o,i),e.quadraticCurveTo(t+n,i,t+n,i+o),e.lineTo(t+n,i+r-o),e.quadraticCurveTo(t+n,i+r,t+n-o,i+r),e.lineTo(t+o,i+r),e.quadraticCurveTo(t,i+r,t,i+r-o),e.lineTo(t,i+o),e.quadraticCurveTo(t,i,t+o,i),e.closePath(),a&&e.stroke(),s&&e.fill(),e.closePath()}});e.exports=n},function(e,t){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,t,i){var n=i(15);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,i){e.exports=!i(8)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,i){var n=i(11),r=i(29);e.exports=i(9)?function(e,t,i){return n.f(e,t,r(1,i))}:function(e,t,i){return e[t]=i,e}},function(e,t,i){var n=i(7),r=i(84),o=i(50),s=Object.defineProperty;t.f=i(9)?Object.defineProperty:function(e,t,i){if(n(e),t=o(t,!0),n(i),r)try{return s(e,t,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[t]=i.value),e}},function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},function(e,t,i){"use strict";var n=i(3),r=i(159),o=i(64),s=n.extend("CellEditor",{initialize:function(e,t){for(var i in t)this[i]=t[i];this.event=t;var n=this.event.value;n instanceof Array&&(n=n[1]),this.grid=e,this.grid.cellEditor=this,this.locale=e.localization.locale;var r=this.grid.localization.get(t.format);r!==o.prototype.string&&"string"!==t.format&&(this.localizer=r),this.initialValue=n;var s=document.createElement("DIV");s.innerHTML=this.grid.modules.templater.render(this.template,this),this.el=s.firstChild,this.input=this.el,this.errors=0;var a=this;this.el.addEventListener("keyup",this.keyup.bind(this)),this.el.addEventListener("keydown",(function(t){9===t.keyCode&&t.preventDefault(),e.fireSyntheticEditorKeyDownEvent(a,t)})),this.el.addEventListener("keypress",(function(t){e.fireSyntheticEditorKeyPressEvent(a,t)})),this.el.addEventListener("mousedown",(function(e){a.onmousedown(e)}))},onmousedown:function(e){e.stopPropagation()},localizer:o.prototype.null,specialKeyups:{9:"stopEditing",13:"stopEditing",27:"cancelEditing"},keyup:function(e){var t,i,n=this.grid,r=this.event.properties,o=r.feedbackCount,s=n.canvas.getKeyChar(e);if((t=this.specialKeyups[e.keyCode])&&(i=this[t](o))&&n.repaint(),r.mappedNavKey(s,e.ctrlKey)&&(!t&&(i=this.stopEditing(o))&&n.repaint(),i)){var a=n.canvas.newEvent(e,"fin-editor-keydown",{grid:n,alt:e.altKey,ctrl:e.ctrlKey,char:s,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,shift:e.shiftKey,identifier:e.key,editor:this});n.delegateKeyDown(a)}return this.grid.fireSyntheticEditorKeyUpEvent(this,e),i},checkEditorPositionFlag:!1,gridRenderedNotification:function(){this.checkEditor()},scrollValueChangedNotification:function(){this.checkEditorPositionFlag=!0},moveEditor:function(){this.setBounds(this.event.bounds)},beginEditing:function(){this.grid.fireRequestCellEdit(this.event,this.initialValue)&&(this.checkEditorPositionFlag=!0,this.checkEditor())},setEditorValue:function(e){this.input.value=this.localizer.format(e)},showEditor:function(){this.el.style.display="inline"},hideEditor:function(){this.el.style.display="none"},stopEditing:function(e){var t=this.input.value;try{var i=this.validateEditorValue(t);if(!i)var n=this.getEditorValue(t)}catch(e){i=e}if(!i&&this.grid.fireSyntheticEditorDataChangeEvent(this,this.initialValue,n))try{this.saveEditorValue(n)}catch(e){i=e}return i?e>=0?this.errorEffectBegin(++this.errors%e==0&&i):this.cancelEditing():(this.hideEditor(),this.grid.cellEditor=null,this.el.remove()),!i},cancelEditing:function(){return this.setEditorValue(this.initialValue),this.hideEditor(),this.grid.cellEditor=null,this.el.remove(),this.grid.takeFocus(),!0},errorEffectBegin:function(e){if(!this.effecting){var t=this.grid.properties.feedbackEffect,i=r[t.name||t];if(i){var n=Object.assign({},t.options);n.callback=this.errorEffectEnd.bind(this,e),this.effecting=!0,i.call(this,n)}}},errorEffectEnd:function(e,t){if(e){var i='Invalid value. To resolve, do one of the following:\n\n * Correct the error and try again.\n - or -\n * Cancel editing by pressing the "esc" (escape) key.';"string"!=typeof(e=e.message||e)&&(e=""),this.localizer.expectation&&(e=e?e+"\n"+this.localizer.expectation:this.localizer.expectation),e&&(/[\n\r]/.test(e)&&(e=(e="\n"+e).replace(/[\n\r]+/g,"\n\n * ")),i+="\n\nAdditional information about this error: "+e),setTimeout((function(){alert(i)}))}this.effecting=!1},saveEditorValue:function(e){var t=!(e&&e===this.initialValue)&&this.grid.fireBeforeCellEdit(this.event.gridCell,this.initialValue,e,this);return t&&(this.event.value=e,this.grid.fireAfterCellEdit(this.event.gridCell,this.initialValue,e,this)),t},getEditorValue:function(e){return this.localizer.parse(e||this.input.value)},validateEditorValue:function(e){return this.localizer.invalid&&this.localizer.invalid(e||this.input.value)},takeFocus:function(){var e=this.el,t=e.style.left,i=e.style.top;e.style.left=e.style.top=0;var n=window.scrollX,r=window.scrollY;this.input.focus(),window.scrollTo(n,r),this.selectAll(),e.style.left=t,e.style.top=i},selectAll:function(){},setBounds:function(e){var t=this.el.style;t.left=a(e.x),t.top=a(e.y),t.width=a(e.width),t.height=a(e.height)},checkEditor:function(){this.checkEditorPositionFlag&&(this.checkEditorPositionFlag=!1,this.event.isCellVisible?(this.setEditorValue(this.initialValue),this.attachEditor(),this.moveEditor(),this.showEditor(),this.takeFocus()):this.hideEditor())},attachEditor:function(){this.grid.div.appendChild(this.el)},template:""});function a(e){return e+"px"}e.exports=s},function(e,t,i){var n=i(200),r=i(205);e.exports=function(e,t){var i=r(e,t);return n(i)?i:void 0}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,i){var n=i(6),r=i(10),o=i(12),s=i(20)("src"),a=i(133),l=(""+a).split("toString");i(25).inspectSource=function(e){return a.call(e)},(e.exports=function(e,t,i,a){var c="function"==typeof i;c&&(o(i,"name")||r(i,"name",t)),e[t]!==i&&(c&&(o(i,s)||r(i,s,e[t]?""+e[t]:l.join(String(t)))),e===n?e[t]=i:a?e[t]?e[t]=i:r(e,t,i):(delete e[t],r(e,t,i)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[s]||a.call(this)}))},function(e,t,i){var n=i(137),r=i(32);e.exports=function(e){return n(r(e))}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,i){(function(e,t,n){i(91),i(58);const r=i(157).default,o=["perspective.config.js","perspective.config.json","package.json"];function s(e){return e&&"object"==typeof e&&!Array.isArray(e)}function a(e,...t){if(!t.length)return e;const i=t.shift();if(s(e)&&s(i))for(const t in i)s(i[t])?(e[t]||Object.assign(e,{[t]:{}}),a(e[t],i[t])):Object.assign(e,{[t]:i[t]});return a(e,...t)}e.exports.get_types=function(){return Object.keys(e.exports.get_config().types)},e.exports.get_type_config=function(t){const i={};if(e.exports.get_config().types[t]&&Object.assign(i,e.exports.get_config().types[t]),i.type){const t=e.exports.get_type_config(i.type);return Object.assign(t,i),t}return i},n.__PERSPECTIVE_CONFIG__=void 0,e.exports.override_config=function(e){n.__PERSPECTIVE_CONFIG__&&console.warn("Config already initialized!"),n.__PERSPECTIVE_CONFIG__=a(r,e)},e.exports.get_config=function(){return n.__PERSPECTIVE_CONFIG__||(n.__PERSPECTIVE_CONFIG__=a(r,"undefined"==typeof window?function(){const i="undefined"!=typeof require?require:e.require,n=i("path"),r=i("fs"),[s,...a]=t.cwd().split(n.sep);for(;a.length>0;){for(const e of o){const t="".concat(s).concat(n.sep).concat(n.join(...a,e));if(r.existsSync(t)){if(!e.endsWith("json")){const e=i(t);return e.default||e}{const i=JSON.parse(r.readFileSync(t));if("package.json"!==e)return i;if(i.perspective)return i.perspective}}}a.pop()}}():{types:{float:{filter_operator:"==",aggregate:"sum",format:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}},string:{filter_operator:"==",aggregate:"count"},integer:{filter_operator:"==",aggregate:"sum",format:{}},boolean:{filter_operator:"==",aggregate:"count"},datetime:{filter_operator:"==",aggregate:"count",format:{week:"numeric",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},null_value:-1},date:{filter_operator:"==",aggregate:"count",format:{week:"numeric",year:"numeric",month:"numeric",day:"numeric"},null_value:-1}}}||{})),n.__PERSPECTIVE_CONFIG__}}).call(this,i(21)(e),i(151),i(90))},function(e,t){var i=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+n).toString(36))}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,i){"use strict";function n(e){this.message=e}n.prototype=Object.create(Error.prototype),n.prototype.name="HypergridError",e.exports=n},function(e,t,i){"use strict";var n=i(36),r=i(162),o=i(163);n(o).each((function(e,t){var i=new Image;i.src="data:"+e.type+";base64,"+e.data,o[t]=i})),o["checkbox-on"]=o.checked,o["checkbox-off"]=o.unchecked,Object.defineProperties(o,{add:{value:function(e,t,i,n,r){return/^data:image\/svg\+xml|\.svg/.test(t.src)&&(t.themeable=!!i,"object"==typeof n&&(r=n,n=void 0),n&&(t.setSvgProps=n),r&&(t.themeableRules=function(e,t,i,n){var r=document.querySelector("style#injected-stylesheet-themeables");r||((r=document.createElement("style")).id="injected-stylesheet-themeables",document.head.appendChild(r));var o=r.sheet;return(n.length?n:["background-image"]).reduce((function(n,r){var s=".hypergrid-"+r+"-"+e,a=Array.prototype.findIndex.call(o.cssRules,(function(e){return e.selectorText===s}));-1!==a&&o.deleteRule(a);var l={};l[r]="url("+t.src+")",t.width&&(l.width=t.width+"px"),t.height&&(l.height=t.height+"px");var c="{"+Object.keys(l).map((function(e){return e+":"+l[e]})).join(";")+"}";o.insertRule(s+c);var u={rule:o.cssRules[0]};return i&&(u.setSvgProps=i),n.push(u),n}),[])}(e,t,n,r))),o[e]=t}},setTheme:{value:function(e){Object.keys(o).forEach((function(t){var i=o[t];i.themeable&&r.setImgSvgProps.call(i,e,i.setSvgProps),i.themeableRules&&i.themeableRules.forEach((function(t){var n=t.rule.selectorText,o=new RegExp("^.hypergrid-("+r.cssImagePropertyNames.join("|")+")-.*$"),s=n.replace(o,"$1");r.setRuleSvgProps.call(t.rule,e,i.setSvgProps,s)}))}))}},checkbox:{value:function(e){return o[e?"checked":"unchecked"]}},filter:{value:function(e){return o[e?"filter-on":"filter-off"]}}}),e.exports=o},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t){var i=e.exports={version:"2.6.10"};"number"==typeof __e&&(__e=i)},function(e,t){e.exports=!1},function(e,t,i){var n=i(25),r=i(6),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:i(26)?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,i){var n=i(6),r=i(25),o=i(10),s=i(16),a=i(134),l=function(e,t,i){var c,u,h,d,f=e&l.F,g=e&l.G,p=e&l.S,v=e&l.P,m=e&l.B,b=g?n:p?n[t]||(n[t]={}):(n[t]||{}).prototype,y=g?r:r[t]||(r[t]={}),C=y.prototype||(y.prototype={});for(c in g&&(i=t),i)h=((u=!f&&b&&void 0!==b[c])?b:i)[c],d=m&&u?a(h,n):v&&"function"==typeof h?a(Function.call,h):h,b&&s(b,c,h,e&l.U),y[c]!=h&&o(y,c,d),v&&C[c]!=h&&(C[c]=h)};n.core=r,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,i){var n=i(86),r=i(56);e.exports=Object.keys||function(e){return n(e,r)}},function(e,t){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var i=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:i)(e)}},function(e,t,i){var n=i(32);e.exports=function(e){return Object(n(e))}},function(e,t,i){"use strict";function n(e,t){for(var i=1;i<arguments.length;++i)r.call(e,arguments[i]);return e}function r(e){var t;for(var i in e)(t=Object.getOwnPropertyDescriptor(e,i))&&Object.defineProperty(this,i,t);return this}n.mixInTo=function(e){var t;for(var i in this)(t=Object.getOwnPropertyDescriptor(this,i))&&Object.defineProperty(e,i,t);return e},n.mixIn=r,e.exports=n},function(e,t,i){"use strict";function n(e){return e instanceof n?e:this instanceof n?(this.originalValue=e,void(this.o=e||{})):new n(e)}n.chain=function(e){var t=n(e);return t.chaining=!0,t},n.prototype={value:function(){return this.originalValue},each:function(e,t){var i=this.o;return Object.keys(i).forEach((function(t){e.call(this,i[t],t,i)}),t||i),this},find:function(e,t){var i,n=this.o;return n&&void 0!==(i=Object.keys(n).find((function(t){return e.call(this,n[t],t,n)}),t||n))&&(i=n[i]),i},filter:function(e,t){var i=this.o,n=[];return i&&Object.keys(i).forEach((function(t){e.call(this,i[t],t,i)&&n.push(i[t])}),t||i),n},map:function(e,t){var i=this.o,n=[];return i&&Object.keys(i).forEach((function(t){n.push(e.call(this,i[t],t,i))}),t||i),n},reduce:function(e,t,i){var n=this.o;return n&&Object.keys(n).forEach((function(i,r){t=r||void 0!==t?e(t,n[i],i,n):n[i]}),i||n),t},extend:function(e){var t=this.o;return Array.prototype.slice.call(arguments).forEach((function(e){if(e)for(var i in e)t[i]=e[i]})),this.chaining?this:t},extendOwn:function(e){var t=this.o;return Array.prototype.slice.call(arguments).forEach((function(e){n(e).each((function(e,i){t[i]=e}))})),this.chaining?this:t}},Array.prototype.find||(Array.prototype.find=function(e){if(null===this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var t,i=Object(this),n=i.length>>>0,r=arguments[1],o=0;o<n;o++)if(t=i[o],e.call(r,t,o,i))return t}),e.exports=n},function(e,t,i){"use strict";var n=i(67),r=/^\d+$/,o=["transformations","propPath","dictPath","force"];function s(e){e&&o.forEach((function(t){e[t]&&(this[t]=e[t])}),this)}function a(e,t){return t.reduce((function(e,t){return e[t]||(e[t]=Object.create(null))}),e)}function l(e){return(e=e?Array.isArray(e)?e.slice():(e+"").split("."):[]).toString=c,e}function c(){return this.join(".")}function u(e,t,i){var r=n[i],o=this.transformations[i],s=Array.isArray(o)?o.slice():o.split("."),l=s.splice(s.length-1,1)[0],c=a(e,s);!this.force&&l in c||(c[l]=r(t))}s.prototype={constructor:s,transformations:["verbatim","toCamelCase"],set propPath(e){this._propPath=l(e)},get propPath(){return this._propPath},_propPath:["name"],set dictPath(e){this._dictPath=l(e)},get dictPath(){return this._dictPath},_dictPath:[],getSynonyms:function(e,t){var i=[];return"string"==typeof e&&e&&(t=t||this.transformations,Array.isArray(t)||(t=Object.keys(t)),t.forEach((function(t){if("function"!=typeof n[t])throw new ReferenceError('Unknown transformer "'+t+'"');var r=n[t](e);""===r||r in i||i.push(r)}))),i},decorate:function(e,t,i){var n=a(e,this.dictPath),o=n===e,s=this.force;return t.forEach((function(e){o&&r.test(e)||!s&&e in n||(n[e]=i)})),e},decorateList:function(e,t,i){var n;return"number"==typeof e?n=[t[e]]:(t=n=arguments[0],i=arguments[1]),i=i?l(i):this.propPath,n.forEach((function(e){var n=void 0!==i&&"object"==typeof e?a(e,i):e;if(Array.isArray(this.transformations)){var r=this.getSynonyms(n);this.decorate(t,r,e)}else Object.keys(this.transformations).forEach(u.bind(this,e,n))}),this),t}},s.prototype.decorateObject=s.prototype.decorate,s.prototype.decorateArray=s.prototype.decorateList,e.exports=s},function(e,t,i){"use strict";var n=i(3).extend("Registry",{initialize:function(){this.items=Object.create(null)},add:function(e,t){if(1===arguments.length&&(t=e,e=void 0),t){if(!(e=e||t.getClassName&&t.getClassName()))throw new this.HypergridError("Cannot register "+this.friendlyName()+" without a name.");return this.items[e]=t,e=e.toLowerCase(),Object.keys(this.items).filter((function(t){return t.toLowerCase()===e})).forEach((function(e){this.items[e]=t}),this),t}},addSynonym:function(e,t){return this.items[e]=this.items[t]},make:function(e,t){var i=arguments.length-1;arguments[i]=this.BaseClass.extend(arguments[i]),this.add.apply(this,arguments)},get:function(e){if(e){var t=this.items[e];if(!t){var i=e.toLowerCase(),n=Object.keys(this.items).find((function(e){return i===e.toLowerCase()}));if(!(t=this.items[n]))throw new this.HypergridError('Expected "'+e+'" to be a case-insensitive match for a registered '+this.friendlyName()+".");this.addSynonym(e,n)}return t}},friendlyName:function(){if(this.BaseClass){var e=this.BaseClass.getClassName();e=e&&e.replace(/([A-Z])/g," $1").trim().toLowerCase()}else e=function(e){return r.find((function(t){if(t.plural.test(e))return e=e.replace(t.plural,t.singular),!0})),e}(this.getClassName()).toLowerCase();return function(e){return/^[aeiou]/.test(e)?"an":"a"}(e=e||"item")+" "+e}}),r=[{plural:/ies$/,singular:"y"},{plural:/s$/,singular:""}];e.exports=n},function(e,t,i){"use strict";var n=i(63).Base.extend("DatasaurBase",{isNullObject:!0,drillDownCharMap:{true:"\u25bc",false:"\u25b6",undefined:"",null:" "},DataError:o,initialize:function(e,t){if(e)for(this.handlers=e.handlers,this.next=e;e;)this.source=e,e=e.next;else this.handlers=[],this.source=this;this.install(Object.getPrototypeOf(this))},install:function(e,t){t=t||{};var i=this,o=function(e){var t,i=e.hasOwnProperty("!!keys")&&e["!!keys"],n=r.concat(e.hasOwnProperty("!keys")&&e["!keys"]||[]);t=Array.isArray(e)?e:Object.keys(e).filter((function(t){return"function"==typeof Object.getOwnPropertyDescriptor(e,t).value}));return t.filter((function(e){return!(i&&i.indexOf(e)<0||n.indexOf(e)>=0)}))}(e),s=t.inject&&!Array.isArray(e);o.forEach((function(r){s&&(function(e,t,i){do{if(e[t])if(i)for(var r=e;r&&r!==Object.prototype;r=Object.getPrototypeOf(r))delete r[t];else if(e[t]!==n.prototype[t])return e[t];e=e.next}while(e)}(i,r,t.force)||(this.source[r]=e[r])),n.prototype[r]||(n.prototype[r]=function(){if(this.next)return this.next[r].apply(this.next,arguments)})}),this)},dispatchEvent:function(e){this.handlers.forEach((function(t){t.call(this,e)}),this)},addListener:function(e){this.handlers.indexOf(e)<0&&this.handlers.push(e)},removeListener:function(e){var t=this.handlers.indexOf(e);t>=0&&delete this.handlers[t]},removeAllListeners:function(){this.handlers.length=0},dump:function(e){e=Math.min(this.getRowCount(),e||Math.max(100,this.getRowCount()));for(var t=[],i=this.getSchema(),n=i?i.map((function(e){return e.name})):this.getHeaders(),r=this.getColumnCount(),o=this.viewMakesSense,s=0;s<e;s++){for(var a={},l=0;l<r;l++){var c=this.getValue(l,s);0===l&&o&&(c=this.fixIndentForTableDisplay(c)),a[n[l]]=c}t[s]=a}console.table(t)}});var r=["constructor","initialize","!keys","!!keys"];function o(e){this.message=e}o.prototype=Object.create(Error.prototype),o.prototype.name="DataError",e.exports=n},function(e,t,i){var n=i(190),r=i(191),o=i(192),s=i(193),a=i(194);function l(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=r,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},function(e,t,i){var n=i(69);e.exports=function(e,t){for(var i=e.length;i--;)if(n(e[i][0],t))return i;return-1}},function(e,t,i){var n=i(43),r=i(201),o=i(202),s="[object Null]",a="[object Undefined]",l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:s:l&&l in Object(e)?r(e):o(e)}},function(e,t,i){var n=i(4).Symbol;e.exports=n},function(e,t,i){var n=i(14)(Object,"create");e.exports=n},function(e,t,i){var n=i(214);e.exports=function(e,t){var i=e.__data__;return n(t)?i["string"==typeof t?"string":"hash"]:i.map}},function(e,t){var i=Array.isArray;e.exports=i},function(e,t,i){var n=i(236),r=i(70),o=i(237),s=i(238),a=i(239),l=i(42),c=i(100),u=c(n),h=c(r),d=c(o),f=c(s),g=c(a),p=l;(n&&"[object DataView]"!=p(new n(new ArrayBuffer(1)))||r&&"[object Map]"!=p(new r)||o&&"[object Promise]"!=p(o.resolve())||s&&"[object Set]"!=p(new s)||a&&"[object WeakMap]"!=p(new a))&&(p=function(e){var t=l(e),i="[object Object]"==t?e.constructor:void 0,n=i?c(i):"";if(n)switch(n){case u:return"[object DataView]";case h:return"[object Map]";case d:return"[object Promise]";case f:return"[object Set]";case g:return"[object WeakMap]"}return t}),e.exports=p},function(e,t,i){var n=i(115),r=i(116);e.exports=function(e,t,i,o){var s=!i;i||(i={});for(var a=-1,l=t.length;++a<l;){var c=t[a],u=o?o(i[c],e[c],c,i,e):void 0;void 0===u&&(u=e[c]),s?r(i,c,u):n(i,c,u)}return i}},function(e,t,i){i(82)("asyncIterator")},function(e,t,i){var n=i(15);e.exports=function(e,t){if(!n(e))return e;var i,r;if(t&&"function"==typeof(i=e.toString)&&!n(r=i.call(e)))return r;if("function"==typeof(i=e.valueOf)&&!n(r=i.call(e)))return r;if(!t&&"function"==typeof(i=e.toString)&&!n(r=i.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,i){"use strict";var n=i(6),r=i(12),o=i(9),s=i(28),a=i(16),l=i(135).KEY,c=i(8),u=i(27),h=i(53),d=i(20),f=i(1),g=i(83),p=i(82),v=i(136),m=i(140),b=i(7),y=i(15),C=i(34),w=i(17),x=i(50),S=i(29),_=i(88),E=i(143),R=i(144),A=i(87),M=i(11),k=i(30),P=R.f,O=M.f,D=E.f,T=n.Symbol,H=n.JSON,j=H&&H.stringify,L=f("_hidden"),I=f("toPrimitive"),F={}.propertyIsEnumerable,N=u("symbol-registry"),B=u("symbols"),V=u("op-symbols"),W=Object.prototype,z="function"==typeof T&&!!A.f,U=n.QObject,K=!U||!U.prototype||!U.prototype.findChild,G=o&&c((function(){return 7!=_(O({},"a",{get:function(){return O(this,"a",{value:7}).a}})).a}))?function(e,t,i){var n=P(W,t);n&&delete W[t],O(e,t,i),n&&e!==W&&O(W,t,n)}:O,Y=function(e){var t=B[e]=_(T.prototype);return t._k=e,t},X=z&&"symbol"==typeof T.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof T},Q=function(e,t,i){return e===W&&Q(V,t,i),b(e),t=x(t,!0),b(i),r(B,t)?(i.enumerable?(r(e,L)&&e[L][t]&&(e[L][t]=!1),i=_(i,{enumerable:S(0,!1)})):(r(e,L)||O(e,L,S(1,{})),e[L][t]=!0),G(e,t,i)):O(e,t,i)},q=function(e,t){b(e);for(var i,n=v(t=w(t)),r=0,o=n.length;o>r;)Q(e,i=n[r++],t[i]);return e},Z=function(e){var t=F.call(this,e=x(e,!0));return!(this===W&&r(B,e)&&!r(V,e))&&(!(t||!r(this,e)||!r(B,e)||r(this,L)&&this[L][e])||t)},J=function(e,t){if(e=w(e),t=x(t,!0),e!==W||!r(B,t)||r(V,t)){var i=P(e,t);return!i||!r(B,t)||r(e,L)&&e[L][t]||(i.enumerable=!0),i}},$=function(e){for(var t,i=D(w(e)),n=[],o=0;i.length>o;)r(B,t=i[o++])||t==L||t==l||n.push(t);return n},ee=function(e){for(var t,i=e===W,n=D(i?V:w(e)),o=[],s=0;n.length>s;)!r(B,t=n[s++])||i&&!r(W,t)||o.push(B[t]);return o};z||(a((T=function(){if(this instanceof T)throw TypeError("Symbol is not a constructor!");var e=d(arguments.length>0?arguments[0]:void 0),t=function(i){this===W&&t.call(V,i),r(this,L)&&r(this[L],e)&&(this[L][e]=!1),G(this,e,S(1,i))};return o&&K&&G(W,e,{configurable:!0,set:t}),Y(e)}).prototype,"toString",(function(){return this._k})),R.f=J,M.f=Q,i(89).f=E.f=$,i(57).f=Z,A.f=ee,o&&!i(26)&&a(W,"propertyIsEnumerable",Z,!0),g.f=function(e){return Y(f(e))}),s(s.G+s.W+s.F*!z,{Symbol:T});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ie=0;te.length>ie;)f(te[ie++]);for(var ne=k(f.store),re=0;ne.length>re;)p(ne[re++]);s(s.S+s.F*!z,"Symbol",{for:function(e){return r(N,e+="")?N[e]:N[e]=T(e)},keyFor:function(e){if(!X(e))throw TypeError(e+" is not a symbol!");for(var t in N)if(N[t]===e)return t},useSetter:function(){K=!0},useSimple:function(){K=!1}}),s(s.S+s.F*!z,"Object",{create:function(e,t){return void 0===t?_(e):q(_(e),t)},defineProperty:Q,defineProperties:q,getOwnPropertyDescriptor:J,getOwnPropertyNames:$,getOwnPropertySymbols:ee});var oe=c((function(){A.f(1)}));s(s.S+s.F*oe,"Object",{getOwnPropertySymbols:function(e){return A.f(C(e))}}),H&&s(s.S+s.F*(!z||c((function(){var e=T();return"[null]"!=j([e])||"{}"!=j({a:e})||"{}"!=j(Object(e))}))),"JSON",{stringify:function(e){for(var t,i,n=[e],r=1;arguments.length>r;)n.push(arguments[r++]);if(i=t=n[1],(y(t)||void 0!==e)&&!X(e))return m(t)||(t=function(e,t){if("function"==typeof i&&(t=i.call(this,e,t)),!X(t))return t}),n[1]=t,j.apply(H,n)}}),T.prototype[I]||i(10)(T.prototype,I,T.prototype.valueOf),h(T,"Symbol"),h(Math,"Math",!0),h(n.JSON,"JSON",!0)},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,i){var n=i(11).f,r=i(12),o=i(1)("toStringTag");e.exports=function(e,t,i){e&&!r(e=i?e:e.prototype,o)&&n(e,o,{configurable:!0,value:t})}},function(e,t,i){var n=i(33),r=Math.min;e.exports=function(e){return e>0?r(n(e),9007199254740991):0}},function(e,t,i){var n=i(27)("keys"),r=i(20);e.exports=function(e){return n[e]||(n[e]=r(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,i){for(var n=i(145),r=i(30),o=i(16),s=i(6),a=i(10),l=i(59),c=i(1),u=c("iterator"),h=c("toStringTag"),d=l.Array,f={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},g=r(f),p=0;p<g.length;p++){var v,m=g[p],b=f[m],y=s[m],C=y&&y.prototype;if(C&&(C[u]||a(C,u,d),C[h]||a(C,h,m),l[m]=d,b))for(v in n)C[v]||o(C,v,n[v],!0)}},function(e,t){e.exports={}},function(e,t,i){"use strict";var n,r,o=i(61),s=RegExp.prototype.exec,a=String.prototype.replace,l=s,c=(n=/a/,r=/b*/g,s.call(n,"a"),s.call(r,"a"),0!==n.lastIndex||0!==r.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,i,n,r,l=this;return u&&(i=new RegExp("^"+l.source+"$(?!\\s)",o.call(l))),c&&(t=l.lastIndex),n=s.call(l,e),c&&n&&(l.lastIndex=l.global?n.index+n[0].length:t),u&&n&&n.length>1&&a.call(n[0],i,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(n[r]=void 0)})),n}),e.exports=l},function(e,t,i){"use strict";var n=i(7);e.exports=function(){var e=n(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,i){"use strict";var n=i(13),r=i(64),o=n.extend("Textfield",{template:'<input type="text" lang="{{locale}}" class="hypergrid-textfield" style="{{style}}">',initialize:function(){this.input.style.textAlign=this.event.properties.halign,this.input.style.font=this.event.properties.font},localizer:r.prototype.string,selectAll:function(){this.input.setSelectionRange(0,this.input.value.length)}});e.exports=o},function(e,t,i){"use strict";function n(e,t){switch(arguments.length){case 0:t={};break;case 1:switch(typeof e){case"object":t=e,e=void 0;break;case"string":t={};break;default:throw"Single-parameter overload must be either string or object."}break;case 2:if("string"!=typeof e||"object"!=typeof t)throw"Two-parameter overload must be string, object.";break;default:throw"Too many parameters"}function i(){this.preInitialize&&this.preInitialize.apply(this,arguments),o.apply(this,arguments),this.postInitialize&&this.postInitialize.apply(this,arguments)}i.extend=n,i.getClassName=s,i.parent=a;var r,l,c=i.prototype=Object.create(this.prototype);for(r in c.constructor=i,(e=e||c.$$CLASS_NAME||c.name)&&(Object.defineProperty(i,"name",{value:e,configurable:!0}),c.$$CLASS_NAME=e),t)(l=Object.getOwnPropertyDescriptor(t,r))&&Object.defineProperty(c,r,l);return"function"==typeof this.postExtend&&this.postExtend(c),i}function r(){}function o(){var e=this,t=arguments;!function i(n){var r=Object.getPrototypeOf(n);r.constructor!==Object&&(i(r),r.hasOwnProperty("initialize")&&r.initialize.apply(e,t))}(e)}function s(){return this.prototype.$$CLASS_NAME||this.prototype.name||this.name}function a(e){var t=this.prototype;if(t)do{t=Object.getPrototypeOf(t)}while(e&&t&&t.constructor.name!==e);return t&&t.constructor}r.prototype={constructor:r.prototype.constructor,getClassName:function(){return this.$$CLASS_NAME||this.name||this.constructor.name},get super(){return Object.getPrototypeOf(Object.getPrototypeOf(this))},superMember:function(e){var t=this.super;do{t=Object.getPrototypeOf(t)}while(!t.hasOwnProperty(e));return t&&t[e]},superMethod:function(e){var t=this.superMember(e);if("function"!=typeof t)throw new TypeError("this."+e+" is not a function");return t},callSuperMethod:function(e){return this.superMethod(e).apply(this,Array.prototype.slice.call(arguments,1))}},r.extend=n,n.Base=r,e.exports=n},function(e,t,i){"use strict";var n=i(3).extend({initialize:function(e,t,i){"object"==typeof t&&(i=t,t=e),this.locale=t,i&&("function"==typeof i.invalid&&(this.invalid=i.invalid),i.expectation&&(this.expectation=i.expectation))}});window.Intl||(window.Intl={NumberFormat:function(e,t){this.format=function(e){var i=e.toString();if(!t||void 0===t.useGrouping||t.useGrouping){var n=i.indexOf(".");for(n<0&&(n=i.length);(n-=3)>0&&"0123456789".indexOf(i[n-1])>=0;)i=i.substr(0,n)+","+i.substr(n)}return i}},DateTimeFormat:function(e,t){this.format=function(e){return null!=e?("object"!=typeof e&&(e=new Date(e)),e=e.getMonth()+1+"-"+e.getDate()+"-"+e.getFullYear()):e=null,e}}});var r=n.extend("NumberFormatter",{initialize:function(e,t,i){"object"==typeof t&&(i=t),i=i||{},this.format=new Intl.NumberFormat(this.locale,i).format;var n=new Intl.NumberFormat(this.locale,{useGrouping:!1}).format;this.demapper=o.bind(this),this.map=n(10123456789.5).substr(1,11),i.acceptStandardDigits&&"0123456789."!==this.map&&(this.map+="0123456789."),this.invalids=new RegExp("[^"+this.format(11111).replace(this.map[1],"")+this.map+"]")},invalid:function(e){return this.invalids.test(e)},expectation:"Expected a number with optional commas (thousands grouping separator), optional decimal point, and an optional fractional part.\nComma separators are part of the format and will always be displayed for values >= 1000.\nEdited values are always saved in their entirety even though the formatted value is rounded to the specified number of decimal places.",parse:function(e){var t=Number(e.split("").map(this.demapper).join(""));if(isNaN(t))throw"Invalid Number";return t}});function o(e){var t=this.map.indexOf(e)%11;return t<0?"":t<10?t:"."}var s=n.extend("DateFormatter",{initialize:function(e,t,i){"object"==typeof t&&(i=t),i=i||{},this.format=new Intl.DateTimeFormat(this.locale,i).format;var n=new Intl.NumberFormat(this.locale,{useGrouping:!1,style:"decimal"}).format,r=this.localizedDigits=n(10123456789).substr(1,10);this.digitFormatter=a.bind(this),this.digitParser=l.bind(this);var o=this.transformNumber(this.digitFormatter,1987),s=this.transformNumber(this.digitFormatter,12),c=this.transformNumber(this.digitFormatter,30),u=new Date(1987,11,30),h=(0,new Intl.DateTimeFormat(this.locale).format)(u),d=new Intl.NumberFormat(this.locale).format(456),f=this.localizedNumberPattern=new RegExp("["+r+"]+","g"),g=h.match(f);this.partsMap={yy:g.indexOf(o),mm:g.indexOf(s),dd:g.indexOf(c)},i.acceptStandardDigits&&(d+="1234567890"),this.invalids=new RegExp("[^"+h.replace(/-/g,"\\-")+d+"]")},invalid:function(e){return this.invalids.test(e)},parse:function(e){var t=e.match(this.localizedNumberPattern);if(!t||3!==t.length)throw"Invalid Date";var i=this.transformNumber(this.digitParser,t[this.partsMap.yy]),n=this.transformNumber(this.digitParser,t[this.partsMap.mm])-1,r=this.transformNumber(this.digitParser,t[this.partsMap.dd]);return new Date(i,n,r)},transformNumber:function(e,t){return t.toString().split("").map(e).join("")}});function a(e){return this.localizedDigits[e]}function l(e){var t=this.localizedDigits.indexOf(e);return t<0&&(t=""),t}function c(e,t,i){this.locale=e,this.int=this.float=this.construct("number",r,t),this.construct("date",s,i)}c.prototype={constructor:c.prototype.constructor,$$CLASS_NAME:"Localization",construct:function(e,t,i){var n=e[0].toUpperCase()+e.substr(1).toLowerCase()+"Formatter",r=t.bind(null,this.locale),o=new r(i);return this[n]=r,this.add(e,o)},add:function(e,t){if("object"==typeof e&&(t=e,e=void 0),"object"!=typeof t||"function"!=typeof t.format||"function"!=typeof t.parse||t.invalid&&"function"!=typeof t.invalid||t.expectation&&"string"!=typeof t.expectation)throw"Expected localizer object to conform to interface.";return this[e=(e=e||t.name)&&e.toLowerCase()]=t,t},get:function(e){return this[e&&e.toLowerCase()]||this.string},chromeDate:{format:function(e){if(null!=e){"object"!=typeof e&&(e=new Date(e));var t=e.getFullYear(),i=e.getMonth()+1,n=i<10?"0"+i:i,r=e.getDate();e=t+"-"+n+"-"+(r<10?"0"+r:r)}else e=null;return e},parse:function(e){var t=e.split("-");return t&&3===t.length?new Date(t[0],t[1]-1,t[2]):null}},null:{format:function(e){return e},parse:function(e){return e}},string:{format:function(e){return e+""},parse:function(e){return e+""}}},e.exports=c},function(e,t,i){"use strict";var n=i(2).Point,r=i(3),o=i(160),s=i(166),a=i(167),l=i(168),c=i(37),u=i(66),h=i(68),d=["columnHeader","columnHeaderColumnSelection","filterProperties","rowHeader","rowHeaderRowSelection","rowNumbersProperties","treeColumnProperties","treeColumnPropertiesColumnSelection"],f=r.extend("Behavior",{initialize:function(e,t){this.grid=e,this.initializeFeatureChain(),this.grid.behavior=this,this.reset(t)},initializeFeatureChain:function(e){var t;if(this.featureChain=void 0,this.featureMap={},this.featureRegistry=this.featureRegistry||l,this.grid.properties.features){var i=this.featureRegistry.get.bind(this.featureRegistry);t=this.grid.properties.features.map(i)}else this.features&&(t=this.features,g.call(this));t.forEach((function(e,t){var i=new e;this.featureMap[i.$$CLASS_NAME]=i,t?this.featureChain.setNext(i):this.featureChain=i}),this),this.featureChain&&this.featureChain.initializeOn(this.grid)},features:[],reset:function(e){var t=this.resetDataModel(e);t&&(this.CellEvent=s(this.grid)),this.scrollPositionX=this.scrollPositionY=0,this.rowPropertiesPrototype=Object.create(this.grid.properties,i(96).rowPropertiesPrototypeDescriptors),this.clearColumns(),this.createColumns(),this.subgrids=e&&e.subgrids||!t&&this.subgrids||this.grid.properties.subgrids,this.setData(e)},setHeaders:function(e){if(e instanceof Array){var t=this.allColumns;e.forEach((function(e,i){t[i].header=e}))}else"object"==typeof e&&this.allColumns.forEach((function(t){e[t.name]&&(t.header=e[t.name])}))},setData:function(e,t){if(Array.isArray(e)||"function"==typeof e||(e=(t=e)&&t.data),void 0!==(e=this.unwrap(e))){if(!Array.isArray(e))throw"Expected data to be an array (of data row objects).";t=t||{};var i=this.unwrap(t.schema);this.subgrids.forEach((function(t){t.setData(e,i)})),this.grid.cellEditor&&this.grid.cellEditor.cancelEditing(),(t.apply||void 0===t.apply)&&this.reindex(),this.grid.allowEvents(this.getRowCount())}},get renderedColumnCount(){return this.grid.renderer.visibleColumns.length},get renderedRowCount(){return this.grid.renderer.visibleRows.length},get leftMostColIndex(){return this.grid.properties.showRowNumbers?this.rowColumnIndex:this.hasTreeColumn()?this.treeColumnIndex:0},clearColumns:function(){var e=this.schema,t=this.treeColumnIndex,i=this.rowColumnIndex;this.columnsCreated=!1,e[t]=e[t]||{},e[t].index=t,void 0===e[t].name&&(e[t].name=this.treeColumnNameDefault),void 0===e[t].header&&(e[t].header=this.treeColumnHeaderDefault),e[i]=e[i]||{},e[i].index=i,void 0===e[i].name&&(e[i].name=this.rowColumnNameDefault),void 0===e[i].header&&(e[i].header=""),this.columns=this.grid.decorateColumnArray(),this.allColumns=this.grid.decorateColumnArray(),this.allColumns[t]=this.columns[t]=this.newColumn(e[t]),this.allColumns[i]=this.columns[i]=this.newColumn(e[i]),this.columns[t].properties.propClassLayers=this.columns[i].properties.propClassLayers=this.grid.properties.propClassLayersMap.NO_ROWS,this.grid.renderer.resetRowHeaderColumnWidth()},getActiveColumn:function(e){return this.columns[e]},getActiveColumnIndex:function(e){var t=e instanceof o?e.index:e,i="number"==typeof index?"index":"name";return this.columns.findIndex((function(e){return e[i]===t}))},getColumn:function(e){return this.allColumns[e]},newColumn:function(e){return new o(this,e)},addColumn:function(e){var t=this.newColumn(e),i=new c,n=i.getSynonyms(t.name);return this.columns.push(t),i.decorateObject(this.columns,n,t),this.allColumns.push(t),i.decorateObject(this.allColumns,n,t),t},createColumns:function(e){var t=this.dataModel.getSchema();a.normalizeSchema(t),a.decorateSchema(t),a.decorateColumnSchema(t,this.grid.properties.headerify),this.createDataRowProxy(),this.clearColumns(),e&&e.call(this),this.columnsCreated=!0,this.changed(),h.call(this.grid,"fin-hypergrid-columns-created")},createDataRowProxy:function(){},getColumnWidth:function(e){var t=(e!==this.treeColumnIndex||this.hasTreeColumn())&&this.getActiveColumn(e);return t?t.getWidth():0},setColumnWidth:function(e,t){(e>=-2?this.getActiveColumn(e):e).setWidth(t),this.stateChanged()},reindex:function(){this.dataModel.reindex()},clearObjectProperties:function(e,t){for(var i in e)e.hasOwnProperty(i)&&(void 0===t||!t&&d.indexOf(i)>=0||t&&d.indexOf(i)<0)&&delete e[i]},getState:function(){var e=JSON.parse(JSON.stringify(this.grid.properties));return this.clearObjectProperties(e.columnProperties,!1),e},clearState:function(){this.grid.clearState(),this.createColumns()},setState:function(e){this.addState(e,!0)},addState:function(e,t){t&&this.clearState();var i=this.grid.properties;i.settingState=t,u(i,e),delete i.settingState,this.reindex()},setAllColumnProperties:function(e){this.addAllColumnProperties(e,!0)},addAllColumnProperties:function(e,t){if(e){var i=this.grid.behavior.getColumns();Object.keys(e).forEach((function(n){var r=i[n];r&&r.addProperties(e[n],t)}))}},setColumnOrder:function(e){if(Array.isArray(e)){var t=this.columns,i=this.allColumns,n=new c;t.length=0;var r=this.treeColumnIndex.toString(),o=this.rowColumnIndex.toString();Object.keys(t).forEach((function(e){switch(e){case r:case o:break;default:delete t[e]}})),e.forEach((function(e){t.push(i[e])})),n.decorateArray(t)}},setColumnOrderByName:function(e){if(Array.isArray(e)){var t=this.allColumns;this.setColumnOrder(e.map((function(e){return t[e].index})))}},setColumnIndexes:function(e,t){this.grid.properties.columnIndexes=e,t||this.grid.fireSyntheticOnColumnsChangedEvent()},showColumns:function(e,t,i,n){("number"==typeof e||Array.isArray(e))&&(n=i,i=t,t=e,e=!1);var r=this.columns,o=e?r:this.allColumns;"number"==typeof t&&(t=[t]);var s=t.map((function(e){return o[e]})).filter((function(e){return e}));"number"!=typeof i&&(n=i,i=r.length),n||s.forEach((function(e){var t=r.indexOf(e);t>=0&&(r.splice(t,1),i>t&&--i)})),i>=0&&r.splice.apply(r,[i,0].concat(s)),this.grid.properties.columnIndexes=r.map((function(e){return e.index}))},hideColumns:function(e,t){var i=Array.prototype.slice.call(arguments);i.push(-1),this.showColumns.apply(this,i)},resolveProperty:function(e){return this.grid.resolveProperty(e)},lookupFeature:function(e){return this.featureMap[e]},getFixedColumnsWidth:function(){for(var e,t=this.getFixedColumnCount(),i=0,n=this.leftMostColIndex,r=this.grid.properties,o="border-box"!==r.boxSizing,s=r.gridLinesVWidth;n<t;n++)(e=this.getColumnWidth(n))&&(i+=e,o&&(i+=s));return r.fixedLinesVWidth&&(i+=r.fixedLinesHWidth-s),i},getFixedColumnsMaxWidth:function(){return this.getFixedColumnsWidth()},setCursor:function(e){e.updateCursor(),this.featureChain.setCursor(e)},onMouseMove:function(e,t){this.featureChain&&(this.featureChain.handleMouseMove(e,t),this.setCursor(e))},onClick:function(e,t){this.featureChain&&(this.featureChain.handleClick(e,t),this.setCursor(e))},onContextMenu:function(e,t){this.featureChain&&(this.featureChain.handleContextMenu(e,t),this.setCursor(e))},onWheelMoved:function(e,t){this.featureChain&&(this.featureChain.handleWheelMoved(e,t),this.setCursor(e))},onMouseUp:function(e,t){this.featureChain&&(this.featureChain.handleMouseUp(e,t),this.setCursor(e))},onMouseDrag:function(e,t){this.featureChain&&(this.featureChain.handleMouseDrag(e,t),this.setCursor(e))},onKeyDown:function(e,t){this.featureChain&&(this.featureChain.handleKeyDown(e,t),this.setCursor(e))},onKeyUp:function(e,t){this.featureChain&&(this.featureChain.handleKeyUp(e,t),this.setCursor(e))},onDoubleClick:function(e,t){this.featureChain&&(this.featureChain.handleDoubleClick(e,t),this.setCursor(e))},handleMouseDown:function(e,t){this.featureChain&&(this.featureChain.handleMouseDown(e,t),this.setCursor(e))},handleMouseExit:function(e,t){this.featureChain&&(this.featureChain.handleMouseExit(e,t),this.setCursor(e))},onTouchStart:function(e,t){this.featureChain&&this.featureChain.handleTouchStart(e,t)},onTouchMove:function(e,t){this.featureChain&&this.featureChain.handleTouchMove(e,t)},onTouchEnd:function(e,t){this.featureChain&&this.featureChain.handleTouchEnd(e,t)},changed:function(){this.grid.behaviorChanged()},shapeChanged:function(){this.grid.behaviorShapeChanged()},stateChanged:function(){this.grid.behaviorStateChanged()},isColumnReorderable:function(){return this.deprecated("isColumnReorderable()","grid.properties.columnsReorderable","2.1.3")},getColumnProperties:function(e){var t=(e!==this.treeColumnIndex||this.hasTreeColumn())&&this.getColumn(e);return t&&t.properties},setColumnProperties:function(e,t){var i=this.getColumn(e);if(!i)throw"Expected column.";var n=Object.assign(i.properties,t);return this.changed(),n},clearAllCellProperties:function(e){var t;for(void 0===e?(e=0,t=this.columns.length):t=e+1;e<t;e++){var i=this.getColumn(e);i&&i.clearAllCellProperties()}},getHiddenColumnDescriptors:function(){for(var e=this.grid.properties.columnIndexes,t=[],i=this.getActiveColumnCount(),n=0;n<i;n++)if(-1===e.indexOf(n)){var r=this.getActiveColumn(n);t.push({id:n,header:r.header,field:r.name})}return t},getFixedColumnCount:function(){return this.grid.properties.fixedColumnCount},setFixedColumnCount:function(e){this.grid.properties.fixedColumnCount=e},getFixedRowCount:function(){return this.getHeaderRowCount()+this.grid.properties.fixedRowCount},setFixedRowCount:function(e){this.grid.properties.fixedRowCount=e},endDragColumnNotification:function(){},getCursorAt:function(e,t){return null},getActiveColumnCount:function(){return this.columns.length},setScrollPositionX:function(e){this.scrollPositionX=e},getScrollPositionX:function(){return this.scrollPositionX},setScrollPositionY:function(e){this.scrollPositionY=e},getScrollPositionY:function(){return this.scrollPositionY},getCellEditorAt:function(e){return e.isDataColumn&&e.column.getCellEditorAt(e)},highlightCellOnHover:function(e,t){return e&&t},set cellPropertiesPrePaintNotification(e){throw new this.HypergridError("cellPropertiesPrePaintNotification has been deprecated as of v3.0.0. Code to inspect or mutate the render config object should be moved to the getCell hook.")},swapColumns:function(e,t){var i=this.columns,n=i[e];i[e]=i[t],i[t]=n,this.changed()},convertViewPointToDataPoint:function(e){return new n(this.getActiveColumn(e.x).index,e.y)},hasTreeColumn:function(e){return!1},getSelectionMatrixFunction:function(e){return function(){return null}},getRowHeaderColumn:function(){return this.allColumns[this.rowColumnIndex]},getTreeColumn:function(){return this.allColumns[this.treeColumnIndex]},autosizeAllColumns:function(){this.checkColumnAutosizing(!0),this.changed()},checkColumnAutosizing:function(e){var t=this.autoSizeRowNumberColumn(e)||this.autoSizeTreeColumn(e);return this.allColumns.findWithNeg((function(i){t=i.checkColumnAutosizing(e)||t})),t},autoSizeRowNumberColumn:function(e){if(this.grid.properties.showRowNumbers&&this.grid.properties.rowNumberAutosizing)return this.getRowHeaderColumn().checkColumnAutosizing(e)},autoSizeTreeColumn:function(e){if(this.grid.properties.showTreeColumn&&this.grid.properties.treeColumnAutosizing)return this.getTreeColumn().checkColumnAutosizing(e)},getColumns:function(){return this.allColumns},getActiveColumns:function(){return this.columns},getHiddenColumns:function(){for(var e=this.columns,t=this.allColumns,i=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&i.push(t[n]);return i.sort((function(e,t){return e.header<t.header})),i},getSelectedRows:function(){return this.grid.selectionModel.getSelectedRows()},getSelectedColumns:function(){return this.grid.selectionModel.getSelectedColumns()},getSelections:function(){return this.grid.selectionModel.getSelections()},getIndexedData:function(){return this.deprecated("getIndexedData()","getData()","3.0.0")}});function g(){var e=[],t=[],i=0;if(this.features.forEach((function(n){var r=n.prototype.$$CLASS_NAME||n.name,o=r||"feature"+i++;if(e.push(o),!this.featureRegistry.get(o,!0)){var s=n.name||n.prototype.$$CLASS_NAME||"FeatureConstructor"+i,a=[];r||a.push("'"+o+"'"),a.push(s),t.push(a.join(", "))}}),this),e.length){var n="Hypergrid.defaults.features = [\n"+p("\t'",e,"',\n")+"];";t.length&&(n+="\n\nThe following custom features are unregistered and will need to be registered prior to behavior instantiation:\n\n"+p("Features.add(",t,");\n")),i&&(n+="\n\n(You should provide meaningful names for your custom features rather than the generated names above.)"),console.warn("`grid.behavior.features` (array of feature constructors) has been deprecated as of version 2.1.0 in favor of `grid.properties.features` (array of feature names). Remove `features` array from your behavior and add `features` property to your grid state object (or Hypergrid.defaults), e.g.:\n\n"+n)}}function p(e,t,i){return e+t.join(i+e)+i}Object.defineProperties(f.prototype,{treeColumnIndex:{value:-1},treeColumnNameDefault:{value:"Tree",writable:!0},treeColumnHeaderDefault:{value:"Tree",writable:!0},rowColumnIndex:{value:-2},rowColumnNameDefault:{value:"RowHeader",writable:!0}}),f.prototype.applyAnalytics=f.prototype.reindex,f.prototype.mixIn(i(96).mixin),f.prototype.mixIn(i(182).mixin),f.prototype.mixIn(i(183).mixin),f.prototype.mixIn(i(184).mixin),e.exports=f},function(e,t,i){"use strict";e.exports=function(e,t){Object.keys(t).forEach((function(i){for(var n,r=e;r&&!(n=Object.getOwnPropertyDescriptor(r,i));r=Object.getPrototypeOf(r));void 0!==t[i]?(!n||n.writable||n.set)&&(e[i]=t[i]):n&&(!n.configurable||n.set||n.get?(n.writable||n.set)&&(e[i]=void 0):delete e[i])}))}},function(e,t,i){"use strict";var n=/([^_A-Z])([A-Z]+)/g,r=/[^a-z0-9]+/gi,o=/[^a-z0-9]+([a-z0-9])?/gi;function s(e,t){return void 0===t?"":t.toUpperCase()}var a=/^(\d)/,l=/^([A-Z])/;function c(e,t){return t.toLowerCase()}var u=/[a-z]/,h=/[\s\-_]*([^\s\-_])([^\s\-_]+)/g,d=function(e,t,i){return t.toUpperCase()+i},f=/[A-Z]+/g,g=/([A-Z]+)([A-Z][a-z])/g;e.exports={verbatim:function(e){return e+""},toCamelCase:function(e){return e.replace(o,s).replace(a,"$$$1").replace(l,c)},toAllCaps:function(e){return e.replace(r,"_").replace(n,"$1_$2").replace(a,"$$$1").toUpperCase()},toTitle:function(e){return(u.test(e)?e:e.toLowerCase()).replace(h,d).replace(f," $&").replace(g,"$1 $2").trim()}}},function(e,t,i){"use strict";var n=["gridCell","dataCell","mousePoint","gridPoint","clientPoint","pagePoint","keys","row"];e.exports=function(e,t,i,r){var o;if(this.canvas)return"boolean"!=typeof t&&(r=i,i=t,t=!1),i?i instanceof CustomEvent&&(i=Object({},i)):i={},i.type||(i.type=e),i.detail||(i={detail:i}),(o=i.detail).grid||(o.grid=this),o.time=Date.now(),r&&(o.primitiveEvent||(o.primitiveEvent=r),n.forEach((function(e){e in r&&!(e in o)&&(o[e]=r[e])})),"dataRow"in r&&Object.defineProperty(o,"row",{get:function(){return r.dataRow}})),i.cancelable=t,this.canvas.dispatchEvent(new CustomEvent(e,i))}},function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,i){var n=i(14)(i(4),"Map");e.exports=n},function(e,t,i){var n=i(227),r=i(107),o=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,a=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return o.call(e,t)})))}:r;e.exports=a},function(e,t,i){var n=i(108),r=i(234),o=i(112);e.exports=function(e){return o(e)?n(e):r(e)}},function(e,t,i){(function(e){var n=i(4),r=i(231),o=t&&!t.nodeType&&t,s=o&&"object"==typeof e&&e&&!e.nodeType&&e,a=s&&s.exports===o?n.Buffer:void 0,l=(a?a.isBuffer:void 0)||r;e.exports=l}).call(this,i(21)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,i){(function(e){var n=i(99),r=t&&!t.nodeType&&t,o=r&&"object"==typeof e&&e&&!e.nodeType&&e,s=o&&o.exports===r&&n.process,a=function(){try{var e=o&&o.require&&o.require("util").types;return e||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=a}).call(this,i(21)(e))},function(e,t){var i=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)}},function(e,t,i){var n=i(103);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},function(e,t,i){"use strict";var n=i(95).version,r=i(22),o={COLUMNS:1,STRIPES:2,ROWS:3,CELLS:4},s={DEFAULT:[o.COLUMNS,o.STRIPES,o.ROWS,o.CELLS],NO_ROWS:[o.COLUMNS,o.CELLS]},a={themeName:"default",noDataMessage:"",wheelHFactor:.01,wheelVFactor:.05,subgrids:["HeaderSubgrid","data"],font:"13px Tahoma, Geneva, sans-serif",color:"rgb(25, 25, 25)",backgroundColor:"rgb(241, 241, 241)",foregroundSelectionFont:"bold 13px Tahoma, Geneva, sans-serif",foregroundSelectionColor:"rgb(0, 0, 128)",backgroundSelectionColor:"rgba(147, 185, 255, 0.625)",columnHeaderFont:"12px Tahoma, Geneva, sans-serif",columnHeaderColor:"rgb(25, 25, 25)",columnHeaderForegroundSelectionFont:"bold 12px Tahoma, Geneva, sans-serif",columnHeaderBackgroundColor:"rgb(223, 227, 232)",columnHeaderForegroundSelectionColor:"rgb(80, 80, 80)",columnHeaderBackgroundSelectionColor:"rgba(255, 220, 97, 0.45)",columnHeaderHalign:"center",columnHeaderRenderer:"SimpleCell",columnHeaderFormat:"header",rowHeaderFont:"12px Tahoma, Geneva, sans-serif",rowHeaderColor:"rgb(25, 25, 25)",rowHeaderBackgroundColor:"rgb(223, 227, 232)",rowHeaderForegroundSelectionColor:"rgb(80, 80, 80)",rowHeaderForegroundSelectionFont:"bold 12px Tahoma, Geneva, sans-serif",rowHeaderBackgroundSelectionColor:"rgba(255, 220, 97, 0.45)",backgroundColor2:"rgb(201, 201, 201)",treeHeaderFont:"12px Tahoma, Geneva, sans-serif",treeHeaderColor:"rgb(25, 25, 25)",treeHeaderBackgroundColor:"rgb(223, 227, 232)",treeHeaderForegroundSelectionColor:"rgb(80, 80, 80)",treeHeaderForegroundSelectionFont:"bold 12px Tahoma, Geneva, sans-serif",treeHeaderBackgroundSelectionColor:"rgba(255, 220, 97, 0.45)",filterFont:"12px Tahoma, Geneva, sans-serif",filterColor:"rgb(25, 25, 25)",filterBackgroundColor:"white",filterForegroundSelectionColor:"rgb(25, 25, 25)",filterBackgroundSelectionColor:"rgb(255, 220, 97)",filterHalign:"center",filterRenderer:"SimpleCell",filterEditor:"TextField",filterable:!0,showFilterRow:!1,voffset:0,scrollbarHoverOver:"visible",scrollbarHoverOff:"hidden",scrollingEnabled:!0,vScrollbarClassPrefix:"",hScrollbarClassPrefix:"",halign:"center",cellPadding:5,iconPadding:3,leftIcon:void 0,centerIcon:void 0,rightIcon:void 0,renderFalsy:!1,headerify:"toTitle",gridLinesH:!0,gridLinesHWidth:1,gridLinesHColor:"rgb(199, 199, 199)",gridLinesV:!0,gridLinesVWidth:1,gridLinesVColor:"rgb(199, 199, 199)",gridLinesColumnHeader:!0,gridLinesRowHeader:!0,gridLinesUserDataArea:!0,gridBorder:!1,gridBorderLeft:!1,gridBorderRight:!1,gridBorderTop:!1,gridBorderBottom:!1,fixedLinesHWidth:2,fixedLinesHEdge:void 0,fixedLinesHColor:"rgb(164,164,164)",fixedLinesVWidth:2,fixedLinesVEdge:void 0,fixedLinesVColor:"rgb(164,164,164)",boxSizing:n>2?"content-box":"border-box",defaultRowHeight:n>2?14:15,defaultColumnWidth:100,minimumColumnWidth:5,maximumColumnWidth:void 0,resizeColumnInPlace:!1,repaintIntervalRate:60,repaintImmediately:!1,useBitBlit:!1,useHiDPI:!0,navKeyMap:{RETURN:"DOWN",RETURNSHIFT:"UP",TAB:"RIGHT",TABSHIFT:"LEFT"},feedbackCount:3,feedbackEffect:"shaker",readOnly:!1,fixedColumnCount:0,fixedRowCount:0,rowHeaderNumbers:!0,rowHeaderCheckboxes:!0,showTreeColumn:!0,treeRenderer:"SimpleCell",showHeaderRow:!0,cellSelection:!0,columnSelection:!0,rowSelection:!0,singleRowSelectionMode:!0,selectionRegionOverlayColor:"transparent",selectionRegionOutlineColor:"rgb(69, 69, 69)",columnAutosizing:!0,rowNumberAutosizing:!0,treeColumnAutosizing:!0,columnAutosizingMax:400,treeColumnAutosizingMax:400,headerTextWrapping:!1,rowResize:!1,editable:!0,editOnDoubleClick:!0,editOnKeydown:!0,editOnNextCell:!1,unsortable:!1,sortOnDoubleClick:!0,maxSortColumns:3,sortOnHiddenColumns:!0,checkboxOnlyRowSelections:!1,autoSelectRows:!1,autoSelectColumns:!1,collapseCellSelections:!1,format:void 0,editor:void 0,renderer:"SimpleCell",gridRenderer:"by-columns-and-rows",hoverCellHighlight:{enabled:!0,backgroundColor:"rgba(160, 160, 40, 0.45)"},hoverRowHighlight:{enabled:!0,backgroundColor:"rgba(100, 100, 25, 0.30)"},hoverColumnHighlight:{enabled:!0,backgroundColor:"rgba(60, 60, 15, 0.15)"},link:!1,linkTarget:"_blank",linkOnHover:!1,linkColor:"blue",linkVisitedColor:"purple",linkColorOnHover:!1,strikeThrough:!1,multipleSelections:!1,enableContinuousRepaint:!1,columnsReorderable:!0,columnGrabMargin:5,columnClip:!0,rowStripes:void 0,propClassLayers:s.DEFAULT,features:["filters","cellselection","keypaging","columnresizing","rowselection","columnselection","columnmoving","columnsorting","cellclick","cellediting","onhover","touchscrolling"],restoreRowSelections:!0,restoreColumnSelections:!0,truncateTextWithEllipsis:!0},l={};function c(){l.rowProperties||(l.rowProperties=!0,console.warn("The `rowProperties` property has been deprecated as of v2.1.0 in favor of `rowStripes`. (Will be removed in a future release.)"))}function u(){throw new r("Attempt to set/get column-only property on a non-column properties object.")}Object.defineProperties(a,{rowProperties:{get:function(){return c(),this.rowStripes},set:function(e){c(),this.rowStripes=e}}}),["name","type","header","calculator"].forEach((function(e){Object.defineProperty(a,e,{set:u})})),Object.defineProperties(a,{mixIn:{value:i(35).mixIn},delete:{value:function(e){var t=Object.getOwnPropertyDescriptor(this,e);return!!t&&(t.get?!t.get.toString().indexOf(".var.")||(this.var[e]=Object.getPrototypeOf(this)[e],this.grid.repaint(),!1):delete this[e])}},propClassEnum:{value:o},propClassLayersMap:{value:s},navKey:{value:function(e,t){var i;return(e.length>1||!this.editOnKeydown||t)&&(i=e),i}},mappedNavKey:{value:function(e,t){return(e=this.navKeyMap[e])&&this.navKey(e)}},reapplyCellProperties:{set:function(e){l.reapplyCellProperties||(console.warn("The `.reapplyCellProperties` property has been deprecated as of v2.1.3 in favor of using the new `.propClassLayers` property. (May be removed in a future release.) This property is now a setter which sets `.propClassLayers` to `.propClassLayersMap.DEFAULT` (grid \u2190 columns \u2190 stripes \u2190 rows \u2190 cells) on truthy or `propClassLayersMap.NO_ROWS` (grid \u2190 columns \u2190 cells) on falsy, which is what you will see on properties stringification. This will give the same effect in most cases as the former property implementation, but not in all cases due to it no longer being applied dynamically. Developers should discontinue use of this property and start specifying `.propClassLayers` instead."),l.reapplyCellProperties=!0),this.propClassLayers=e?s.NO_ROWS:s.DEFAULT}},exec:{value:function(e){if(this.dataRow){var t="f"===(typeof e)[0]&&e||this.calculator;t&&(e=t(this.dataRow,this.name,this.subrow))}return e}}}),e.exports=a},function(e,t,i){"use strict";e.exports=function(e){var t,i,n,r=this.grid.properties,o=this.visibleRows,s=o.length;if(e){n=this.cellEventPool;var a=0;this.visibleColumns.forEachWithNeg((function(e){for(i=0;i<s;i++,a++)t=o[i],n[a].reset(e,t)}))}var l,c,u=[],h=r.backgroundColor;this.visibleColumns.forEachWithNeg((function(e){c=e.column.properties.backgroundColor,l&&l.backgroundColor===c?l.right=e.right:c===h?l=void 0:(l={backgroundColor:c,left:e.left,right:e.right},u.push(l))})),this.columnBundles=u}},function(e,t,i){"use strict";var n=i(39).extend("DatasaurLocal",{initialize:function(e,t){this.reset()},reset:function(){this.schema=[],this.data=[]},setData:function(e,t){this.data=e||[],t?this.setSchema(t):this.data.length&&!this.schema.length&&this.setSchema([]),this.dispatchEvent("fin-hypergrid-data-loaded")},getSchema:function(){return this.schema},setSchema:function(e){if(!e.length){var t=this.getFirstRow();t&&(e=Object.keys(t))}this.schema=e,this.dispatchEvent("fin-hypergrid-schema-loaded")},getFirstRow:function(){for(var e in this.data)if(this.data[e])return this.data[e]},getRow:function(e){return this.data[e]},setRow:function(e,t){this.data[e]=t||void 0},getRowMetadata:function(e,t){var i=this.data[e];return i&&(i.__META||void 0!==t&&(i.__META=Object.create(t)))},setRowMetadata:function(e,t){var i=this.data[e];return i&&(t?i.__META=t:delete i.__META),!!i},addRow:function(e,t){1===arguments.length&&(t=arguments[0],e=void 0),void 0===e||e>=this.getRowCount()?this.data.push(t):this.data.splice(e,0,t),this.dispatchEvent("fin-hypergrid-data-shape-changed")},delRow:function(e,t){var i=this.data.splice(e,void 0===t?1:t);return i.length&&this.dispatchEvent("fin-hypergrid-data-shape-changed"),i},getValue:function(e,t){var i=this.data[t];return i?i[this.schema[e].name]:null},setValue:function(e,t,i){this.data[t][this.schema[e].name]=i},getRowCount:function(){return this.data.length},getColumnCount:function(){return this.schema.length}});e.exports=n},function(e,t,i){"use strict";"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i},window.CustomEvent.prototype=window.Event.prototype);var n,r,o=i(2),s=200,a=[],l=[],c=function(){for(var e=[],t=["",""],i=0;i<256;i++)e[i]=t;return e[27]=["ESC","ESCSHIFT"],e[192]=["`","~"],e[49]=["1","!"],e[50]=["2","@"],e[51]=["3","#"],e[52]=["4","$"],e[53]=["5","%"],e[54]=["6","^"],e[55]=["7","&"],e[56]=["8","*"],e[57]=["9","("],e[48]=["0",")"],e[189]=["-","_"],e[187]=["=","+"],e[8]=["BACKSPACE","BACKSPACESHIFT"],e[46]=["DELETE","DELETESHIFT"],e[9]=["TAB","TABSHIFT"],e[81]=["q","Q"],e[87]=["w","W"],e[69]=["e","E"],e[82]=["r","R"],e[84]=["t","T"],e[89]=["y","Y"],e[85]=["u","U"],e[73]=["i","I"],e[79]=["o","O"],e[80]=["p","P"],e[219]=["[","{"],e[221]=["]","}"],e[220]=["\\","|"],e[220]=["CAPSLOCK","CAPSLOCKSHIFT"],e[65]=["a","A"],e[83]=["s","S"],e[68]=["d","D"],e[70]=["f","F"],e[71]=["g","G"],e[72]=["h","H"],e[74]=["j","J"],e[75]=["k","K"],e[76]=["l","L"],e[186]=[";",":"],e[222]=["'","|"],e[13]=["RETURN","RETURNSHIFT"],e[16]=["SHIFT","SHIFT"],e[90]=["z","Z"],e[88]=["x","X"],e[67]=["c","C"],e[86]=["v","V"],e[66]=["b","B"],e[78]=["n","N"],e[77]=["m","M"],e[188]=[",","<"],e[190]=[".",">"],e[191]=["/","?"],e[16]=["SHIFT","SHIFT"],e[17]=["CTRL","CTRLSHIFT"],e[18]=["ALT","ALTSHIFT"],e[91]=["COMMANDLEFT","COMMANDLEFTSHIFT"],e[32]=["SPACE","SPACESHIFT"],e[93]=["COMMANDRIGHT","COMMANDRIGHTSHIFT"],e[18]=["ALT","ALTSHIFT"],e[38]=["UP","UPSHIFT"],e[37]=["LEFT","LEFTSHIFT"],e[40]=["DOWN","DOWNSHIFT"],e[39]=["RIGHT","RIGHTSHIFT"],e[33]=["PAGEUP","PAGEUPSHIFT"],e[34]=["PAGEDOWN","PAGEDOWNSHIFT"],e[35]=["PAGERIGHT","PAGERIGHTSHIFT"],e[36]=["PAGELEFT","PAGELEFTSHIFT"],e[112]=["F1","F1SHIFT"],e[113]=["F2","F2SHIFT"],e[114]=["F3","F3SHIFT"],e[115]=["F4","F4SHIFT"],e[116]=["F5","F5SHIFT"],e[117]=["F6","F6SHIFT"],e[118]=["F7","F7SHIFT"],e[119]=["F8","F8SHIFT"],e[120]=["F9","F9SHIFT"],e[121]=["F10","F10SHIFT"],e[122]=["F11","F11SHIFT"],e[123]=["F12","F12SHIFT"],e}();function u(e,t,i){var n=this;this.div=e,this.component=t,this.dragEndtime=Date.now(),this.infoDiv=document.createElement("div"),this.infoDiv.className="info",this.div.appendChild(this.infoDiv),this.gc=b(this.canvas=document.createElement("canvas"),i),this.bc=b(this.buffer=document.createElement("canvas"),i),this.div.appendChild(this.canvas),this.canvas.style.outline="none",this.mouseLocation=new o.Point(-1,-1),this.dragstart=new o.Point(-1,-1),this.bounds=new o.Rectangle(0,0,0,0),this.hasMouse=!1,document.addEventListener("mousemove",(function(e){(n.hasMouse||n.isDragging())&&n.finmousemove(e)})),document.addEventListener("mouseup",(function(e){n.finmouseup(e)})),document.addEventListener("keydown",(function(e){n.finkeydown(e)})),document.addEventListener("keyup",(function(e){n.finkeyup(e)})),this.canvas.onmouseover=function(){n.hasMouse=!0},this.addEventListener("focus",(function(e){n.finfocusgained(e)})),this.addEventListener("blur",(function(e){n.finfocuslost(e)})),this.addEventListener("mousedown",(function(e){n.finmousedown(e)})),this.addEventListener("mouseout",(function(e){n.hasMouse=!1,n.finmouseout(e)})),this.addEventListener("click",(function(e){n.finclick(e)})),this.addEventListener("dblclick",(function(e){n.findblclick(e)})),this.addEventListener("contextmenu",(function(e){return n.fincontextmenu(e),e.preventDefault(),!1})),this.addEventListener("touchstart",(function(e){n.fintouchstart(e)})),this.addEventListener("touchmove",(function(e){n.fintouchmove(e)})),this.addEventListener("touchend",(function(e){n.fintouchend(e)})),this.canvas.setAttribute("tabindex",0),this.resize(),this.beginResizing(),this.beginPainting()}function h(e){n&&(a.forEach((function(t){try{t.tickPainter(e)}catch(e){console.error(e)}t.component.tickNotification&&t.component.tickNotification()})),n=requestAnimationFrame(h))}function d(){n=n||requestAnimationFrame(h)}function f(e){if(r)for(var t=0;t<l.length;t++)try{l[t].tickResizer(e)}catch(e){console.error(e)}}function g(){r=r||setInterval(f,s)}function p(e,t){var i=this.getKeyChar(e);switch(i){case"TAB":case"TABSHIFT":case"Tab":e.preventDefault()}return v.call(this,i,t),i}function v(e,t){var i=this.currentKeys.indexOf(e);!t&&i>=0&&this.currentKeys.splice(i,1),"SHIFT"===e&&this.currentKeys.forEach((function(e,i,n){var r=c.find((function(i){return i[t?0:1]===e}));r&&(n[i]=r[t?1:0])})),t&&i<0&&this.currentKeys.push(e)}function m(e,t,i){var n=this;return Object.defineProperty(i,t,{configurable:!0,ennumerable:!0,get:function(){var t;"shiftKey"in e?v.call(n,"SHIFT",t=e.shiftKey):t=n.currentKeys.indexOf("SHIFT")>=0;var i=t?"SHIFT":"";return"ctrlKey"in e&&v.call(n,"CTRL"+i,e.ctrlKey),"altKey"in e&&v.call(n,"ALT"+i,e.altKey),n.currentKeys.slice()}}),i}function b(e,t){var n=e.getContext("2d",t),r={},o={};function s(e){e in r||/^(webkit|moz|ms|o)[A-Z]/.test(e)||"function"==typeof n[e]||Object.defineProperty(r,e,{get:function(){return o[e]=o[e]||n[e]},set:function(t){t!==o[e]&&(n[e]=o[e]=t)}})}return Object.keys(Object.getPrototypeOf(n)).forEach(s),Object.keys(n).forEach(s),n.cache=r,n.cache.save=function(){n.save(),o=Object.create(o)},n.cache.restore=function(){n.restore(),o=Object.getPrototypeOf(o)},n.conditionalsStack=[],Object.getOwnPropertyNames(u.graphicsContextAliases).forEach((function(e){n[e]=n[u.graphicsContextAliases[e]]})),Object.assign(n,i(131))}u.prototype={constructor:u.prototype.constructor,div:null,component:null,canvas:null,focuser:null,buffer:null,ctx:null,mouseLocation:null,dragstart:null,origin:null,bounds:null,dirty:!1,size:null,mousedown:!1,dragging:!1,repeatKeyCount:0,repeatKey:null,repeatKeyStartTime:0,currentKeys:[],hasMouse:!1,dragEndTime:0,lastRepaintTime:0,currentPaintCount:0,currentFPS:0,lastFPSComputeTime:0,addEventListener:function(e,t){this.canvas.addEventListener(e,t)},removeEventListener:function(e,t){this.canvas.removeEventListener(e,t)},stopPaintLoop:function(){n&&(cancelAnimationFrame(n),n=void 0)},restartPaintLoop:d,stopResizeLoop:function(){r&&(clearInterval(r),r=void 0)},restartResizeLoop:g,detached:function(){this.stopPainting(),this.stopResizing()},getCurrentFPS:function(){return this.currentFPS},tickPaint:function(e){var t=this.component.properties.enableContinuousRepaint,i=this.component.properties.repaintIntervalRate;if(0!==i){var n=1e3/i;e-this.lastRepaintTime>n&&(t||this.dirty)&&(this.paintNow(),this.lastRepaintTime=e,t&&(this.currentPaintCount++,e-this.lastFPSComputeTime>=1e3&&(this.currentFPS=1e3*this.currentPaintCount/(e-this.lastFPSComputeTime),this.currentPaintCount=0,this.lastFPSComputeTime=e)))}},beginPainting:function(){var e=this;this.requestRepaint(),this.tickPainter=function(t){e.tickPaint(t)},a.push(this)},stopPainting:function(){a.splice(a.indexOf(this),1)},beginResizing:function(){var e=this;this.tickResizer=function(){e.checksize()},l.push(this)},stopResizing:function(){l.splice(l.indexOf(this),1)},start:function(){this.beginPainting(),this.beginResizing()},stop:function(){this.stopPainting(),this.stopResizing()},getDivBoundingClientRect:function(){var e=this.div.getBoundingClientRect(),t=Math.floor(e.top),i=Math.floor(e.left),n=Math.ceil(e.width),r=Math.ceil(e.height);return{top:t,right:i+n,bottom:t+r,left:i,width:n,height:r,x:e.x,y:e.y}},checksize:function(){var e=this.getDivBoundingClientRect();e.width===this.size.width&&e.height===this.size.height||this.resize()},resize:function(){var e=this.size=this.getDivBoundingClientRect();this.width=e.width,this.height=e.height;var t=1,i=window.devicePixelRatio&&this.component.properties.useHiDPI;i&&(t=(window.devicePixelRatio||1)/(this.gc.webkitBackingStorePixelRatio||this.gc.mozBackingStorePixelRatio||this.gc.msBackingStorePixelRatio||this.gc.oBackingStorePixelRatio||this.gc.backingStorePixelRatio||1));this.buffer.width=this.canvas.width=this.width*t,this.buffer.height=this.canvas.height=this.height*t,this.canvas.style.width=this.buffer.style.width=this.width+"px",this.canvas.style.height=this.buffer.style.height=this.height+"px",this.bc.scale(t,t),i&&!this.component.properties.useBitBlit&&this.gc.scale(t,t),this.bounds=new o.Rectangle(0,0,this.width,this.height),this.component.setBounds(this.bounds),this.resizeNotification(),this.paintNow()},resizeNotification:function(){this.dispatchNewEvent(void 0,"fin-canvas-resized",{width:this.width,height:this.height})},getBounds:function(){return this.bounds},paintNow:function(){var e=this.component.properties.useBitBlit,t=e?this.bc:this.gc;try{t.cache.save(),this.dirty=!1,this.component.paint(t)}catch(e){console.error(e)}finally{t.cache.restore()}e&&this.flushBuffer()},flushBuffer:function(){this.buffer.width>0&&this.buffer.height>0&&this.gc.drawImage(this.buffer,0,0)},newEvent:function(e,t,i){var n={detail:i||{}};return e&&(n.detail.primitiveEvent=e),new CustomEvent(t,n)},dispatchNewEvent:function(e,t,i){return this.canvas.dispatchEvent(this.newEvent(e,t,i))},dispatchNewMouseKeysEvent:function(e,t,i){return(i=i||{}).mouse=this.mouseLocation,m.call(this,e,"keys",i),this.dispatchNewEvent(e,t,i)},dispatchNewTouchEvent:function(e,t,i){i=i||{};var n=[].slice.call(e.changedTouches);return i.touches=n.map((function(e){return this.getLocal(e)}),this),this.dispatchNewEvent(e,t,i)},finmousemove:function(e){!this.isDragging()&&this.mousedown&&(this.beDragging(),this.dispatchNewMouseKeysEvent(e,"fin-canvas-dragstart",{isRightClick:this.isRightClick(e),dragstart:this.dragstart}),this.dragstart=new o.Point(this.mouseLocation.x,this.mouseLocation.y)),this.mouseLocation=this.getLocal(e),this.isDragging()&&this.dispatchNewMouseKeysEvent(e,"fin-canvas-drag",{dragstart:this.dragstart,isRightClick:this.isRightClick(e)}),this.bounds.contains(this.mouseLocation)&&this.dispatchNewMouseKeysEvent(e,"fin-canvas-mousemove")},finmousedown:function(e){this.mouseLocation=this.mouseDownLocation=this.getLocal(e),this.mousedown=!0,this.dispatchNewMouseKeysEvent(e,"fin-canvas-mousedown",{isRightClick:this.isRightClick(e)}),this.takeFocus()},finmouseup:function(e){this.mousedown&&(this.isDragging()&&(this.dispatchNewMouseKeysEvent(e,"fin-canvas-dragend",{dragstart:this.dragstart,isRightClick:this.isRightClick(e)}),this.beNotDragging(),this.dragEndtime=Date.now()),this.mousedown=!1,this.dispatchNewMouseKeysEvent(e,"fin-canvas-mouseup",{dragstart:this.dragstart,isRightClick:this.isRightClick(e)}))},finmouseout:function(e){this.mousedown||(this.mouseLocation=new o.Point(-1,-1)),this.repaint(),this.dispatchNewMouseKeysEvent(e,"fin-canvas-mouseout",{dragstart:this.dragstart})},finwheelmoved:function(e){!this.isDragging()&&this.hasFocus()&&(e.preventDefault(),this.dispatchNewMouseKeysEvent(e,"fin-canvas-wheelmoved",{isRightClick:this.isRightClick(e)}))},finclick:function(e){this.mouseLocation=this.getLocal(e),this.dispatchNewMouseKeysEvent(e,"fin-canvas-click",{isRightClick:this.isRightClick(e)})},findblclick:function(e){this.mouseLocation=this.getLocal(e),this.dispatchNewMouseKeysEvent(e,"fin-canvas-dblclick",{isRightClick:this.isRightClick(e)})},getCharMap:function(){return c},getKeyChar:function(e){var t=e.keyCode||e.detail.key,i=e.shiftKey||e.detail.shift,n=e.key;return e.legacyKey=c[t]&&c[t][i?1:0],"string"==typeof n&&1===n.length?n:e.legacyKey||n},finkeydown:function(e){if(this.hasFocus()){var t=p.call(this,e,!0);e.repeat?this.repeatKey===t?this.repeatKeyCount++:(this.repeatKey=t,this.repeatKeyStartTime=Date.now()):(this.repeatKey=null,this.repeatKeyCount=0,this.repeatKeyStartTime=0),this.dispatchNewEvent(e,"fin-canvas-keydown",m.call(this,e,"currentKeys",{alt:e.altKey,ctrl:e.ctrlKey,char:t,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,repeatCount:this.repeatKeyCount,repeatStartTime:this.repeatKeyStartTime,shift:e.shiftKey,identifier:e.key}))}},finkeyup:function(e){if(this.hasFocus()){var t=p.call(this,e,!1);this.repeatKeyCount=0,this.repeatKey=null,this.repeatKeyStartTime=0,this.dispatchNewEvent(e,"fin-canvas-keyup",m.call(this,e,"currentKeys",{alt:e.altKey,ctrl:e.ctrlKey,char:t,legacyChar:e.legacyKey,code:e.charCode,key:e.keyCode,meta:e.metaKey,repeat:e.repeat,shift:e.shiftKey,identifier:e.key,currentKeys:this.currentKeys.slice(0)}))}},finfocusgained:function(e){this.dispatchNewEvent(e,"fin-canvas-focus-gained")},finfocuslost:function(e){this.dispatchNewEvent(e,"fin-canvas-focus-lost")},fincontextmenu:function(e){e.ctrlKey&&-1===this.currentKeys.indexOf("CTRL")&&this.currentKeys.push("CTRL"),this.dispatchNewMouseKeysEvent(e,"fin-canvas-context-menu",{isRightClick:this.isRightClick(e)})},fintouchstart:function(e){this.dispatchNewTouchEvent(e,"fin-canvas-touchstart")},fintouchmove:function(e){this.dispatchNewTouchEvent(e,"fin-canvas-touchmove")},fintouchend:function(e){this.dispatchNewTouchEvent(e,"fin-canvas-touchend")},paintLoopRunning:function(){return!!n},requestRepaint:function(){this.dirty=!0},repaint:function(){this.requestRepaint(),n&&0!==this.component.properties.repaintIntervalRate||this.paintNow()},getMouseLocation:function(){return this.mouseLocation},getOrigin:function(){var e=this.canvas.getBoundingClientRect();return new o.Point(e.left,e.top)},getLocal:function(e){var t=this.canvas.getBoundingClientRect();return new o.Point(e.clientX-t.left,e.clientY-t.top)},hasFocus:function(){return document.activeElement===this.canvas},takeFocus:function(){var e=this;this.hasFocus()||setTimeout((function(){e.canvas.focus()}),10)},beDragging:function(){this.dragging=!0,this.disableDocumentElementSelection()},beNotDragging:function(){this.dragging=!1,this.enableDocumentElementSelection()},isDragging:function(){return this.dragging},disableDocumentElementSelection:function(){var e=document.body.style;e.cssText=e.cssText+"-webkit-user-select: none"},enableDocumentElementSelection:function(){var e=document.body.style;e.cssText=e.cssText.replace("-webkit-user-select: none","")},setFocusable:function(e){this.focuser.style.display=e?"":"none"},isRightClick:function(e){var t;return"which"in(e=e||window.event)?t=3===e.which:"button"in e&&(t=2===e.button),t},dispatchEvent:function(e){return this.canvas.dispatchEvent(e)},setInfo:function(e,t){e&&(void 0!==t&&(t&&!isNaN(Number(t))&&(t+="px"),this.infoDiv.style.width=t),e.indexOf("<")?this.infoDiv.innerHTML=e:this.infoDiv.innerText=e),this.infoDiv.style.display=e?"block":"none"}},d(),g(),u.graphicsContextAliases={simpleText:"fillText"},e.exports=u},function(e,t,i){var n=i(6),r=i(25),o=i(26),s=i(83),a=i(11).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=o?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},function(e,t,i){t.f=i(1)},function(e,t,i){e.exports=!i(9)&&!i(8)((function(){return 7!=Object.defineProperty(i(85)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,i){var n=i(15),r=i(6).document,o=n(r)&&n(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,t,i){var n=i(12),r=i(17),o=i(138)(!1),s=i(55)("IE_PROTO");e.exports=function(e,t){var i,a=r(e),l=0,c=[];for(i in a)i!=s&&n(a,i)&&c.push(i);for(;t.length>l;)n(a,i=t[l++])&&(~o(c,i)||c.push(i));return c}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,i){var n=i(7),r=i(141),o=i(56),s=i(55)("IE_PROTO"),a=function(){},l=function(){var e,t=i(85)("iframe"),n=o.length;for(t.style.display="none",i(142).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),l=e.F;n--;)delete l.prototype[o[n]];return l()};e.exports=Object.create||function(e,t){var i;return null!==e?(a.prototype=n(e),i=new a,a.prototype=null,i[s]=e):i=l(),void 0===t?i:r(i,t)}},function(e,t,i){var n=i(86),r=i(56).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return n(e,r)}},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t,i){"use strict";var n=i(152),r=i(7),o=i(153),s=i(92),a=i(54),l=i(93),c=i(60),u=i(8),h=Math.min,d=[].push,f=!u((function(){RegExp(4294967295,"y")}));i(94)("split",2,(function(e,t,i,u){var g;return g="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,t){var r=String(this);if(void 0===e&&0===t)return[];if(!n(e))return i.call(r,e,t);for(var o,s,a,l=[],u=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,f=void 0===t?4294967295:t>>>0,g=new RegExp(e.source,u+"g");(o=c.call(g,r))&&!((s=g.lastIndex)>h&&(l.push(r.slice(h,o.index)),o.length>1&&o.index<r.length&&d.apply(l,o.slice(1)),a=o[0].length,h=s,l.length>=f));)g.lastIndex===o.index&&g.lastIndex++;return h===r.length?!a&&g.test("")||l.push(""):l.push(r.slice(h)),l.length>f?l.slice(0,f):l}:"0".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:i.call(this,e,t)}:i,[function(i,n){var r=e(this),o=null==i?void 0:i[t];return void 0!==o?o.call(i,r,n):g.call(String(r),i,n)},function(e,t){var n=u(g,e,this,t,g!==i);if(n.done)return n.value;var c=r(e),d=String(this),p=o(c,RegExp),v=c.unicode,m=(c.ignoreCase?"i":"")+(c.multiline?"m":"")+(c.unicode?"u":"")+(f?"y":"g"),b=new p(f?c:"^(?:"+c.source+")",m),y=void 0===t?4294967295:t>>>0;if(0===y)return[];if(0===d.length)return null===l(b,d)?[d]:[];for(var C=0,w=0,x=[];w<d.length;){b.lastIndex=f?w:0;var S,_=l(b,f?d:d.slice(w));if(null===_||(S=h(a(b.lastIndex+(f?0:w)),d.length))===C)w=s(d,w,v);else{if(x.push(d.slice(C,w)),x.length===y)return x;for(var E=1;E<=_.length-1;E++)if(x.push(_[E]),x.length===y)return x;w=C=S}}return x.push(d.slice(C)),x}]}))},function(e,t,i){"use strict";var n=i(154)(!0);e.exports=function(e,t,i){return t+(i?n(e,t).length:1)}},function(e,t,i){"use strict";var n=i(155),r=RegExp.prototype.exec;e.exports=function(e,t){var i=e.exec;if("function"==typeof i){var o=i.call(e,t);if("object"!=typeof o)throw new TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==n(e))throw new TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,i){"use strict";i(156);var n=i(16),r=i(10),o=i(8),s=i(32),a=i(1),l=i(60),c=a("species"),u=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),h=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var i="ab".split(e);return 2===i.length&&"a"===i[0]&&"b"===i[1]}();e.exports=function(e,t,i){var d=a(e),f=!o((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),g=f?!o((function(){var t=!1,i=/a/;return i.exec=function(){return t=!0,null},"split"===e&&(i.constructor={},i.constructor[c]=function(){return i}),i[d](""),!t})):void 0;if(!f||!g||"replace"===e&&!u||"split"===e&&!h){var p=/./[d],v=i(s,d,""[e],(function(e,t,i,n,r){return t.exec===l?f&&!r?{done:!0,value:p.call(t,i,n)}:{done:!0,value:e.call(i,t,n)}:{done:!1}})),m=v[0],b=v[1];n(String.prototype,e,m),r(RegExp.prototype,d,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e){e.exports=JSON.parse('{"name":"faux-hypergrid","version":"3.2.4","description":"Canvas-based high-performance grid","main":"src/Hypergrid","repository":{"type":"git","url":"git://github.com/fin-hypergrid/core.git"},"author":"Steve Wirts (https://github.com/stevewirts)","contributors":["Jonathan Eiten (https://github.com/joneit)","Dwayne Jones (https://github.com/dwaynekj)","Naveen Michaud-Agrawal (https://github.com/nmichaud)","Hugo Nogueira (https://github.com/hugoeanogueira)"],"license":"MIT","readmeFilename":"README.md","gitHead":"","keywords":["spreadsheet","grid"],"dependencies":{"datasaur-base":"^3.0.0","datasaur-local":"^3.0.0","extend-me":"^2.7.0","finbars":"^2.0.0","inject-stylesheet-template":"^1.0.1","mustache":"^2.3.0","object-iterators":"1.3.0","overrider":"^0","rectangular":"1.0.1","sparse-boolean-array":"1.0.1","svg-themer":"^1.1.2","synonomous":"^2.1.2"},"devDependencies":{"gulp":"^3.9.0","gulp-concat":"^2.6.0","gulp-each":"^0.1.1","gulp-eslint":"^4.0.2","gulp-footer":"^1.1.1","gulp-header":"^1.8.2","gulp-imagine-64":"^2.0.1","gulp-load-plugins":"^1.1.0","gulp-mocha":"^6.0.0","run-sequence":"^1.1.4"}}')},function(e,t,i){"use strict";t.mixin={getFixedRowsHeight:function(){for(var e,t,i,n,r=this.subgrids,o=0,s=this.grid.properties,a="border-box"!==s.boxSizing,l=s.gridLinesHWidth,c=0;c<r.length&&!t;++c){for(n=(t=(e=r[c]).isData)?s.fixedRowCount:e.getRowCount(),i=0;i<n;++i)o+=this.getRowHeight(i,e),a&&(o+=l);t&&s.fixedLinesHWidth&&(o+=s.fixedLinesHWidth-l)}return o},getRowProperties:function(e,t,i){"object"==typeof e&&(i=e.subgrid,e=e.dataCell.y);var n=(i||this.dataModel).getRowMetadata(e,void 0===t?void 0:null);return n&&(n.__ROW||void 0!==t&&(n.__ROW=Object.create(t)))},setRowProperties:function(e,t,i){if(t){"object"==typeof e&&(i=e.subgrid,e=e.dataCell.y);var n=(i||this.dataModel).getRowMetadata(e,null);n&&(n.__ROW=Object.create(this.rowPropertiesPrototype),this.addRowProperties(e,t,i,n.__ROW),this.stateChanged())}},setRowProperty:function(e,t,i,n){var r,o="height"===t;void 0!==i?(r=this.getRowProperties(e,this.rowPropertiesPrototype,n))[t]=i:(r=this.getRowProperties(e,void 0,n))&&delete r[o?"_height":t],o?this.shapeChanged():this.stateChanged()},addRowProperties:function(e,t,i,n){var r,o;t&&((n=n||this.getRowProperties(e,this.rowPropertiesPrototype,i))&&(Object.keys(t).forEach((function(e){var i=t[e];void 0!==i?n[e]=i:(delete n[(r="height"===e)?"_height":e],o=o||r)})),o?this.shapeChanged():this.stateChanged()))},getRowHeight:function(e,t){var i=this.getRowProperties(e,void 0,t);return i&&i.height||this.grid.properties.defaultRowHeight},setRowHeight:function(e,t,i){this.setRowProperty(e,"height",t,i)}},t.rowPropertiesPrototypeDescriptors={height:{enumerable:!0,get:function(){return this._height||this.defaultRowHeight},set:function(e){e=Math.max(5,Math.ceil(e)),isNaN(e)&&(e=void 0),e!==this._height&&(e?Object.defineProperty(this,"_height",{value:e,configurable:!0}):delete this._height,this.grid.behaviorStateChanged())}}}},function(e,t,i){var n=i(40),r=i(195),o=i(196),s=i(197),a=i(198),l=i(199);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=a,c.prototype.set=l,e.exports=c},function(e,t,i){var n=i(42),r=i(24),o="[object AsyncFunction]",s="[object Function]",a="[object GeneratorFunction]",l="[object Proxy]";e.exports=function(e){if(!r(e))return!1;var t=n(e);return t==s||t==a||t==o||t==l}},function(e,t,i){(function(t){var i="object"==typeof t&&t&&t.Object===Object&&t;e.exports=i}).call(this,i(90))},function(e,t){var i=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return i.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,i){var n=i(206),r=i(213),o=i(215),s=i(216),a=i(217);function l(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=r,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},function(e,t,i){var n=i(218),r=i(221),o=i(222),s=1,a=2;e.exports=function(e,t,i,l,c,u){var h=i&s,d=e.length,f=t.length;if(d!=f&&!(h&&f>d))return!1;var g=u.get(e);if(g&&u.get(t))return g==t;var p=-1,v=!0,m=i&a?new n:void 0;for(u.set(e,t),u.set(t,e);++p<d;){var b=e[p],y=t[p];if(l)var C=h?l(y,b,p,t,e,u):l(b,y,p,e,t,u);if(void 0!==C){if(C)continue;v=!1;break}if(m){if(!r(t,(function(e,t){if(!o(m,t)&&(b===e||c(b,e,i,l,u)))return m.push(t)}))){v=!1;break}}else if(b!==y&&!c(b,y,i,l,u)){v=!1;break}}return u.delete(e),u.delete(t),v}},function(e,t,i){var n=i(4).Uint8Array;e.exports=n},function(e,t,i){var n=i(105),r=i(71),o=i(72);e.exports=function(e){return n(e,o,r)}},function(e,t,i){var n=i(106),r=i(46);e.exports=function(e,t,i){var o=t(e);return r(e)?o:n(o,i(e))}},function(e,t){e.exports=function(e,t){for(var i=-1,n=t.length,r=e.length;++i<n;)e[r+i]=t[i];return e}},function(e,t){e.exports=function(){return[]}},function(e,t,i){var n=i(228),r=i(229),o=i(46),s=i(73),a=i(232),l=i(109),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var i=o(e),u=!i&&r(e),h=!i&&!u&&s(e),d=!i&&!u&&!h&&l(e),f=i||u||h||d,g=f?n(e.length,String):[],p=g.length;for(var v in e)!t&&!c.call(e,v)||f&&("length"==v||h&&("offset"==v||"parent"==v)||d&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||a(v,p))||g.push(v);return g}},function(e,t,i){var n=i(233),r=i(74),o=i(75),s=o&&o.isTypedArray,a=s?r(s):n;e.exports=a},function(e,t){var i=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=i}},function(e,t){e.exports=function(e,t){return function(i){return e(t(i))}}},function(e,t,i){var n=i(98),r=i(110);e.exports=function(e){return null!=e&&r(e.length)&&!n(e)}},function(e,t,i){"use strict";var n,r=i(38),o=r.extend("CellRenderers",{BaseClass:i(5),initialize:function(){this.add(i(114)),this.add(i(240)),this.add(i(241)),this.add(i(242)),this.add(i(243)),this.add(i(244)),this.add(i(245)),this.add(i(246)),this.add(i(247)),this.add("emptycell",this.BaseClass)},add:function(e,t){return 1===arguments.length?(t=e,r.prototype.add.call(this,new t)):r.prototype.add.call(this,e,new t)},get:function(e){if(e.map)return e.map((function(e){return r.prototype.get.call(this,e)}),this);var t=r.prototype.get.call(this,e);return t===this.items.emptycell&&(n||(console.warn('grid.cellRenderers.get("'+e+'").constructor has been deprecated as of v2.1.0 in favor of grid.cellRenderers.BaseClass property. (Will be removed in a future release.)'),n=!0),this.BaseClass.constructor=this.BaseClass),t}});e.exports=new o},function(e,t,i){"use strict";var n=i(5).extend("Button",{paint:function(e,t){var i=t.value,n=t.bounds,r=n.x+1,o=n.y+1,s=n.width-2,a=n.height-2,l=a/2,c=e.createLinearGradient(r,o,r,o+a);"border-box"===t.boxSizing&&(s-=t.gridLinesVWidth,a-=t.gridLinesHWidth),t.mouseDown?(c.addColorStop(0,"#B5CBED"),c.addColorStop(1,"#4d74ea")):(c.addColorStop(0,"#ffffff"),c.addColorStop(1,"#aaaaaa")),e.cache.fillStyle=t.backgroundColor,e.fillRect(n.x,n.y,n.width,n.height),e.cache.fillStyle=c,e.cache.strokeStyle="#000000",this.roundRect(e,r,o,s,a,l,c,!0);var u=(s-e.getTextWidth(i))/2,h=(a-e.getTextHeight(e.cache.font).descent)/2;e.cache.textBaseline="middle",e.cache.fillStyle="#333333",e.cache.font=a-2+"px sans-serif",t.backgroundColor="rgba(0,0,0,0)",e.fillText(i,r+u,o+h)}});e.exports=n},function(e,t,i){var n=i(116),r=i(69),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,i){var s=e[t];o.call(e,t)&&r(s,i)&&(void 0!==i||t in e)||n(e,t,i)}},function(e,t,i){var n=i(251);e.exports=function(e,t,i){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[t]=i}},function(e,t,i){var n=i(108),r=i(254),o=i(112);e.exports=function(e){return o(e)?n(e,!0):r(e)}},function(e,t,i){var n=i(106),r=i(119),o=i(71),s=i(107),a=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,o(e)),e=r(e);return t}:s;e.exports=a},function(e,t,i){var n=i(111)(Object.getPrototypeOf,Object);e.exports=n},function(e,t,i){"use strict";i(273);var n=i(7),r=i(61),o=i(9),s=/./.toString,a=function(e){i(16)(RegExp.prototype,"toString",e,!0)};i(8)((function(){return"/a/b"!=s.call({source:"a",flags:"b"})}))?a((function(){var e=n(this);return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?r.call(e):void 0)})):"toString"!=s.name&&a((function(){return s.call(this)}))},function(e,t,i){"use strict";var n,r={theme:{enumerable:!0,get:function(){return this.grid.getTheme()},set:function(e){this.grid.applyTheme(e)}},wheelHFactor:{enumerable:!0,get:function(){return this.grid.sbHScroller.deltaXFactor},set:function(e){this.grid.sbHScroller.deltaXFactor=e}},wheelVFactor:{enumerable:!0,get:function(){return this.grid.sbVScroller.deltaYFactor},set:function(e){this.grid.sbVScroller.deltaYFactor=e}},subgrids:{enumerable:!0,get:function(){return this.var.subgrids},set:function(e){this.var.subgrids=e.slice(),this.grid.behavior&&(this.grid.behavior.subgrids=e)}},features:{enumerable:!0,get:function(){return this.var.features},set:function(e){this.var.features=e.slice(),this.grid.behavior&&(this.grid.behavior.initializeFeatureChain(e),this.grid.allowEvents(this.grid.getRowCount()))}},gridRenderer:{enumerable:!0,get:function(){return this.var.gridRenderer},set:function(e){this.var.gridRenderer=e,this.grid.renderer.setGridRenderer(e)}},columnIndexes:{enumerable:!0,get:function(){return this.grid.behavior.getActiveColumns().map((function(e){return e.index}))},set:function(e){this.grid.behavior.setColumnOrder(e),this.grid.behavior.changed()}},columnNames:{enumerable:!0,get:function(){return this.grid.behavior.getActiveColumns().map((function(e){return e.name}))},set:function(e){this.grid.behavior.setColumnOrderByName(e),this.grid.behavior.changed()}},rows:{enumerable:!0,get:function(){var e={},t=this.grid.behavior,i=this.grid.properties.defaultRowHeight;return t.subgrids.forEach((function(n){for(var r=n.name||n.type,o=0,s=n.getRowCount();o<s;++o){var a=t.getRowProperties(o,void 0,n);if(a){var l={height:a.height};if(l.height===i&&(l=void 0),a=Object.assign({},a,l),Object.getOwnPropertyNames(a).find(c))(e[r]||(e[r]={}))[o]=a}}function c(e){return void 0!==a[e]}})),e},set:function(e){e&&(o.call(this,e),this.grid.behavior.changed())}},columns:{enumerable:!0,get:function(){var e=this.grid.behavior.getColumns(),t=this.grid.headerify;return e.reduce((function(e,i){var n=Object.keys(i.properties).reduce((function(e,n){switch(n){case"preferredWidth":break;case"header":if(t&&i.properties.header===t(i.properties.name))break;default:e[n]=i.properties[n]}return e}),{});return Object.keys(n).length&&(e[i.name]=n),e}),{})},set:function(e){e&&(s.call(this,e),this.grid.behavior.changed())}},cells:{enumerable:!0,get:function(){var e=this.grid.behavior,t=e.getColumns(),i={};return e.subgrids.forEach((function(n){for(var r=n.name||n.type,o=0,s=n.getRowCount();o<s;++o)t.forEach(a);function a(t){var s=e.getCellOwnProperties(t.index,o,n);if(s){var a=i[r]=i[r]||{};(a[o]=a[o]={})[t.name]=Object.assign({},s)}}})),i},set:function(e){e&&(a.call(this,e),this.grid.behavior.changed())}},rowHeaderCheckboxes:{enumerable:!0,get:function(){return this.var.rowHeaderCheckboxes},set:function(e){this.var.rowHeaderCheckboxes=e,this.grid.renderer.resetRowHeaderColumnWidth()}},rowHeaderNumbers:{enumerable:!0,get:function(){return this.var.rowHeaderNumbers},set:function(e){this.var.rowHeaderNumbers=e,this.grid.renderer.resetRowHeaderColumnWidth()}},showRowNumbers:{enumerable:!1,get:function(){return this.rowHeaderCheckboxes||this.rowHeaderNumbers},set:function(e){this.rowHeaderCheckboxes=this.rowHeaderNumbers=e}},doubleClickDelay:{enumerable:!0,get:function(){return this.var.doubleClickDelay},set:function(e){n||(n=!0,console.warn("The doubleClickDelay property has been deprecated as of v2.1.0. Setting this property no longer has any effect. Set double-click speed in your system's mouse preferences. (This warning will be removed in a future release.)")),this.var.doubleClickDelay=e}},lineColor:{get:function(){return this.gridLinesHColor},set:function(e){this.gridLinesHColor=this.gridLinesVColor=e}},lineWidth:{get:function(){return this.gridLinesHWidth},set:function(e){this.gridLinesHWidth=this.gridLinesVWidth=e}},gridBorder:l(),gridBorderLeft:l("Left"),gridBorderRight:l("Right"),gridBorderTop:l("Top"),gridBorderBottom:l("Bottom")};function o(e){var t=this.grid.behavior,i=this.settingState?"setRowProperties":"addRowProperties";Object.keys(e).forEach((function(n){var r=t.subgrids.lookup[n];if(r){var o=e[n];Object.keys(o).forEach((function(e){var n=o[e];t[i](e,n,r)}))}}))}function s(e){this.grid.behavior.addAllColumnProperties(e,this.settingState)}function a(e){var t=this.grid.behavior.subgrids,i=this.grid.behavior.getColumns(),n=this.settingState?"setCellProperties":"addCellProperties";Object.keys(e).forEach((function(r){var o=t.lookup[r];if(o){var s=e[r];Object.keys(s).forEach((function(e){var t=s[e];Object.keys(t).forEach((function(r){var s=t[r];if(s){var a=i.find((function(e){return e.name===r}));a&&a[n](e,s,o)}}))}))}}))}function l(e){var t="gridBorder"+(e||"");return{enumerable:!0,get:function(){return this.var[t]},set:function(i){this.var[t]=i,e||(this.var.gridBorderLeft=this.var.gridBorderRight=this.var.gridBorderTop=this.var.gridBorderBottom=i),this.grid.resetGridBorder(e)}}}r.columnProperties=r.columns,e.exports=r},function(e,t,i){"use strict";var n=i(2).Rectangle;function r(e,t,i,r){n.call(this,e,t,i-1,r-1)}r.prototype=Object.create(n.prototype,{width:{get:function(){return this.extent.x+1}},height:{get:function(){return this.extent.y+1}}}),e.exports=r},function(e,t,i){"use strict";var n=i(79),r=i(124);function o(e){var t,i,o,s,a,l,c,u,h,d,f,g=this.grid.properties.backgroundColor,p=this.visibleColumns,v=this.visibleRows,m=p.length,b=m-1,y=v.length,C=this.cellEventPool,w=m?p[m-1].right:0,x=y?v[y-1].bottom:0;if(e.clearRect(0,0,this.bounds.width,this.bounds.height),m&&y){if(e.alpha(g)>0&&(e.cache.fillStyle=g,e.fillRect(0,0,w,x)),this.gridRenderer.reset?(this.resetAllGridRenderers(),this.gridRenderer.reset=!1,r.call(this,!1),n.call(this,!0)):this.gridRenderer.rebundle&&(this.gridRenderer.rebundle=!1,n.call(this)),(a=this.rowBundles).length)for(i=this.rowPrefillColors,h=a.length;h--;)s=a[h],e.clearFill(0,s.top,w,s.bottom-s.top,s.backgroundColor);else for(u=(c=this.columnBundles).length;u--;)l=c[u],e.clearFill(l.left,0,l.right-l.left,x,l.backgroundColor);var S=0;this.visibleColumns.forEachWithNeg((function(n,r){for(n=(o=C[S]).visibleColumn,i||(t=o.column.properties.backgroundColor),f=n.column.properties.columnClip,e.clipSave(f||null===f&&r===b,0,0,n.right,x),d=h=0;h<y;h++,S++){i&&(t=i[h]);try{d=Math.max(d,this._paintCell(e,C[S],t))}catch(t){this.renderErrorCell(t,e,n,C[S].visibleRow)}}e.clipRestore(f),o.column.properties.preferredWidth=Math.round(d)}),this),this.paintGridlines(e)}}o.key="by-columns-and-rows",o.rebundle=!0,e.exports=o},function(e,t,i){"use strict";e.exports=function(e){var t,i,n,r,o=this.grid.properties,s=this.visibleRows,a=s.length;if(e)for(r=this.cellEventPool,n=0,i=0;i<a;i++)t=s[i],this.visibleColumns.forEachWithNeg((function(e){n++,r[n].reset(e,t)}));var l,c,u,h=[],d=o.backgroundColor,f=o.rowStripes,g=Array(a);for(i=0;i<a;i++)c=(t=s[i]).subgrid.isData&&f&&f[t.rowIndex%f.length],u=g[i]=c&&c.backgroundColor||d,l&&l.backgroundColor===u?l.bottom=t.bottom:u===d?l=void 0:(l={backgroundColor:u,top:t.top,bottom:t.bottom},h.push(l));this.rowBundles=h,this.rowPrefillColors=g}},function(e,t,i){"use strict";(function(e){(function(e){function t(){this.selection=[],this.states=[],this.storeState=function(){for(var e,t=this.selection,i=[],n=0;n<t.length;n++)e=[].concat(t[n]),i.push(e);this.states.push(i)}}function i(e,t){return e instanceof Array?i.apply(this,e):void 0===t?[e,e]:e<=t?[e,t]:[t,e]}function n(e,t){return e[0]<=t[0]&&t[0]<=e[1]||e[0]<=t[1]&&t[1]<=e[1]||t[0]<e[0]&&e[1]<t[1]}t.prototype={select:function(e,t){this.storeState();var r=i(e,t),o=[0,1];return this.selection.forEach((function(e){var t,i;n(e,r)||(i=r,(t=e)[1]===i[0]-1||i[1]===t[0]-1)?r=function(e,t){var i=Math.min(Math.min.apply(Math,e),Math.min.apply(Math,t)),n=Math.max(Math.max.apply(Math,e),Math.max.apply(Math,t));return[i,n]}(e,r):o.push(e)})),o.push(r),o[1]=this.selection.length,this.selection.splice.apply(this.selection,o),this},deselect:function(e,t){var r=i(e,t),o=[0,0];return this.selection.forEach((function(e){if(n(e,r)){var t=function(e,t){var i=e[0],n=e[1],r=t[0],o=t[1],s=[];r<=i&&o<n?s.push([o+1,n]):r>i&&o>=n?s.push([i,r-1]):i<r&&o<n?(s.push([i,r-1]),s.push([o+1,n])):(o<i||r>n)&&s.push(e);return s}(e,r);o=o.concat(t)}else o.push(e)})),o[1]=this.selection.length,this.selection.splice.apply(this.selection,o),this},clear:function(){return this.states.length=0,this.selection.length=0,this},clearMostRecentSelection:function(){0!==this.states.length&&(this.selection=this.states.pop())},isSelected:function(e){return this.selection.some((function(t){return t[0]<=e&&e<=t[1]}))},isEmpty:function(){return 0===this.selection.length},getSelections:function(){var e=[];return this.selection.forEach((function(t){for(var i=t[0];i<=t[1];i++)e.push(i)})),e.sort((function(e,t){return e-t})),e}},e.exports=t})(e||(window.RangeSelectionModel={}),e.exports||(window.RangeSelectionModel.exports={}))}).call(this,i(21)(e))},function(e,t,i){"use strict";var n=i(37),r=i(67),o={};function s(e,t){o[e]||(console.warn("."+e+" has been deprecated as of v3.0.0. (Will be removed in a future release.) "+(t||"")),o[e]=!0)}t.mixin={columnEnumSynchronize:function(){this._columnEnumKey=this._columnEnumKey||"toAllCaps";var e=this._columnEnum||(this._columnEnum={}),t=this.allColumns,i=new n({transformations:[this._columnEnumKey]}).decorateArray(t.slice());i.length=0,Object.keys(i).reduce((function(e,t){return e[t]=i[t].index,e}),e),Object.keys(e).forEach((function(t){t in i||delete e[t]}))},get columnEnum(){return o.columnEnum||(console.warn(".columnEnum[propName] has been deprecated as of v3.0.0 in favor of either .getColumns()[propName].index or .schema[propName].index. (Will be removed in a future release.)"),o.columnEnum=!0),this._columnEnum},get columnEnumKey(){return s("columnEnumKey"),"verbatim"===this._columnEnumKey?"passThrough":this._columnEnumKey},set columnEnumKey(e){s("columnEnumKey");var t=typeof e,i=Object.keys(r);switch(t){case"string":if("passThrough"===e)e="verbatim";else if(!(e in r))throw new this.HypergridError("Expected registered transformer for .columnEnumKey value from: "+i);this._columnEnumKey=e;break;case"function":if(this._columnEnumKey=i.find((function(t){return e===r[t]})),!this._columnEnumKey)throw new this.HypergridError('.columnEnumKey has been deprecated as of v3.0.0 and now accepts a function reference (or string key) from require("synonmous/transformers"): '+i);break;default:throw new this.HypergridError("Expected string or function for .columnEnumKey assignment but received "+t+".")}}},t.mixInShared={get columnEnumDecorators(){return s("columnEnumDecorators"),r}}},function(e,t,i){"use strict";e.exports={Scrollbar:i(128),templater:i(300)},Object.defineProperties(e.exports,{"datasaur-base":{value:i(39)},"datasaur-local":{value:i(80)},"extend-me":{value:i(63)},finbars:{value:i(128)},"object-iterators":{value:i(36)},overrider:{value:i(35)},rectangular:{value:i(2)},"sparse-boolean-array":{value:i(125)},synonomous:{value:i(37)}})},function(e,t,i){"use strict";var n=i(299),r="position: absolute;",o="position: absolute;";function s(e){var t=this._bound={};Object.keys(l).forEach((function(e){t[e]=l[e].bind(this)}),this);var i=this.thumb=document.createElement("div");i.classList.add("thumb"),i.setAttribute("style",o),i.onclick=t.shortStop,i.onmouseover=t.onmouseover,i.onmouseout=this._bound.onmouseout;var u,h,d,f,g=this.bar=document.createElement("div");g.classList.add("finbar-vertical"),g.setAttribute("style",r),g.onmousedown=this._bound.onmousedown,this.paging&&(g.onclick=t.onclick),g.appendChild(i),e=e||{},this.orientation="vertical",this._min=this._index=0,this._max=100,this.normal=(u=window.navigator,h=u.userAgent,d=u.platform.substr(0,3).toLowerCase(),f=/Edge/.test(h)?"edge":/Opera|OPR|Chrome|Safari/.test(h)?"webkit":/Firefox/.test(h)?"moz":document.documentMode?"ms":void 0,(s.normals[d]||{})[f]||1),Object.keys(e).forEach((function(t){var i=e[t];if(void 0!==i)switch(t){case"index":this._index=i;break;case"range":a(i),this._min=i.min,this._max=i.max,this.contentSize=i.max-i.min+1;break;default:"_"!==t.charAt(0)&&"function"!=typeof s.prototype[t]&&(this[t]=i)}}),this),n(c,"finbar-base",e.cssStylesheetReferenceElement)}function a(e){2===Object.keys(e).length&&"number"==typeof e.min&&"number"==typeof e.max&&e.min<=e.max||d("Invalid .range object.")}s.prototype={set orientation(e){e!==this._orientation&&(this._orientation=e,this.oh=u[this._orientation],this.oh||d("Invalid value for `options._orientation."),this.deltaProp=this.oh.delta,this.bar.className=this.bar.className.replace(/(vertical|horizontal)/g,e),this.bar.style.cssText===r&&this.thumb.style.cssText===o||(this.bar.setAttribute("style",r),this.thumb.setAttribute("style",o),this.resize()))},get orientation(){return this._orientation},onchange:null,set classPrefix(e){this._classPrefix&&this.bar.classList.remove(this._classPrefix+this.orientation),this._classPrefix=e,e&&this.bar.classList.add(e+"-"+this.orientation)},get classPrefix(){return this._classPrefix},increment:1,deltaXFactor:1,deltaYFactor:1,deltaZFactor:1,barStyles:null,set style(e){var t=Object.keys(e=function(e){for(var t=1;t<arguments.length;++t){var i=arguments[t];if(i)for(var n in i)e[n]=i[n]}return e}({},e,this._auxStyles));if(t.length){var i=this.bar,n=i.getBoundingClientRect(),o=(this.container||i.parentElement).getBoundingClientRect(),s=this.oh;i.setAttribute("style",r),t.forEach((function(t){var r=e[t];if(t in s&&(t=s[t]),isNaN(Number(r))){if(/%$/.test(r)){var a=h[t],l=n[a.marginLeading]+n[a.marginTrailing];l&&(r=parseInt(r,10)/100*o[a.size]-l+"px")}}else r=(r||0)+"px";i.style[t]=r}))}},paging:!0,set range(e){a(e),this._min=e.min,this._max=e.max,this.contentSize=e.max-e.min+1,this.index=this.index},get range(){return{min:this._min,max:this._max}},set index(e){e=Math.min(this._max,Math.max(this._min,e)),this._setScroll(e)},get index(){return this._index},_setScroll:function(e,t){this._index=e,this.testPanelItem&&this.testPanelItem.index instanceof Element&&(this.testPanelItem.index.innerHTML=Math.round(e)),this.onchange&&this.onchange.call(this,Math.round(e)),void 0===t&&(t=(e-this._min)/(this._max-this._min)*this._thumbMax),this.thumb.style[this.oh.leading]=t+"px"},scrollRealContent:function(e){var t=this.content.parentElement.getBoundingClientRect(),i=this.oh.size,n=Math.max(0,this.content[i]-t[i]),r=(e-this._min)/(this._max-this._min)*n;this.content.style[this.oh.leading]=-r+"px"},resize:function(e,t){var i=this.bar;if(i.parentNode){var n=this.container||i.parentElement,r=n.getBoundingClientRect();"object"==typeof e&&(t=e,e=void 0),this.style=this.barStyles=t||this.barStyles,this.content&&(this.onchange||(this.onchange=this.scrollRealContent,this.contentSize=this.content[this.oh.size],this._min=0,this._max=this.contentSize-1)),this.onchange===this.scrollRealContent?(this.containerSize=r[this.oh.size],this.increment=this.containerSize/(this.contentSize-this.containerSize)*(this._max-this._min)):(this.containerSize=1,this.increment=e||this.increment);var o=this.index;return this.testPanelItem=this.testPanelItem||this._addTestPanelItem(),this._setThumbSize(),this.index=o,null!==this.deltaProp&&n.addEventListener("wheel",this._bound.onwheel),this}},shortenBy:function(e){return this.shortenEndBy("trailing",e)},foreshortenBy:function(e){return this.shortenEndBy("leading",e)},shortenEndBy:function(e,t){if(t){if(t instanceof s&&t.orientation!==this.orientation){var i=window.getComputedStyle(t.bar),n=u[t.orientation];this._auxStyles={},this._auxStyles[e]=i[n.thickness]}}else delete this._auxStyles;return this},_setThumbSize:function(){var e=this.oh,t=window.getComputedStyle(this.thumb),i=parseInt(t[e.marginLeading]),n=i+parseInt(t[e.marginTrailing]),r=this.bar.getBoundingClientRect()[e.size],o=Math.max(20,r*this.containerSize/this.contentSize);this.containerSize<this.contentSize?(this.bar.style.visibility="visible",this.thumb.style[e.size]=o+"px"):this.bar.style.visibility="hidden",this._thumbMax=r-o-n,this._thumbMarginLeading=i},remove:function(){this.bar.onmousedown=null,this._removeEvt("mousemove"),this._removeEvt("mouseup"),(this.container||this.bar.parentElement)._removeEvt("wheel"),this.bar.onclick=this.thumb.onclick=this.thumb.onmouseover=this.thumb.transitionend=this.thumb.onmouseout=null,this.bar.remove()},_addTestPanelItem:function(){var e,t=document.querySelector("."+this._classPrefix+".test-panel")||document.querySelector(".test-panel");if(t){var i=["mousedown","mousemove","mouseup","index"],n=document.createElement("li");i.forEach((function(e){n.innerHTML+='<span class="'+e+'">'+e.replace("mouse","")+"</span>"})),t.appendChild(n),e={},i.forEach((function(t){e[t]=n.getElementsByClassName(t)[0]}))}return e},_addEvt:function(e){var t=this.testPanelItem&&this.testPanelItem[e];t&&t.classList.add("listening"),window.addEventListener(e,this._bound["on"+e])},_removeEvt:function(e){var t=this.testPanelItem&&this.testPanelItem[e];t&&t.classList.remove("listening"),window.removeEventListener(e,this._bound["on"+e])}};var l={shortStop:function(e){e.stopPropagation()},onwheel:function(e){this.index+=e[this.deltaProp]*this[this.deltaProp+"Factor"]*this.normal,e.stopPropagation(),e.preventDefault()},onclick:function(e){var t=this.thumb.getBoundingClientRect(),i=e[this.oh.coordinate]<t[this.oh.leading];"object"==typeof this.paging?this.index=this.paging[i?"up":"down"](Math.round(this.index)):this.index+=i?-this.increment:this.increment,this.thumb.classList.add("hover");var n=this;this.thumb.addEventListener("transitionend",(function t(){this.removeEventListener("transitionend",t),n._bound.onmouseup(e)})),e.stopPropagation()},onmouseover:function(){this.thumb.classList.add("hover")},onmouseout:function(){this.dragging||this.thumb.classList.remove("hover")},onmousedown:function(e){var t=this.thumb.getBoundingClientRect();this.pinOffset=e[this.oh.axis]-t[this.oh.leading]+this.bar.getBoundingClientRect()[this.oh.leading]+this._thumbMarginLeading,document.documentElement.style.cursor="default",this.dragging=!0,this._addEvt("mousemove"),this._addEvt("mouseup"),e.stopPropagation(),e.preventDefault()},onmousemove:function(e){if(1&e.buttons){var t=Math.min(this._thumbMax,Math.max(0,e[this.oh.axis]-this.pinOffset)),i=t/this._thumbMax*(this._max-this._min)+this._min;this._setScroll(i,t),e.stopPropagation(),e.preventDefault()}else window.dispatchEvent(new MouseEvent("mouseup",e))},onmouseup:function(e){this._removeEvt("mousemove"),this._removeEvt("mouseup"),this.dragging=!1,document.documentElement.style.cursor="auto";var t=this.thumb.getBoundingClientRect();t.left<=e.clientX&&e.clientX<=t.right&&t.top<=e.clientY&&e.clientY<=t.bottom?this._bound.onmouseover(e):this._bound.onmouseout(e),e.stopPropagation(),e.preventDefault()}};s.normals={mac:{webkit:1,moz:35},win:{webkit:2.6,moz:85,ms:2.9,edge:2}};var c,u={vertical:{coordinate:"clientY",axis:"pageY",size:"height",outside:"right",inside:"left",leading:"top",trailing:"bottom",marginLeading:"marginTop",marginTrailing:"marginBottom",thickness:"width",delta:"deltaY"},horizontal:{coordinate:"clientX",axis:"pageX",size:"width",outside:"bottom",inside:"top",leading:"left",trailing:"right",marginLeading:"marginLeft",marginTrailing:"marginRight",thickness:"height",delta:"deltaX"}},h={top:"vertical",bottom:"vertical",height:"vertical",left:"horizontal",right:"horizontal",width:"horizontal"};function d(e){throw"finbars: "+e}c="div.finbar-horizontal,div.finbar-vertical{margin:3px}div.finbar-horizontal>.thumb,div.finbar-vertical>.thumb{background-color:#d3d3d3;-webkit-box-shadow:0 0 1px #000;-moz-box-shadow:0 0 1px #000;box-shadow:0 0 1px #000;border-radius:4px;margin:2px;opacity:.4;transition:opacity .5s}div.finbar-horizontal>.thumb.hover,div.finbar-vertical>.thumb.hover{opacity:1;transition:opacity .5s}div.finbar-vertical{top:0;bottom:0;right:0;width:11px}div.finbar-vertical>.thumb{top:0;right:0;width:7px}div.finbar-horizontal{left:0;right:0;bottom:0;height:11px}div.finbar-horizontal>.thumb{left:0;bottom:0;height:7px}",e.exports=s},function(e,t,i){"use strict";var n=i(36),r=i(78),o=i(121),s=i(22),a=i(23),l=["BackgroundColor","Color","Font"],c=l.concat(["Halign"]),u=[{prefix:"",props:c.concat(["cellPadding","iconPadding"])},{prefix:"foregroundSelection",props:l},{prefix:"columnHeader",props:c},{prefix:"columnHeaderForegroundSelection",props:l},{prefix:"rowHeader",props:l},{prefix:"rowHeaderForegroundSelection",props:l}],h={rowHeaderCheckboxes:r.rowHeaderCheckboxes,rowHeaderNumbers:r.rowHeaderNumbers,gridBorder:r.gridBorder,gridBorderTop:r.gridBorderTop,gridBorderRight:r.gridBorderRight,gridBorderBottom:r.gridBorderBottom,gridBorderLeft:r.gridBorderLeft,gridRenderer:r.gridRenderer},d=Object.assign({},h,{themeName:r.themeName});u.reduce((function(e,t){return t.props.reduce((function(e,i){return e[i=(i=(i=t.prefix+i).replace("ForegroundSelectionBackground","BackgroundSelection"))[0].toLowerCase()+i.substr(1)]=r[i],e}),e)}),d);var f=Object.create(null,{default:{value:d}});function g(e){var t,i,n,a;if(e&&"object"==typeof e&&!Object.getOwnPropertyNames(e).length&&(e=null),this._theme?(i=[this],t=this._theme,n=this.properties,e||(Object.keys(t).forEach((function(e){e in o||delete n[e]})),Object.keys(h).forEach((function(e){n.var[e]=r[e]}))),Object.keys(t).forEach((function(e){delete t[e]}))):(i=this.grids,t=r,e=e||"default"),"object"==typeof e)a=e;else{if(!f[e])throw new s('Unknown theme "'+e+'"');a=f[e]}return a&&(a.themeName||(a.themeName=void 0),Object.keys(a).forEach((function(e){if(e in o)if(e in h)i.forEach((function(t){t.properties[e]=a[e]}));else switch(e){case"lineColor":a.gridLinesHColor=a.gridLinesVColor=a[e];break;default:console.warn("Ignoring unexpected dynamic property "+e+" from theme object.")}})),Object.defineProperties(t,Object.getOwnPropertyDescriptors(a))),i.forEach((function(e){e.repaint()})),a}var p={initThemeLayer:function(){return this._theme=Object.create(r),Object.create(this._theme,o)},applyTheme:g,getTheme:function(){var e=this._theme,t=e.themeName;return"default"!==t&&Object.getOwnPropertyNames(e).length?t in f?t:e:void 0}};Object.defineProperty(p,"theme",{enumerable:!0,set:g,get:p.getTheme});var v={registerTheme:function(e,t){if("object"==typeof e&&(e=(t=e).themeName),!e)throw new s("Cannot register an anonymous theme.");if("default"===e)throw new s('Cannot register or unregister the "default" theme.');t?(t.themeName=e,f[e]=t):delete f[e]},registerThemes:function(e){e?n(e).each((function(e,t){this.registerTheme(t,e)}),this):Object.keys(f).forEach((function(e){this.registerTheme(e)}),this)},applyTheme:function(e){var t=g.call(this,e);a.setTheme(t)}};Object.defineProperty(v,"theme",{enumerable:!0,set:v.applyTheme,get:function(){return r}}),e.exports={mixin:p,sharedMixin:v}},function(module,exports,__webpack_require__){var t;window,t=function(__WEBPACK_EXTERNAL_MODULE__1__,__WEBPACK_EXTERNAL_MODULE__2__,__WEBPACK_EXTERNAL_MODULE__3__,__WEBPACK_EXTERNAL_MODULE__4__,__WEBPACK_EXTERNAL_MODULE__6__,__WEBPACK_EXTERNAL_MODULE__7__,__WEBPACK_EXTERNAL_MODULE__8__,__WEBPACK_EXTERNAL_MODULE__9__,__WEBPACK_EXTERNAL_MODULE__10__,__WEBPACK_EXTERNAL_MODULE__11__,__WEBPACK_EXTERNAL_MODULE__12__,__WEBPACK_EXTERNAL_MODULE__13__,__WEBPACK_EXTERNAL_MODULE__14__,__WEBPACK_EXTERNAL_MODULE__15__,__WEBPACK_EXTERNAL_MODULE__16__,__WEBPACK_EXTERNAL_MODULE__18__,__WEBPACK_EXTERNAL_MODULE__20__,__WEBPACK_EXTERNAL_MODULE__21__,__WEBPACK_EXTERNAL_MODULE__29__,__WEBPACK_EXTERNAL_MODULE__30__,__WEBPACK_EXTERNAL_MODULE__31__,__WEBPACK_EXTERNAL_MODULE__32__,__WEBPACK_EXTERNAL_MODULE__34__){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=27)}([function(e,t,i){"use strict";i.d(t,"d",(function(){return l})),i.d(t,"a",(function(){return c})),i.d(t,"c",(function(){return f})),i.d(t,"b",(function(){return g}));var n=i(2),r=i(10),o=i.n(r);const s=new n.PropsBuilder,a="--hypergrid";function l(e){return s.get_properties(e)}function c(e){return s.clear_properties(e)}s.add_fonts({font:a,columnHeaderFont:"".concat(a,"-header"),columnHeaderForegroundSelectionFont:"".concat(a,"-header"),foregroundSelectionFont:"".concat(a,"-header"),rowHeaderFont:a,treeHeaderFont:a}),s.add_styles({treeHeaderBackgroundColor:"".concat(a,"-tree-header--background"),backgroundColor:"".concat(a,"--background"),treeHeaderColor:"".concat(a,"-tree-header--color"),treeHeaderForegroundSelectionColor:"".concat(a,"-tree-header-selection--color"),treeHeaderBackgroundSelectionColor:"".concat(a,"-tree-header-selection--background"),backgroundSelectionColor:"".concat(a,"-selection--background"),foregroundSelectionColor:["".concat(a,"--color"),"color"],borderBottom:"".concat(a,"--border-bottom-color"),borderRight:"".concat(a,"--border-right-color"),borderBottomPositive:"".concat(a,"-positive--border-bottom-color"),borderBottomNegative:"".concat(a,"-negative--border-bottom-color"),borderRightPositive:"".concat(a,"-positive--border-right-color"),borderRightNegative:"".concat(a,"-negative--border-right-color"),color:["".concat(a,"--color"),"color"],columnHeaderBackgroundColor:"".concat(a,"-header--background"),columnHeaderSeparatorColor:"".concat(a,"-separator--color"),columnHeaderColor:"".concat(a,"-header--color"),columnHeaderForegroundSelectionColor:"".concat(a,"-header--color"),columnColorNumberPositive:"".concat(a,"-positive--color"),columnColorNumberNegative:"".concat(a,"-negative--color"),columnBackgroundColorNumberPositive:"".concat(a,"-positive--background"),columnBackgroundColorNumberNegative:"".concat(a,"-negative--background"),selectionRegionOverlayColor:"".concat(a,"-editor--background"),selectionRegionOutlineColor:"".concat(a,"-editor--border-color"),gridLinesVColor:"".concat(a,"-gridline--color"),gridLinesHColor:"".concat(a,"-gridline--color"),lineColor:"".concat(a,"-gridline--color"),fixedLinesVColor:"".concat(a,"-gridline--color"),fixedLinesHColor:"".concat(a,"-gridline--color"),halign:"".concat(a,"--text-align"),columnHeaderHalign:"".concat(a,"--text-align"),hoverCellHighlight:{enabled:!0,backgroundColor:"".concat(a,"-cell-hover--background"),color:"".concat(a,"-cell-hover--color")}}),s.add_measures({defaultRowHeight:"".concat(a,"-row--height"),groupedHeader:{flatHeight:"".concat(a,"-row--height")},width:"".concat(a,"--width"),minimumColumnWidth:"".concat(a,"--min-width"),maximumColumnWidth:"".concat(a,"--max-width")}),s.add_styles({hoverRowHighlight:{enabled:!0,backgroundColor:"".concat(a,"-row-hover--background"),color:"".concat(a,"-row-hover--color")}});const u={autoSelectRows:!1,cellPadding:5,cellSelection:!1,columnSelection:!1,rowSelection:!1,checkboxOnlyRowSelections:!1,columnClip:!0,treeHeaderBackgroundSelectionColor:"rgba(147, 185, 255, 0.625)",columnHeaderFont:"12px Helvetica, sans-serif",columnHeaderForegroundSelectionFont:"12px Helvetica, sans-serif",columnHeaderBackgroundSelectionColor:void 0,columnsReorderable:!1,defaultRowHeight:24,enableContinuousRepaint:!1,feedbackCount:1e6,fixedColumnCount:0,fixedRowCount:0,fixedLinesHWidth:1,fixedLinesVWidth:1,font:'12px "Arial", Helvetica, sans-serif',foregroundSelectionFont:'12px "Arial", Helvetica, sans-serif',gridLinesH:!1,gridLinesV:!0,gridLinesUserDataArea:!1,groupedHeader:{flatHeight:"30",paintBackground:null,columnHeaderLines:!1,groupConfig:[{halign:"center",font:"12px Open Sans, sans-serif"}]},halign:"left",headerTextWrapping:!1,hoverColumnHighlight:{enabled:!1},hoverRowHighlight:{enabled:!0,backgroundColor:"#555"},hoverCellHighlight:{enabled:!0,backgroundColor:"#333"},noDataMessage:"",minimumColumnWidth:50,multipleSelections:!1,renderFalsy:!1,rowHeaderFont:"12px Arial, Helvetica, sans-serif",rowHeaderForegroundSelectionFont:'12px "Arial", Helvetica, sans-serif',rowResize:!0,scrollbarHoverOff:"visible",rowHeaderCheckboxes:!1,rowHeaderNumbers:!1,selectionRegionOverlayColor:"transparent",selectionRegionOutlineColor:"rgba(0,0,0,0.2)",showFilterRow:!0,showHeaderRow:!0,showTreeColumn:!1,showRowNumbers:!1,showCheckboxes:!1,singleRowSelectionMode:!1,sortColumns:[],sortOnDoubleClick:!0,treeRenderer:"TreeCell",treeHeaderFont:"12px Arial, Helvetica, sans-serif",treeHeaderForegroundSelectionFont:'12px "Arial", Helvetica, sans-serif',useBitBlit:!1,vScrollbarClassPrefix:"",voffset:0},h={backgroundColor:"#ffffff",color:"#666",font:'12px "Open Sans", Helvetica, sans-serif',columnHeaderColor:"#666",columnHeaderHalign:"left",columnHeaderBackgroundColor:"#fff",columnHeaderForegroundSelectionColor:"#333",rowHeaderForegroundSelectionFont:"12px Arial, Helvetica, sans-serif",treeHeaderColor:"#666",treeHeaderBackgroundColor:"#fff",hoverCellHighlight:{enabled:!0,backgroundColor:"#eeeeee"},hoverRowHighlight:{enabled:!0,backgroundColor:"#f6f6f6"}},d={rowBackgroundSelectionColor:"rgba(147, 185, 255, 0.625)",cellBackgroundSelectionColor:"#fff",rowSelectionRegionOutlineColor:"transparent",cellSelectionRegionOutlineColor:"rgba(0,0,0,0.2)"};function f(e,t){const i={singleRowSelectionMode:t,autoSelectRows:t,rowSelection:t};return t?(i.selectionRegionOutlineColor=Object(n.get_style)(e,"".concat(a,"-selection--border-color"))||d.rowSelectionRegionOutlineColor,i.backgroundSelectionColor=Object(n.get_style)(e,"".concat(a,"-selection--background"))||d.rowBackgroundSelectionColor):(i.selectionRegionOutlineColor=Object(n.get_style)(e,"".concat(a,"-editor--border-color"))||d.cellSelectionRegionOutlineColor,i.backgroundSelectionColor=d.rowSelectionRegionOutlineColor),i}function g(){return Object.assign({},o()(u),o()(h))}},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__1__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__2__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__3__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__4__},function(e,t,i){i(13),i(4);const n=i(6).prototype.treeColumnIndex;function r(e,t,i){const r=Object.keys(e),o=r.length>0?r[0]:void 0;if(void 0===o)return[];const s=!!t.length,a=t.length?i.filter(e=>"__ROW_PATH__"!==e):i,l=r.map(e=>a.indexOf(e)),c=[];for(let i=0;i<e[o].length;i++){const o={};for(const t in r){const n=r[t];o[l[t]]=e[n][i]}if(s){void 0===e.__ROW_PATH__[i]&&(e.__ROW_PATH__[i]=[]);let r=e.__ROW_PATH__[i][e.__ROW_PATH__[i].length-1];void 0===r&&0===i&&(r="TOTAL"),o[n]={rollup:r,rowPath:["ROOT"].concat(e.__ROW_PATH__[i]),isLeaf:e.__ROW_PATH__[i].length>=t.length}}e.__ID__&&(o.__ID__=e.__ID__[i].join("|")),e.__INDEX__&&(o.__INDEX__=e.__INDEX__[i][0]),c.push(o)}return c}e.exports={psp2hypergrid:function(e,t,i,n,o){const s=(n.length?o.filter(e=>"__ROW_PATH__"!==e):o).map(e=>e.split("|")),a=!!n.length;return{rows:r(e,n,o),isTree:a,configuration:{},rowPivots:n,columnPaths:(a?[[" "]]:[]).concat(s),columnTypes:(a?[n.map(e=>i[e])]:[]).concat(s.map(e=>t[e[e.length-1]]))}},page2hypergrid:r}},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__6__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__7__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__8__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__9__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__10__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__11__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__12__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__13__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__14__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__15__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__16__},function(e,t,i){"use strict";i.r(t),i.d(t,"install",(function(){return y})),i(4),i(13),i(31),i(12);var n=i(7),r=i.n(n),o=i(18),s=i.n(o),a=i(8),l=i.n(a),c=i(9),u=i.n(c),h=u.a.BaseClass.extend("Borders",{paint:function(e,t){var i,n=t.bounds,r=n.x,o=n.y,s=n.width,a=n.height-1;e.save(),e.translate(-.5,.5),e.cache.lineWidth=1,(i=t.borderTop)&&(e.beginPath(),e.moveTo(r,o),e.lineTo(r+s,o),e.cache.strokeStyle=i,e.stroke()),(i=t.borderRight)&&(e.beginPath(),e.moveTo(r+s,o),e.lineTo(r+s,o+a),e.cache.strokeStyle=i,e.stroke()),(i=t.borderBottom)&&(e.beginPath(),e.moveTo(r,o+a),e.lineTo(r+s,o+a),e.cache.strokeStyle=i,e.stroke()),(i=t.borderLeft)&&(e.beginPath(),e.moveTo(r,o),e.lineTo(r,o+a),e.cache.strokeStyle=i,e.stroke()),e.restore()}});function d(e,t=!1){const i=[];e.isTree&&(i[this.treeColumnIndex]={name:this.treeColumnIndex.toString(),header:" "}),e.columnPaths.forEach((function(t,n){const r=t.join("|"),o=e.configuration.columnAliases,s=o&&o[r]||r,a=n.toString(),l=e.columnTypes[n];e.isTree&&0===n?i[-1]={name:a,header:s,type:l}:i.push({name:a,header:s,type:l,index:n-(e.isTree?1:0)})})),this.grid.properties.showTreeColumn=e.isTree;const n=this.grid.behavior.dataModel._config,r=!(0===n.row_pivots.length&&n.column_pivots.length>0)&&this.grid.behavior.dataModel._viewer.hasAttribute("selectable");this.grid.addProperties(this.grid.get_dynamic_styles(r)),this.createColumns=f,this.refreshColumns=g,!t&&this._memoized_schema&&l()(this._memoized_schema.slice(0,this._memoized_schema.length),i.slice(0,i.length))&&l()(e.rowPivots,this._memoized_pivots)?(this.grid.sbVScroller.index=0,this.grid.behavior.dataModel.data=e.rows,this.grid.behavior.dataModel._data_window=void 0):(this.grid.sbVScroller.index=0,this.grid.sbHScroller.index=0,this.grid.selectionModel.clear(),this.grid.setData({data:e.rows,schema:i})),this._memoized_schema=i,this._memoized_pivots=e.rowPivots}function f(){Object.getPrototypeOf(this).createColumns.call(this),this.refreshColumns(),this.setHeaders(),this.schema_loaded=!0}function g(){this.getActiveColumns().forEach((function(e){p.call(this,e)}),this);let e=this.getTreeColumn();e&&p.call(this,e)}function p(e){const t=e.properties;e.index===this.treeColumnIndex?t.format="FinanceTree":t.format="perspective-".concat(e.type);const i=this.grid.behavior.dataModel._config;this.grid.behavior.dataModel._viewer.hasAttribute("editable")&&0===i.row_pivots.length&&0===i.column_pivots.length&&(t.editor={integer:"perspective-number",string:"perspective-text",date:"perspective-date",datetime:"perspective-datetime",float:"perspective-number"}[e.type],Object.assign(t,{editable:!0,editOnKeydown:!0,editOnNextCell:!1,editOnDoubleClick:!0,editorActivationKeys:["alt","esc"],cellSelection:!0}));const n=this.grid.get_styles();n[e.type]&&Object.assign(t,n[e.type])}function v(e){const t=this.dataModel.getConfig(),i=t.sort.findIndex(t=>t[0]===e.trim());if(i>-1){const n=t.sort[i][1];n in this.charMap&&(e="".concat(e," ").concat(this.charMap[n]).concat(t.sort.length>1?s()(i+1):""))}return e}function m(e){e.preventDefault(),e.handled=!0;const t=this.behavior.dataModel.getConfig(),i=this.behavior.getColumn(e.detail.column);let n,r;t.column_pivots.length>0?(n=!0,r=i.header.split("|")[t.column_pivots.length]):(n=!1,r=i.header);const o=this.behavior.dataModel._viewer,s=t.sort.findIndex(e=>e[0]===r.trim()),a=s>-1,l=e.detail.keys&&(e.detail.keys.indexOf("ALTSHIFT")>-1||e.detail.keys.indexOf("ALT")>-1)&&"string"!==i.type,c=e.detail.keys&&(e.detail.keys.indexOf("ALTSHIFT")>-1||e.detail.keys.indexOf("SHIFT")>-1);let u;if(a){const e=t.sort[s],i=e[1];u=o._increment_sort(i,n,l),e[1]=u}else u=o._increment_sort("none",n,l);c&&a?("none"===u&&t.sort.splice(s,1),o.sort=JSON.stringify(t.sort)):c?(t.sort.push([r,u]),o.sort=JSON.stringify(t.sort)):o.sort=JSON.stringify([[r,u]])}u.a.add(h);const b=e=>{const t=e.detail.primitiveEvent,i=new MouseEvent(t.type,t);e.target.parentElement.parentElement.parentElement.dispatchEvent(i)},y=function(e){var t;t=e.behavior.charMap,Object.assign(t,{asc:"\u2191",desc:"\u2193","asc abs":"\u21e7","desc abs":"\u21e9","col asc":"\u2192","col desc":"\u2190","col asc abs":"\u21e8","col desc abs":"\u21e6"}),Object.getPrototypeOf(e.behavior).setPSP=d,Object.getPrototypeOf(e.behavior).formatColumnHeader=v,e.addEventListener("fin-column-sort",m.bind(e)),e.addEventListener("fin-canvas-context-menu",b),Object.getPrototypeOf(e.behavior).cellClicked=async function(e){e.primitiveEvent.preventDefault(),e.handled=!0;const{x:t,y:i}=e.dataCell,n=this.dataModel.getConfig(),r=n.row_pivots,o=n.column_pivots,s=i>=0?i:0,a=s+1,l=await this.dataModel._view.to_json({start_row:s,end_row:a}),c=l.map(e=>e.__ROW_PATH__)[0]||[],u=r.map((e,t)=>{const i=c[t];return i?[e,"==",i]:void 0}).filter(e=>e),h=r.length>0?t+1:t,d=Object.keys(l[0])[h];let f,g=[];if(d){const e=d.split("|");f=[e[e.length-1]],g=o.map((t,i)=>{const n=e[i];return n?[t,"==",n]:void 0}).filter(e=>e).filter(([,,e])=>"__ROW_PATH__"!==e)}const p=n.filter.concat(u).concat(g),v=this.grid.properties.rowSelection&&-1===this.grid.getSelectedRows().indexOf(i)?"deselected":"selected";return this.grid.canvas.dispatchEvent(new CustomEvent("perspective-click",{bubbles:!0,composed:!0,detail:{config:{filters:p},column_names:f,row:l[0],action:v}})),this.dataModel.toggleRow(e.dataCell.y,e.dataCell.x,e)};const i=e.renderer.renderGrid;function n(){this.width=Math.floor(this.div.clientWidth),this.height=Math.floor(this.div.clientHeight),this.bounds=new r.a.Rectangle(0,0,this.width,this.height),this.component.setBounds(this.bounds)}e.renderer.renderGrid=function(e){i.call(this,e),this.renderOverrides(e),this.renderLastSelection(e)},e.canvas.canvas.addEventListener("mousewheel",e=>{e.shiftKey&&e.stopPropagation()}),e.canvas.hasFocus=function(){if(!e.div.isConnected)return;const t=e.div.parentNode.parentNode.host;return t.parentNode.parentNode.parentNode.parentNode.parentNode.activeElement===t},e.lookupFeature("CellSelection").handleMouseDown=function(e,t){var i=t.gridCell.x,n=t.dataCell.y;if(e.behavior.getCellProperty(t.dataCell.x,t.gridCell.y,"cellSelection")&&t.isDataCell&&!t.primitiveEvent.detail.isRightClick){var r=e.newPoint(i,n),o=t.primitiveEvent.detail.keys;this.extendSelection(e,r,o)}else this.next&&this.next.handleMouseDown(e,t)},e.lookupFeature("CellSelection").extendSelection=function(e,t,i){var n=i.indexOf("CTRL")>=0,r=e.getMouseDown(),o=t.x,s=t.y;if(!(o<0||s<0)){if(n&&o===r.x&&s===r.y)return e.clearMostRecentSelection(),e.popMouseDown(),void e.repaint();n||e.clearSelections(),e.select(o,s,0,0),e.setMouseDown(e.newPoint(o,s)),e.setDragExtent(e.newPoint(0,0)),e.repaint()}},e.lookupFeature("CellSelection").handleDOWN=function(e,t){if(t.primitiveEvent.preventDefault(),!e.cellEditor){const t=this.getAutoScrollAcceleration();let{x:i,y:n}=e.selectionModel.getLastSelection().origin;n+t>e.renderer.dataWindow.origin.y+e.renderer.dataWindow.extent.y-2&&e.sbVScroller.index++,n=Math.min(e.behavior.dataModel.getRowCount()-1,n+t),e.selectionModel.select(i,n,0,0),e.repaint()}},e.lookupFeature("CellSelection").handleUP=function(e,t){if(t.primitiveEvent.preventDefault(),!e.cellEditor){const t=this.getAutoScrollAcceleration();let{x:i,y:n}=e.selectionModel.getLastSelection().origin;n-t<e.renderer.dataWindow.origin.y&&e.sbVScroller.index--,n=Math.max(0,n-t),e.selectionModel.select(i,n,0,0),e.repaint()}},e.lookupFeature("CellSelection").handleLEFT=function(e,t){if(t.primitiveEvent.preventDefault(),!e.cellEditor){const t=this.getAutoScrollAcceleration();let{x:i,y:n}=e.selectionModel.getLastSelection().origin;i-t<e.renderer.dataWindow.origin.x&&e.sbHScroller.index--,i=Math.max(0,i-1),e.selectionModel.select(i,n,0,0),e.repaint()}},e.lookupFeature("CellSelection").handleRIGHT=function(e,t){if(t.primitiveEvent.preventDefault(),!e.cellEditor){const t=this.getAutoScrollAcceleration();let{x:i,y:n}=e.selectionModel.getLastSelection().origin;i+t>e.renderer.dataWindow.origin.x+e.renderer.dataWindow.extent.x-1&&e.sbHScroller.index++,i=Math.min(e.behavior.schema.length-1,i+t),e.selectionModel.select(i,n,0,0),e.repaint()}},e.lookupFeature("CellSelection").moveShiftSelect=function(e,t,i){e.moveSingleSelect(t,i)},e.canvas.resize=async function(t){let i=1;const o=window.devicePixelRatio&&this.component.properties.useHiDPI;o&&(i=(window.devicePixelRatio||1)/(this.gc.webkitBackingStorePixelRatio||this.gc.mozBackingStorePixelRatio||this.gc.msBackingStorePixelRatio||this.gc.oBackingStorePixelRatio||this.gc.backingStorePixelRatio||1)),n.call(this);let s=!0;const a=performance.now(),l=this.component.grid.behavior.dataModel;if(this.height*i!==this.canvas.height||this.width*i!==this.canvas.width||t)for(;l._view&&s;){if(performance.now()-a>3e3)throw new Error("Timeout");"object"==typeof s&&await new Promise(setTimeout),n.call(this),s=await new Promise(e=>l.fetchData(void 0,e))}this.bounds=new r.a.Rectangle(0,0,this.width,this.height),this.component.setBounds(this.bounds),l._view&&this.resizeNotification(),this.buffer.width=this.canvas.width=this.width*i,this.buffer.height=this.canvas.height=this.height*i,this.canvas.style.width=this.buffer.style.width=this.width+"px",this.canvas.style.height=this.buffer.style.height=this.height+"px",this.bc.scale(i,i),o&&!this.component.properties.useBitBlit&&this.gc.scale(i,i),this.component.grid.renderer.needsComputeCellsBounds=!1,e.canvas.paintNow()}}},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__18__},function(e,t,i){"use strict";var n=i(6),r=i.n(n),o=i(20),s=i(5);const{prototype:{treeColumnIndex:a}}=r.a;function l(e){if(!this.dataWindow)return[];const t=this.dataWindow;return this.grid.newRectangle(t.left,t.top,t.width,e?Math.min(e-t.top,t.height):t.height)}function c(e,t){for(let i in e)if(e[i].__ID__===t)return parseInt(i);return-1}var u;function h(e,t){return!t||e.top!==t.top||e.top+e.height!==t.top+t.height||e.left!==t.left||e.left+e.width!==t.left+t.width}function d(e){if(null===e.value||void 0===e.value)e.value="-";else{let t=this.schema[e.dataCell.x].type;const i=Object(o.get_type_config)(t);i.type&&(t=i.type),["number","float","integer"].indexOf(t)>-1?0===e.value?e.value="float"===t?"0.00":"0":isNaN(e.value)?e.value="-":e.value>0?(e.color=e.columnColorNumberPositive||"rgb(160,207,255)",e.backgroundColor=e.columnBackgroundColorNumberPositive?e.columnBackgroundColorNumberPositive:e.backgroundColor,e.borderBottom=e.borderBottomPositive?e.borderBottomPositive:e.borderBottom,e.borderRight=e.borderRightPositive?e.borderRightPositive:e.borderRight):(e.color=e.columnColorNumberNegative||"rgb(255,136,136)",e.backgroundColor=e.columnBackgroundColorNumberNegative?e.columnBackgroundColorNumberNegative:e.backgroundColor,e.borderBottom=e.borderBottomNegative?e.borderBottomNegative:e.borderBottom,e.borderRight=e.borderRightNegative?e.borderRightNegative:e.borderRight):"boolean"===t&&(e.value=String(e.value))}}t.a=i(32).extend("PerspectiveDataModel",{isTreeCol:function(e){return e===a&&this.isTree()},getValue:function(e,t){var i=this.data[t];return i?i[e]:null},getRowCount:function(){return this._nrows||0},getConfig:function(){return this._config},setRowCount:function(e){this._nrows=e||0},isTree:function(){return this._isTree},setIsTree:function(e){this._isTree=e},setDirty:function(e){this._grid&&(e!==this._nrows&&this._grid.renderer.computeCellsBounds(),this._dirty=!0,this._nrows=e)},toggleRow:async function(e,t,i){if(this.isTreeCol(t)){let n=!1;i.primitiveEvent.detail.primitiveEvent&&(n=!!i.primitiveEvent.detail.primitiveEvent.shiftKey);let r=await this._view.get_row_expanded(e);n?r?1===this.data[e][t].rowPath.length?this._view.collapse(e):this._view.set_depth(this.data[e][t].rowPath.length-2):this._view.set_depth(this.data[e][t].rowPath.length-1):r?this._view.collapse(e):this._view.expand(e);let o=await this._view.num_rows();this.setDirty(o),this._grid.canvas.paintNow()}},_update_select_index:function(){const e=this._grid.selectionModel.hasSelections(),t=this._grid.selectionModel.hasRowSelections();if(e){const e=this.data[this._grid.selectionModel.getLastSelection().origin.y];e&&(this._selected_cell_index=e.__ID__)}if(t){const e=this.data[this._grid.getSelectedRows()[0]];e&&(this._selected_row_index=e.__ID__)}},_update_editor:function(e){const t=this._grid.cellEditor;let i;return t&&(i=c(this.data,t._index),t.event.resetGridXY(t.event.dataCell.x,i-e.origin.y+1),t.moveEditor()),i},_update_selection:function(e){if(this._grid.selectionModel.hasSelections()&&-1!==(e=e||c(this.data,this._selected_cell_index))){const t=this._grid.selectionModel.getLastSelection().origin.x;this._grid.selectionModel.select(t,e,0,0)}if(this._selected_row_index){this._grid.selectionModel.clearRowSelection();const t=e||c(this.data,this._selected_row_index);-1!==t&&this._grid.selectionModel.selectRow(t)}},pspFetch:async function(e){this._grid.properties.rowSelection||this._viewer.hasAttribute("editable");const t=function(e,t=[],i=!1){const n={start_row:e.origin.y,end_row:e.corner.y+1,start_col:e.origin.x,end_col:e.corner.x+3};return n.end_col+=t&&t.length>0?1:0,n.id=i,n}(e,this._config.row_pivots,this._viewer.hasAttribute("settings")),i=await this._view.to_columns(t);this.data=[];const n=Object(s.page2hypergrid)(i,this._config.row_pivots,this._columns),r=t.start_row,o=this.data;n.forEach((e,t)=>o[r+t]=e)},fetchData:(u=async function(){if(void 0===this._view)return!0;let e=l.call(this._grid.renderer);if(!this._dirty&&!h(e,this._data_window))return;if(this._grid.renderer.needsComputeCellsBounds=!0,this._outstanding&&!h(e,this._outstanding.rect))return await this._outstanding.req,this._grid.renderer.needsComputeCellsBounds=!0,!0;this._dirty=!1;const t=this.pspFetch(e);this._outstanding={rect:e,req:t},this._update_select_index();try{await t}finally{this._outstanding=void 0,this._grid.renderer.needsComputeCellsBounds=!0}return this._data_window=e,this._update_selection(this._update_editor(e)),e=l.call(this._grid.renderer),h(e,this._data_window)},async function(e,t){let i;try{i=await u.call(this)}catch(e){return void t(e)}t(i)}),getCellEditorAt:function(e,t,i,n){if(!i)return;const r=this._grid.renderer.dataWindow.top,o=this._grid.cellEditors.create(i,n);this._grid.selectionModel.select(e,t+r-1),o.el.addEventListener("blur",()=>setTimeout(()=>o.cancelEditing()));const s={start_row:t+r-1,end_row:t+r,start_col:e,end_col:e+1,index:!0};return o._row=this._view.to_json(s),o._table=this._table,o._data=this.data,o._canvas=this._grid.canvas.canvas,o._index=this.data[t+r-1].__ID__,o},getCell:function(e,t){var i,n;return e.isUserDataArea?d.call(this,e,t):e.dataCell.x===a&&e.value&&(n=(i=this.getRow(e.dataCell.y+1))?e.value.rowPath.length-i[a].rowPath.length:1,e.last=0!==n,e.expanded=n<0,e._type=this.schema[-1].type[e.value.rowPath.length-2]),e.grid.cellRenderers.get(t)},clearSelectionState:function(){this._selected_row_index=void 0,this._selected_cell_index=void 0,this._grid.selectionModel.clear()}})},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__20__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__21__},function(e,t){e.exports="\x3c!--\n \n Copyright (c) 2017, the Perspective Authors.\n \n This file is part of the Perspective library, distributed under the terms of\n the Apache License 2.0. The full license can be found in the LICENSE file.\n\n--\x3e\n\n<template id='perspective-hypergrid'>\n <div id='gridWrapper'>\n <div id='mainGrid'></div>\n </div>\n</template>"},function(e,t,i){(e.exports=i(33)(!1)).push([e.i,':host{position:absolute;outline:0;top:0;left:0;bottom:0;right:0}:host table{font:12px "Open Sans",helvetica,sans-serif}:host td.hover{background-color:#eee}:host tr.hover{background-color:#f6f6f6}:host td.positive{color:#1078d1}:host td.negative{color:#de3838}:host input.hypergrid-textfield{position:absolute;outline:0;border:1px solid var(--hypergrid-editor--border-color,rgba(0,0,0,.4));color:var(--hypergrid--color,inherit);background:var(--hypergrid--background,#fff);box-sizing:border-box;padding:0 4px 3px 5px}:host #gridWrapper{box-sizing:border-box;width:100%;height:100%;margin:0;padding:var(--hypergrid--padding,0)}:host #mainGrid{position:relative;width:100%;height:100%;margin:0;padding:0}:host #mainGrid>div{position:absolute;width:100%;height:100%;overflow:hidden}:host #mainGrid input{margin:0}:host div.finbar-vertical{margin:0!important;width:15px!important;box-shadow:0 0 0 #000,0 0 0 #000,0 0 0 #000}:host div.finbar-vertical div.thumb{width:var(--hypergrid-scrollbar--width,13px);right:-1px;background-color:#9e9e9e;box-shadow:0 0 0 #000,0 0 0 #000,0 0 0 #000;margin:0!important;border-radius:var(--hypergrid-scrollbar--border-radius,0)}:host div.finbar-horizontal{margin:0!important;height:15px!important;box-shadow:0 0 0 #000,0 0 0 #000,0 0 0 #000}:host div.finbar-horizontal div.thumb{margin:-3px 2px;height:var(--hypergrid-scrollbar--width,13px);bottom:4px;background-color:#9e9e9e;box-shadow:0 0 0 #000,0 0 0 #000,0 0 0 #000;border-radius:var(--hypergrid-scrollbar--border-radius,0)}',""])},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return set_formatters}));var _finos_perspective_dist_esm_config__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(11),_finos_perspective_dist_esm_config__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_finos_perspective_dist_esm_config__WEBPACK_IMPORTED_MODULE_0__);function null_formatter(e,t=""){let i=e.format.bind(e);return e.format=e=>{if("string"==typeof e)return e;if(t===e)return"-";let n=i(e);return""===n?"-":n},e}function custom_formatter(e,t){let i=e.format.bind(e);return e.format=e=>(e=t(i(e)))||"-",e}function set_formatters(grid){const formatters={};for(const type of Object(_finos_perspective_dist_esm_config__WEBPACK_IMPORTED_MODULE_0__.get_types)()){const config=Object(_finos_perspective_dist_esm_config__WEBPACK_IMPORTED_MODULE_0__.get_type_config)(type),format_function={float:grid.localization.NumberFormatter,integer:grid.localization.NumberFormatter,datetime:grid.localization.DateFormatter,date:grid.localization.DateFormatter}[config.type||type];format_function&&("string"==typeof config.format?formatters[type]=custom_formatter(new format_function("en-us"),eval(config.format)):formatters[type]=null_formatter(new format_function("en-us",config.format),config.null_value),grid.localization.add("perspective-".concat(type),formatters[type]))}grid.localization.header={format:e=>grid.behavior.formatColumnHeader(e)},grid.localization.add("FinanceTree",{format:function(e,t){const i=formatters[t];return i?i.format(e):e},parse:e=>e})}},function(e,t,i){"use strict";i.d(t,"a",(function(){return C})),i(34),i(4);var n=i(3),r=i.n(n);function o(e){return e+"px"}function s(e){const t=new Date(e);return!(t instanceof Date&&!isNaN(t))}function a(e){const t=this.el.style;t.left=o(e.x-1),t.top=o(e.y-1),t.width=o(e.width+52),t.height=o(e.height+2)}function l(e){const t=this.el.style;t.left=o(e.x-1),t.top=o(e.y-1),t.width=o(e.width+2),t.height=o(e.height+2)}function c(e){if(null===e)return;const t=new Date(e),i=("0"+t.getDate()).slice(-2),n=("0"+(t.getMonth()+1)).slice(-2);this.input.value="".concat(t.getFullYear(),"-").concat(n,"-").concat(i),this.input.addEventListener("keydown",m.bind(this))}function u(e){if(null===e)return;const t=new Date(e),i=("0"+t.getDate()).slice(-2),n=("0"+(t.getMonth()+1)).slice(-2),r=("0"+t.getHours()).slice(-2),o=("0"+t.getMinutes()).slice(-2),s=("0"+t.getSeconds()).slice(-2);this.input.value="".concat(t.getFullYear(),"-").concat(n,"-").concat(i,"T").concat(r,":").concat(o,":").concat(s),this.input.addEventListener("keydown",m.bind(this))}function h(e){return this.input.addEventListener("keydown",m.bind(this)),this.input.addEventListener("mouseover",e=>{var t=document.createEvent("MouseEvents");t.initMouseEvent("mouseover",e.canBubble,e.cancelable,window,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKye,e.shiftKey,e.metaKey,e.button,e.relatedTarget),this._canvas.dispatchEvent(t)}),null===e?"":(this.input.value=this.localizer.format(e),e)}function d(e){return this._row.then(([t])=>{const i=t.__INDEX__;delete t.__INDEX__;const n=Object.keys(t)[0];this._table.update([{__INDEX__:i,[n]:e}])}),this.localizer.format(e)}function f(e){return this._row.then(([t])=>{const i=t.__INDEX__;delete t.__INDEX__;const n=Object.keys(t)[0];this._table.update([{__INDEX__:i,[n]:Number(e.replace(/,/g,""))}])}),this.localizer.format(e)}function g(e){return e=new Date(e),this._row.then(([t])=>{const i=t.__INDEX__;delete t.__INDEX__;const n=Object.keys(t)[0];this._table.update([{__INDEX__:i,[n]:e}])}),this.localizer.format(e)}function p(e){if((!e||e!==this.initialValue)&&this.grid.fireBeforeCellEdit(this.event.gridCell,this.initialValue,e,this)){const t=this.event.gridCell.y+this.grid.renderer.dataWindow.top-1,i=this.event.gridCell.x;this._data[t][i]=e,this.grid.canvas.paintNow()}}function v(){}function m(e){e.stopPropagation();let t,i,n=this.grid,r=this.event.properties,o=r.feedbackCount,s=n.canvas.getKeyChar(e);return(t=this.specialKeyups[e.keyCode])&&(i=this[t](o))&&n.repaint(),r.mappedNavKey(s,e.ctrlKey)&&!t&&(i=this.stopEditing(o))&&n.repaint(),this.grid.fireSyntheticEditorKeyUpEvent(this,e),i}function b(e){var t=this.input.value;try{var i=this.validateEditorValue(t);if(!i)var n=this.getEditorValue(t)}catch(e){i=e}if(!i&&this.grid.fireSyntheticEditorDataChangeEvent(this,this.initialValue,n))try{this.saveEditorValue(n)}catch(e){i=e}if(i)e>=0?this.errorEffectBegin(++this.errors%e==0&&i):this.cancelEditing();else{const{x:e,y:t}=this.grid.selectionModel.getLastSelection().origin;this.grid.selectionModel.select(e,t+1,0,0),this.hideEditor(),this.grid.cellEditor=null,this.grid._is_editing=!0,this.el.remove(),this.grid._is_editing=!1,this.grid.div.parentNode.parentNode.host.focus()}return!i}function y(){return this.setEditorValue(this.initialValue),this.hideEditor(),this.grid.cellEditor=null,this.grid._is_editing=!0,this.el.remove(),this.grid._is_editing=!1,this.grid.takeFocus(),!0}function C(e){const t=r.a.extend("perspective-date",{localizer:e.localization.get("chromeDate"),template:"<input class='hypergrid-textfield' type='date'>",getEditorValue:g,setEditorValue:c,validateEditorValue:s,setBounds:a,selectAll:()=>{},saveEditorValue:p,keyup:v,stopEditing:b,cancelEditing:y}),i=r.a.extend("perspective-datetime",{localizer:e.localization.get("chromeDate"),template:"<input class='hypergrid-textfield' type='datetime-local'>",getEditorValue:g,setEditorValue:u,validateEditorValue:s,setBounds:a,selectAll:()=>{},saveEditorValue:p,keyup:v,stopEditing:b,cancelEditing:y}),n=r.a.extend("perspective-text",{setBounds:l,setEditorValue:h,getEditorValue:d,saveEditorValue:p,keyup:v,stopEditing:b,cancelEditing:y}),o=r.a.extend("perspective-number",{setBounds:l,setEditorValue:h,getEditorValue:f,validateEditorValue:e=>isNaN(Number(e.replace(/,/g,""))),saveEditorValue:p,keyup:v,stopEditing:b,cancelEditing:y});e.cellEditors.add(o),e.cellEditors.add(t),e.cellEditors.add(i),e.cellEditors.add(n)}},function(e,t,i){"use strict";function n(e,t){var i=t.bounds.x,n=t.bounds.y,r=t.bounds.width,o=t.bounds.height;if(t.minWidth=1,null===t.value)return;var s=t.value.rollup,a=t.value.isLeaf,l=t.value.rowPath.length-1,c=t.expanded,u=t.last,h=t.backgroundColor;t.isSelected&&(h=t.backgroundSelectionColor),t.isRowHovered&&t.hoverRowHighlight.enabled&&!t.isCellHovered?h=t.hoverRowHighlight.backgroundColor:t.isCellHovered&&t.hoverCellHighlight.enabled&&(h=t.hoverCellHighlight.backgroundColor),e.save(),e.cache.fillStyle=h,e.rect(i,n,r,o),e.fillRect(i,n,r,o);var d=t.gridLinesHColor;e.cache.strokeStyle=d,e.cache.fillStyle=d;var f=i;e.globalAlpha=.7,e.strokeStyle=d,e.beginPath();for(var g=1;g<=l;g++){f+=16;var p=u&&!c?o/2:o;e.moveTo(f,n),e.lineTo(f,n),e.lineTo(f,n+p),g===l?(e.moveTo(f,n+o/2),e.lineTo(f,n+o/2),e.lineTo(f+16-3,n+o/2)):e.lineTo(f,n+o)}a?e.lineTo(f+16+3,n+o/2):(e.moveTo(f+16+3,n+o/2),e.arc(f+16,n+o/2,3,0,2*Math.PI),t.isCellHovered&&(e.globalAlpha=1,e.fill(),e.globalAlpha=.7)),c&&!a&&(e.globalAlpha=.5,e.fill(),e.moveTo(f+16,n+o/2+3),e.lineTo(f+16,n+o),e.globalAlpha=.7),e.stroke(),e.closePath(),e.globalAlpha=1,e.fillStyle=t.isSelected?t.foregroundSelectionColor:t.color,e.textAlign="start",e.textBaseline="middle",e.font=t.isSelected?t.foregroundSelectionFont:t.treeHeaderFont;var v=f+16+6+3;let m=t.formatValue(s,t._type);t.minWidth=v+e.getTextWidth(m)+15;var b=e.getTextWidthTruncated(m,r-v+(i-3),!0),y=n+o/2;e.fillText(b.string?b.string:m,v,y),e.restore()}i.d(t,"a",(function(){return n}))},function(e,t,i){"use strict";i.r(t),function(e){i(4),i(29),i(30),i(12);var t=i(14),n=i.n(t),r=i(15),o=i.n(r),s=i(1),a=i.n(s),l=i(16),c=i.n(l),u=i(17),h=i(19),d=i(5),f=i(21),g=i(22),p=i.n(g),v=i(23),m=i.n(v),b=i(0),y=i(24),C=i(25),w=i(26);function x(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(x.prototype,HTMLElement.prototype),Object.setPrototypeOf(x,HTMLElement),a.a.prototype.stopResizeLoop(),a.a.prototype.stopPaintLoop(),Object(f.bindTemplate)(p.a,m.a)(class extends x{set_data(e,t,i,n,r,o=!1){const s=Object(d.psp2hypergrid)(e,t,i,n,r);this.grid?this.grid.behavior.setPSP(s,o):this._hg_data=s}connectedCallback(){if(!this.grid){const e=this.shadowRoot.querySelector("#mainGrid");e.setAttribute("hidden",!0),a.a.prototype.restartPaintLoop(),this.grid=new n.a(e,{DataModel:h.a}),a.a.prototype.stopPaintLoop(),e.removeAttribute("hidden"),this.grid.get_styles=()=>Object(b.d)(this),this.grid.get_dynamic_styles=(...e)=>Object(b.c)(this,...e);const t=Object(b.b)(),i=Object(b.d)(this);t.renderer=["SimpleCell","Borders"],Object.assign(t.groupedHeader,i[""].groupedHeader),"number"==typeof t.groupedHeader.flatHeight&&(t.groupedHeader.flatHeight=t.groupedHeader.flatHeight.toString()),this.grid.installPlugins([u,[c.a,t.groupedHeader]]);let r=this.grid.cellRenderers.items.GroupedHeader.paint;this.grid.cellRenderers.items.GroupedHeader.paint=function(e,t){return this.visibleColumns=t.grid.renderer.visibleColumns,r.call(this,e,t)},this.grid.addProperties(t),this.grid.addProperties(i[""]),Object(y.a)(this.grid),Object(C.a)(this.grid),this.grid.cellRenderers.add("TreeCell",o.a.extend({paint:w.a})),this._hg_data&&(this.grid.behavior.setPSP(this._hg_data),delete this._hgdata)}}});const S=Symbol("Hypergrid private");function _(){return this[S]?this[S].grid:void 0}async function E(e){let t;return _.call(this)?t=this[S]:(t=this[S]=document.createElement("perspective-hypergrid"),t.setAttribute("tabindex",1),t.addEventListener("blur",()=>{t.grid&&!t.grid._is_editing&&(t.grid.selectionModel.clear(!0),t.grid.paintNow())})),t.isConnected||(e.innerHTML="",e.appendChild(t),await new Promise(e=>setTimeout(e)),t.grid.canvas.resize(!1,!0)),t}function R(e,t){const i=e.divCanvas;e.divCanvas=void 0,t(),e.divCanvas=i}e.registerPlugin("hypergrid",{name:"Grid",create:async function(e,t,i,n,r,o){let s=_.call(this);s&&(s.behavior.dataModel._view=void 0,s.behavior.dataModel._table=void 0,R(s,()=>s.allowEvents(!1)));const a=await t.get_config();if(i.cancelled)return;const l=a.column_pivots,c=a.row_pivots,u={start_row:0,end_row:1,id:0===c.length&&0===l.length},[h,d,f,g,p]=await Promise.all([t.num_rows(),t.to_columns(u),t.schema(),this._table.schema(),t.column_paths()]);if(i.cancelled)return;let v=await E.call(this,e);if(s=_.call(this),i.cancelled)return;const m=p.filter(e=>"__INDEX__"!==e),b=s.behavior.dataModel;b._grid=s,b.setIsTree(c.length>0),b.setDirty(h),b.clearSelectionState(),b._view=t,b._table=this._table,b._config=a,b._viewer=this,b._columns=m,b._pad_window=this.hasAttribute("settings"),s.renderer.needsComputeCellsBounds=!0,R(s,()=>v.set_data(d,f,g,c,m,o)),s.behavior.dataModel._outstanding&&await s.behavior.dataModel._outstanding.req,await s.canvas.resize(!0),s.allowEvents(!0)},selectMode:"toggle",update:async function(e,t,i){const n=await t.num_rows();if(i.cancelled)return;const r=_.call(this);if(!r)return;const o=r.behavior.dataModel;o._view=t,o._table=this._table,o.setDirty(n),r.behaviorChanged(),r.canvas.paintNow()},deselectMode:"pivots",styleElement:function(){if(this[S]){const e=this[S];Object(b.a)(e);const t=Object(b.d)(e);e.grid&&e.grid.addProperties(t[""]),e.grid.behavior.createColumns(),e.grid.canvas.paintNow()}},resize:async function(){const e=_.call(this);if(e){e.canvas.checksize(),e.canvas.paintNow();let t=await this._view.num_rows();e.behavior.dataModel.setDirty(t),await e.canvas.resize(!0),e.canvas.paintNow()}},delete:function(){const e=_.call(this);e&&(e.terminate(),e.div=void 0,e.canvas.div=void 0,e.canvas.canvas=void 0,e.sbVScroller=void 0,e.sbHScroller=void 0,delete this[S])}})}.call(this,i(28))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__29__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__30__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__31__},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__32__},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=function(e,t){var i,n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(i=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),s=r.sources.map((function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"}));return[n].concat(s).concat([o]).join("\n")}return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+i+"}":i})).join("")},t.i=function(e,i){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},r=0;r<this.length;r++){var o=this[r][0];"number"==typeof o&&(n[o]=!0)}for(r=0;r<e.length;r++){var s=e[r];"number"==typeof s[0]&&n[s[0]]||(i&&!s[2]?s[2]=i:i&&(s[2]="("+s[2]+") and ("+i+")"),t.push(s))}},t}},function(e,t){e.exports=__WEBPACK_EXTERNAL_MODULE__34__}])},module.exports=t(__webpack_require__(81),__webpack_require__(132),__webpack_require__(62),__webpack_require__(58),__webpack_require__(65),__webpack_require__(2),__webpack_require__(187),__webpack_require__(113),__webpack_require__(248),__webpack_require__(19),__webpack_require__(120),__webpack_require__(91),__webpack_require__(274),__webpack_require__(3),__webpack_require__(306),__webpack_require__(307),__webpack_require__(19),__webpack_require__(308),__webpack_require__(49),__webpack_require__(51),__webpack_require__(309),__webpack_require__(80),__webpack_require__(311))},function(e,t,i){"use strict";var n;var r=/^(transparent|((RGB|HSL)A\(.*,\s*([\d\.]+)\)))$/i;function o(e){var t;return e?null===(t=e.match(r))?1:void 0===t[4]?0:Number(t[4]):0}var s={};var a="\u2026";var l={};n={clearFill:function(e,t,i,n,r){var s=o(r);s<1&&this.clearRect(e,t,i,n),s>0&&(this.cache.fillStyle=r,this.fillRect(e,t,i,n))},alpha:o,getTextWidth:function(e){for(var t=s[this.cache.font]=s[this.cache.font]||{},i=0,n=0,r=(e+="").length;i<r;++i){var o=e[i];n+=t[o]=t[o]||this.measureText(o).width}return n},getTextWidthTruncated:function(e,t,i,n){var r,o,l,c=s[this.cache.font],u=void 0!==i;c||((c=s[this.cache.font]={})[a]=this.measureText(a).width),t+=!1===i?2:-1;for(var h=0,d=0,f=(e+="").length;h<f;++h){var g=e[h],p=c[g]=c[g]||this.measureText(g).width;if(d+=p,!r&&u&&d>t){switch(l=h,i){case!0:for(o=d-p+c[a];l&&o>t;)o-=c[e[--l]];r=o>t?"":r=e.substr(0,l)+a;break;case!1:r=e.substr(0,l);break;default:++l<e.length&&(r=e.substr(0,l))}if(n)break}}return{string:r,width:d}},getTextHeight:function(e){var t=l[e];if(!t){t={};var i=document.createElement("span");i.textContent="Hg",i.style.font=e;var n=document.createElement("div");n.style.display="inline-block",n.style.width="1px",n.style.height="0px";var r=document.createElement("div");r.appendChild(i),r.appendChild(n),r.style.position="absolute",document.body.appendChild(r);try{n.style.verticalAlign="baseline";var o=n.getBoundingClientRect(),s=i.getBoundingClientRect();t.ascent=o.top-s.top,n.style.verticalAlign="bottom",t.height=o.top-s.top,t.descent=t.height-t.ascent}finally{document.body.removeChild(r)}0!==t.height&&(l[e]=t)}return t},clipSave:function(e,t,i,n,r){this.conditionalsStack.push(e),e&&(this.cache.save(),this.beginPath(),this.rect(t,i,n,r),this.clip())},clipRestore:function(e){this.conditionalsStack.pop()&&this.cache.restore()},truncateTextWithEllipsis:!0},e.exports=n},function(e,t,i){"use strict";i.r(t),i.d(t,"get_style",(function(){return r})),i.d(t,"PropsBuilder",(function(){return u}));i(49),i(51),i(58);var n=i(19);function r(e,t){let i;if(i=window.ShadyCSS?window.ShadyCSS.getComputedStyleValue(e,t):getComputedStyle(e).getPropertyValue(t),""!==i.trim())return i}function o(e,t){let i;if(i=window.ShadyCSS?window.ShadyCSS.getComputedStyleValue(e,t):getComputedStyle(e).getPropertyValue(t),""!==i.trim())return parseInt(i)}function s(e,t){t.length>0&&(t+="--");const i=r(e,"".concat(t,"font-size")),n=r(e,"".concat(t,"font-family"));if(i&&n)return"".concat(i," ").concat(n)}function a(e,t,i){for(const n of Object.keys(e)){const r=e[n];if(Array.isArray(r)&&i)for(const e of r){const r=i(e);if(void 0!==r){t[n]=r;break}}else if("string"==typeof r&&i){const e=i(r);void 0!==e&&(t[n]=e)}else"object"==typeof r?(t[n]=t[n]||{},a(r,t[n],i)):t[n]=r}}function l(e,t,i,n,r,o){e[t]=e[t]||{};for(const s of r){a(s,e[t],e=>o(i,e));for(const r of n[t])a(s,e[t],e=>o(i,"--".concat(r).concat(e)))}}const c=Symbol("Perspective Style Properties");class u{constructor(){this._staged_props=[],this._staged_fonts=[],this._staged_measures=[]}add_measures(e){this._staged_measures.push(e),this._initialized=!1}add_styles(e){this._staged_props.push(e),this._initialized=!1}add_fonts(e){this._staged_fonts.push(e),this._initialized=!1}clear_properties(e){delete e[c]}get_properties(e){if(!e[c]){const t=function(){const e={"":[]};for(const t of Object(n.get_types)()){e[t]=[];let i=t;for(;i&&i.length;)e[t].unshift(i),i=Object(n.get_type_config)(i).type}return e}(),i=e[c]={};l(i,"",e,t,this._staged_measures,o),l(i,"",e,t,this._staged_props,r),l(i,"",e,t,this._staged_fonts,s);for(const a of Object(n.get_types)())l(i,a,e,t,this._staged_measures,o),l(i,a,e,t,this._staged_props,r),l(i,a,e,t,this._staged_fonts,s)}return e[c]}}},function(e,t,i){e.exports=i(27)("native-function-to-string",Function.toString)},function(e,t,i){var n=i(52);e.exports=function(e,t,i){if(n(e),void 0===t)return e;switch(i){case 1:return function(i){return e.call(t,i)};case 2:return function(i,n){return e.call(t,i,n)};case 3:return function(i,n,r){return e.call(t,i,n,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,i){var n=i(20)("meta"),r=i(15),o=i(12),s=i(11).f,a=0,l=Object.isExtensible||function(){return!0},c=!i(8)((function(){return l(Object.preventExtensions({}))})),u=function(e){s(e,n,{value:{i:"O"+ ++a,w:{}}})},h=e.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!o(e,n)){if(!l(e))return"F";if(!t)return"E";u(e)}return e[n].i},getWeak:function(e,t){if(!o(e,n)){if(!l(e))return!0;if(!t)return!1;u(e)}return e[n].w},onFreeze:function(e){return c&&h.NEED&&l(e)&&!o(e,n)&&u(e),e}}},function(e,t,i){var n=i(30),r=i(87),o=i(57);e.exports=function(e){var t=n(e),i=r.f;if(i)for(var s,a=i(e),l=o.f,c=0;a.length>c;)l.call(e,s=a[c++])&&t.push(s);return t}},function(e,t,i){var n=i(31);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t,i){var n=i(17),r=i(54),o=i(139);e.exports=function(e){return function(t,i,s){var a,l=n(t),c=r(l.length),u=o(s,c);if(e&&i!=i){for(;c>u;)if((a=l[u++])!=a)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===i)return e||u||0;return!e&&-1}}},function(e,t,i){var n=i(33),r=Math.max,o=Math.min;e.exports=function(e,t){return(e=n(e))<0?r(e+t,0):o(e,t)}},function(e,t,i){var n=i(31);e.exports=Array.isArray||function(e){return"Array"==n(e)}},function(e,t,i){var n=i(11),r=i(7),o=i(30);e.exports=i(9)?Object.defineProperties:function(e,t){r(e);for(var i,s=o(t),a=s.length,l=0;a>l;)n.f(e,i=s[l++],t[i]);return e}},function(e,t,i){var n=i(6).document;e.exports=n&&n.documentElement},function(e,t,i){var n=i(17),r=i(89).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&"[object Window]"==o.call(e)?function(e){try{return r(e)}catch(e){return s.slice()}}(e):r(n(e))}},function(e,t,i){var n=i(57),r=i(29),o=i(17),s=i(50),a=i(12),l=i(84),c=Object.getOwnPropertyDescriptor;t.f=i(9)?c:function(e,t){if(e=o(e),t=s(t,!0),l)try{return c(e,t)}catch(e){}if(a(e,t))return r(!n.f.call(e,t),e[t])}},function(e,t,i){"use strict";var n=i(146),r=i(147),o=i(59),s=i(17);e.exports=i(148)(Array,"Array",(function(e,t){this._t=s(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,i=this._i++;return!e||i>=e.length?(this._t=void 0,r(1)):r(0,"keys"==t?i:"values"==t?e[i]:[i,e[i]])}),"values"),o.Arguments=o.Array,n("keys"),n("values"),n("entries")},function(e,t,i){var n=i(1)("unscopables"),r=Array.prototype;null==r[n]&&i(10)(r,n,{}),e.exports=function(e){r[n][e]=!0}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,i){"use strict";var n=i(26),r=i(28),o=i(16),s=i(10),a=i(59),l=i(149),c=i(53),u=i(150),h=i(1)("iterator"),d=!([].keys&&"next"in[].keys()),f=function(){return this};e.exports=function(e,t,i,g,p,v,m){l(i,t,g);var b,y,C,w=function(e){if(!d&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},x=t+" Iterator",S="values"==p,_=!1,E=e.prototype,R=E[h]||E["@@iterator"]||p&&E[p],A=R||w(p),M=p?S?w("entries"):A:void 0,k="Array"==t&&E.entries||R;if(k&&(C=u(k.call(new e)))!==Object.prototype&&C.next&&(c(C,x,!0),n||"function"==typeof C[h]||s(C,h,f)),S&&R&&"values"!==R.name&&(_=!0,A=function(){return R.call(this)}),n&&!m||!d&&!_&&E[h]||s(E,h,A),a[t]=A,a[x]=f,p)if(b={values:S?A:w("values"),keys:v?A:w("keys"),entries:M},m)for(y in b)y in E||o(E,y,b[y]);else r(r.P+r.F*(d||_),t,b);return b}},function(e,t,i){"use strict";var n=i(88),r=i(29),o=i(53),s={};i(10)(s,i(1)("iterator"),(function(){return this})),e.exports=function(e,t,i){e.prototype=n(s,{next:r(1,i)}),o(e,t+" Iterator")}},function(e,t,i){var n=i(12),r=i(34),o=i(55)("IE_PROTO"),s=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=r(e),n(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},function(e,t){var i,n,r=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(i===setTimeout)return setTimeout(e,0);if((i===o||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:o}catch(e){i=o}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var l,c=[],u=!1,h=-1;function d(){u&&l&&(u=!1,l.length?c=l.concat(c):h=-1,c.length&&f())}function f(){if(!u){var e=a(d);u=!0;for(var t=c.length;t;){for(l=c,c=[];++h<t;)l&&l[h].run();h=-1,t=c.length}l=null,u=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function g(e,t){this.fun=e,this.array=t}function p(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)t[i-1]=arguments[i];c.push(new g(e,t)),1!==c.length||u||a(f)},g.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=p,r.addListener=p,r.once=p,r.off=p,r.removeListener=p,r.removeAllListeners=p,r.emit=p,r.prependListener=p,r.prependOnceListener=p,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(e,t,i){var n=i(15),r=i(31),o=i(1)("match");e.exports=function(e){var t;return n(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==r(e))}},function(e,t,i){var n=i(7),r=i(52),o=i(1)("species");e.exports=function(e,t){var i,s=n(e).constructor;return void 0===s||null==(i=n(s)[o])?t:r(i)}},function(e,t,i){var n=i(33),r=i(32);e.exports=function(e){return function(t,i){var o,s,a=String(r(t)),l=n(i),c=a.length;return l<0||l>=c?e?"":void 0:(o=a.charCodeAt(l))<55296||o>56319||l+1===c||(s=a.charCodeAt(l+1))<56320||s>57343?e?a.charAt(l):o:e?a.slice(l,l+2):s-56320+(o-55296<<10)+65536}}},function(e,t,i){var n=i(31),r=i(1)("toStringTag"),o="Arguments"==n(function(){return arguments}());e.exports=function(e){var t,i,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),r))?i:o?n(t):"Object"==(s=n(t))&&"function"==typeof t.callee?"Arguments":s}},function(e,t,i){"use strict";var n=i(60);i(28)({target:"RegExp",proto:!0,forced:n!==/./.exec},{exec:n})},function(e,t){e.exports.default={types:{float:{filter_operator:"==",aggregate:"sum",format:{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}},string:{filter_operator:"==",aggregate:"count"},integer:{filter_operator:"==",aggregate:"sum",format:{}},boolean:{filter_operator:"==",aggregate:"count"},datetime:{filter_operator:"==",aggregate:"count",format:{week:"numeric",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},null_value:-1},date:{filter_operator:"==",aggregate:"count",format:{week:"numeric",year:"numeric",month:"numeric",day:"numeric"},null_value:-1}}}},function(e,t,i){"use strict";console.warn||(console.warn=function(){console.log.apply(console,["WARNING:"].concat(Array.prototype.slice.call(arguments)))});var n=/^[\w\.]+\(.*\)$/,r=function(e,t,i,s,a){"string"==typeof s&&(a=s,s=void 0);var l,c,u=t.split("."),h=this.$$DEPRECATION_WARNED=this.$$DEPRECATION_WARNED||{},d=this,f=t.indexOf(" ")>=0,g=n.test(e);if(e in h||(h[e]=r.warnings),!g){if(f)return void(h[e]&&(--h[e],console.warn(t)));throw"Expected method name with parentheses in 1st parameter OR simple warning (containing one or more spaces) in 2nd parameter of deprecated() call."}if(f)throw"Expected replacement method or property in 2nd parameter of deprecated() call.";h[e]&&(--h[e],l=n.test(t)?"method":"property",c="The ."+e+" method has been deprecated as of v"+i+" in favor of the ."+u.join(".")+" "+l+". (Will be removed in a future release.)",a&&(c+=" "+a),console.warn(c));var p=o(e);function v(e){var t=p.indexOf(e);if(-1===t)throw'Actual arg "'+e+'" not found in formal arg list '+p;return s[t]}for(var m=0,b=u.length-1;m<=b;++m){var y=u[m],C=y.match(/\w+/)[0],w=n.test(y),x=w?o(y):void 0,S=[];x?(S=x.map(v),d=d[C].apply(d,S)):d=w?d[C]():d[C]}return d};function o(e){return e.match(/^\w+\((.*)\)$/)[1].match(/(\w+)/g)}r.warnings=1,e.exports=r},function(e,t,i){"use strict";t.shaker=function(e){var t=this,i=(e=e||{}).el||t.el,n=e.duration||"0.065s",r=window.getComputedStyle(i),o=r.transition.split(","),s=r.position,a=parseInt(r.left),l=-3,c=6;function u(n){n&&"left"!==n.propertyName||(i.style.left=a+l+"px",c--||(i.removeEventListener("transitionend",u),o.pop(),i.style.transition=o.join(","),i.style.position=s,e.callback&&e.callback.call(t,e)),l=c?-l:0)}o.push("left "+n),i.style.transition=o.join(","),i.addEventListener("transitionend",u),u()};var n={"background-color":"yellow","box-shadow":"0 0 10px red"};t.glower=function(e){var t=this,i=(e=e||{}).el||t.el,r=e.duration||"0.25s",o=e.styles||n,s=o.length,a=window.getComputedStyle(i),l={},c=a.transition,u=c.split(",");Object.keys(o).forEach((function(e){l[e]={style:a[e],undo:!0},u.push(e+" "+r)})),i.style.transition=u.join(","),i.addEventListener("transitionend",(function n(r){var o=l[r.propertyName];o.undo?(i.style[r.propertyName]=o.style,o.undo=!1):--s||(i.removeEventListener("transitionend",n),i.style.transition=c,e.callback&&e.callback.call(t,e))})),Object.keys(o).forEach((function(e){i.style[e]=o[e]}))}},function(e,t,i){"use strict";var n=i(35),r=i(161),o=i(66),s=i(22),a=i(23),l={};function c(e,t){switch(typeof t){case"number":l.number||(console.warn("Column(behavior: object, index: number) overload has been deprecated as of v2.1.6 in favor of Column(behavior: object, columnSchema: object) overload with defined columnSchema.index. (Will be removed in a future release.)"),l.number=!0),t={index:t};break;case"string":var i,n;if(l.string||(console.warn("Column(behavior:object, name: string) overload (where name is sought in schema) has been deprecated as of v2.1.6 in favor of Column(behavior: object, columnSchema: object) overload with defined columnSchema.index. (Will be removed in a future release.)"),l.string=!0),i=t,(n=e.dataModel.schema.findIndex((function(e){return e.name===i})))<0)throw new this.HypergridError('Column named "'+i+'" not found in schema.');t={name:i,index:n};break;case"object":if(void 0===t.index){if(l.object||(console.warn("Column(behavior:object, columnSchema: object) overload (where columnSchema.index is undefined but columnSchema.name is sought in schema) has been deprecated as of v2.1.6 in favor of defined columnSchema.index. (Will be removed in a future release.)"),l.object=!0),i=t.name,(n=e.dataModel.schema.findIndex((function(e){return e.name===i})))<0)throw new this.HypergridError('Column named "'+i+'" not found in schema.');t.index=n}}if(void 0===t.index)throw new s("Column index required.");switch(this.behavior=e,this.dataModel=e.dataModel,Object.defineProperties(this,{index:{value:t.index},name:{enumerable:!0,value:t.name||t.index.toString()}}),this.properties=this.schema=t,t.index){case this.behavior.treeColumnIndex:var r=a[Object.create(this.properties.treeHeader,{isDataRow:{value:!0}}).leftIcon];this.properties.minimumColumnWidth=r?r.width+3:0;break;case this.behavior.rowColumnIndex:break;default:if(t.index<0)throw new this.HypergridError("New column index "+t.index+" out of range.")}}c.prototype={constructor:c.prototype.constructor,$$CLASS_NAME:"Column",HypergridError:s,mixIn:n.mixIn,set header(e){this.schema.header=e},get header(){return this.schema.header},set calculator(e){(e=f.call(this,e))!==this.schema.calculator&&(this.schema.calculator=e,this.behavior.grid.reindex())},get calculator(){return this.schema.calculator},set type(e){this.schema.type=e,this.behavior.reindex()},get type(){return this.schema.type},getValue:function(e,t){return this.dataModel.getValue(this.index,e,t)},setValue:function(e,t,i){return this.dataModel.setValue(this.index,e,t,i)},getWidth:function(){return this.properties.width||this.behavior.grid.properties.defaultColumnWidth},setWidth:function(e){(e=Math.min(Math.max(this.properties.minimumColumnWidth,e),this.properties.maximumColumnWidth||1/0))!==this.properties.width&&(this.properties.width=e,this.properties.columnAutosizing=!1)},checkColumnAutosizing:function(e){var t,i,n,r=this.properties;return r.columnAutosizing&&(t=r.width,i=r.preferredWidth||t,e=e||!r.columnAutosized,(t!==i||e&&void 0!==i)&&(r.width=e?i:Math.max(t,i),r.columnAutosizingMax&&r.width>r.columnAutosizingMax&&(r.width=r.columnAutosizingMax),r.columnAutosized=!isNaN(r.width),n=r.width!==t)),n},getCellType:function(e){var t=this.getValue(e);return this.typeOf(t)},getType:function(){var e=this.properties,t=e.type;return t||"unknown"!==(t=this.computeColumnType())&&(e.type=t),t},computeColumnType:function(){var e=this.behavior.getHeaderRowCount(),t=this.behavior.getRowCount(),i=this.getValue(e),n=this.typeOf(i);if(!n)return"unknown";for(var r=this.typeOf(i),o=e;o<t;o++)i=this.getValue(o),n=this.typeOf(i);return r},typeOf:function(e){if(null==e)return null;var t=typeof e;switch(t){case"object":return e.constructor.name.toLowerCase();case"number":return parseInt(e)===e?"int":"float";default:return t}},get properties(){return this._properties},set properties(e){this.addProperties(e,!0)},addProperties:function(e,t){e&&(!t&&this._properties||(this._properties=this.createColumnProperties()),o(this._properties,e))},setBackgroundColor:function(e){this.properties.backgroundColor!==e&&(this.properties.backgroundColor=e,this.behavior.grid.renderer.rebundleGridRenderers())},getCellEditorAt:function(e){var t=this.index,i=e.gridCell.y,n=e.properties.editor,r=Object.create(e,{format:{writable:!0,enumerable:!0,value:e.properties.format}}),o=e.subgrid.getCellEditorAt(t,i,n,r);return o&&!o.grid&&(o=void 0),o},getFormatter:function(){var e=this.properties.format;return this.behavior.grid.localization.get(e).format}};var u=/^(\(.*\)|\w+)\s*=>/,h=/^function\s+(\w+)\(/,d=/^function\s*\(/;function f(e){if(e){var t=' (for column "'+this.name+'").';if("function"==typeof e)e=e.toString();else if("string"!=typeof e)throw new s("Expected calculator function OR string containing calculator function OR calculator name"+t);var i,n,o=this.behavior.grid.properties.calculators||(this.behavior.grid.properties.calculators={});if(/^\w+$/.test(e)){if(!o[n=e])throw new s('Unknown calculator name "'+n+t)}else if(i=e.match(h))n=i[1];else if(d.test(e))n=e;else if(u.test(e))throw new s("Arrow function not permitted as column calculator "+t);return o[n]||(o[n]=e),o[n]=r(o[n]),o[n]}}c.prototype.mixIn(i(164).mixin),c.prototype.mixIn(i(165).mixin),e.exports=c},function(e,t,i){"use strict";var n=i(22);e.exports=function(e){switch(typeof e){case"undefined":case"function":return e;case"string":break;default:throw new n("Expected string, function, or undefined.")}var t=e.match(/^function\s*\w*\s*\(([^]*?)\)/);if(!t)throw new n("Expected function keyword with formal parameter list.");t=t[1].split(",").map((function(e,t){if(!(e=e.match(/\s*(\w*)\s*/))&&t)throw new n("Expected formal parameter.");return e[1]}));var i=e.match(/{\s*([^]*?)\s*}\s*$/);if(!i)throw new n("Expected function body.");return i=i[1],1!==t.length||t[0]?t=t.concat(i):t[0]=i,Function.apply(null,t)}},function(e,t,i){"use strict";var n,r="((data:image/svg\\+xml)(;\\w+)?(,)(.*)|(.*\\.svg))",o=new RegExp("^()"+r+"()$"),s=new RegExp('^(url\\(")'+r+'("\\))$'),a=0,l=2,c=3,u=4,h=5,d=6,f=7;function g(e,t,i,n){var r=this;e[f]?function(e,t){var i=new XMLHttpRequest;i.open("GET",e,!0),i.onreadystatechange=function(){i.readyState===p&&i.status===v&&t(i.responseText)},i.send(null)}(e[f],(function(o){e[c]="data:image/svg+xml",e[u]=";base64",e[h]=",",e[d]=o,e[f]="",m.call(r,e,t,i,n)})):m.call(this,e,t,i,n)}(n=t).cssImagePropertyNames=["background-image","list-style-image","border-image","content"],n.setSvgProps=function(e){e.color&&(this.style.stroke=this.style.color=e.color),e.backgroundColor&&(this.style.fill=e.backgroundColor)},n.setImgSvgProps=function(e,t){if("IMG"===this.tagName){var i=this.src.match(o);i&&g.call(this,i,e,t,(function(e){this.src=e}))}return this},n.setRuleSvgProps=function(e,t,i){var r,o=this.style;function a(e){return r=o[e].match(s)}if("string"==typeof t&&(i=t,t=void 0),i)a(i);else for(var l=0;l<n.cssImagePropertyNames.length&&!a(i=n.cssImagePropertyNames[l]);++l);return r&&g.call(this,r,e,t,(function(e){o[i]=e})),this};var p=4,v=200;function m(e,t,i,r){var o=e[u],s=e[d],c=document.createElement("div");switch(i=i||this.setSvgProps||n.setSvgProps,o){case void 0:c.innerHTML=s.indexOf("%3C")>=0?decodeURIComponent(s):s,i.call(c.firstElementChild,t);var h=(new XMLSerializer).serializeToString(c.firstElementChild);e[d]=encodeURIComponent(h);break;case";base64":c.innerHTML=s.indexOf("<")<0?atob(s):s,i.call(c.firstElementChild,t);h=(new XMLSerializer).serializeToString(c.firstElementChild);e[d]=btoa(h);break;default:throw new TypeError('Unexpected encoding "'+o+'"')}e[a]=e[l]=void 0,r.call(this,e.join(""))}n.mixin=function(e,t){return"svg"===e.tagName?t?e.setTheme=t:Object.defineProperty(e,"setTheme",{get:function(){return n.setSvgProps}}):"IMG"===e.tagName?(t&&(e.setSvgProps=t),e.setTheme=n.setImgSvgProps):"[object CSSStyleRule]"==e&&(t&&(e.setSvgProps=t),e.setTheme=n.setRuleSvgProps),e}},function(e,t){e.exports={calendar:{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAc0lEQVR4nIXQwQkCMRSE4U9ZLMCT9Xjaq2AfNhfYU5oQLMAOtoN48EWei5iBIRPe/yYQ3qrhf1lFG7iKcEaJxSfukUvMWgdHavt0uWHtg2QwxXnAnJZ2uOLyVZtybzzhgWNmfoFl0/YB87NbzR1cjP9xeQHSDC6mcL1xFQAAAABJRU5ErkJggg=="},checked:{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAMAAACecocUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4xpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDMwMiwgMjAxNy8wMy8wMi0xNjo1OTozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxZmM0YjdjYS01N2U3LTRjZTUtYWE3Zi1kYmFjZTU0ODJmZjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkIzRUM3OEQzNkMyMTFFODhEOUJCMzRBRUM0QUQ5QUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkIzRUM3OEMzNkMyMTFFODhEOUJCMzRBRUM0QUQ5QUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIEVsZW1lbnRzIDE2LjAgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphZjdjMDA1NS1mMzJlLTQ1NjAtOGQxOS1lYTU1NGVhNDkzMmEiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0YmZiODQwOS03ZWY0LTExN2ItYjI4MS05MDYxODEwMDAwMDAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PI8IaAAAAkFBMVEVOTk5NTU29vb1paWnPz8/AwMC7u7u5ublDQ0NSUlJFRUVfX1/IyMixsbHi4uKFhYXT09PDw8NXV1fKysrMzMxYWFhzc3N7e3ve3t6ioqK+vr7Ly8uhoaHa2tqysrKurq7s7Oyvr6/Jycm2trbt7e3X19fh4eG1tbW/v7+3t7fo6OhERES6urrW1tbd3d0AAADC/hfQAAAAMHRSTlP//////////////////////////////////////////////////////////////wBipdB4AAAAcElEQVR42hTIRRbDMAwAUYVTZoa4ZleyfP/btZrVfwOlq4l66utlge5lrbIqq0cL9JX07Onv8PZr791pvm8H+DBrbhBiTn9f4IzjjcW6Qhw3zNnAxLHChln+iq9xsRUPQNFlyYUjlF0KwZiQDuUnwACjfw8FagWYLwAAAABJRU5ErkJggg=="},"down-rectangle":{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAAkAAAAECAYAAABcDxXOAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAABpJREFUGFdjgIL/eDAKIKgABggqgAE0BQwMAPTlD/Fpi0JfAAAAAElFTkSuQmCC"},"filter-off":{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAChSURBVChTzZHBCoUgFET9TqEiskgyWoutQvRLRIr+cR7XQAjiJW/1BgZmMUevXsY5xy9OoDEGMcYiUzeB67qibVuwQjVNA6311V+WBeM4vsLDMEApde/1fY9pmtI453neHEKAlBJd1z0fXtc16PbjODK07zvmeUZVVd8nooc75zJIOX3Gm6i0bVsGKf8xKIRIuyJTLgJJ3nvQzsjW2geIsQ/pr9hMVrSncAAAAABJRU5ErkJggg=="},"filter-on":{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAACoSURBVChTY3BqfP2fHAzWmDbj7f8p294RhVOBasEa02e+/e/VBmQQCTxaX/9PnvYGoj5ywpv/Qd2ENft3vv4f1gfVBAP+nW/+h/a+ATtn1q73KHjytvdgg3070DTBgHvL6/8g22fsQGiaDmSHA21xaybgIpDHixa8hWssnA8NDEIApCh3LkIjiD2INYJCL2X6W3B8gdhEaQQBUOCA4gyE8+e9xaKJgQEA/74BNE3cElkAAAAASUVORK5CYII="},unchecked:{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAMAAACecocUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4xpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDMwMiwgMjAxNy8wMy8wMi0xNjo1OTozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphNDQ3MTQ0Zi0wYmFmLTQ3YzMtYjBmNi1kODRlNDI0MjU4ZDIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkIzRUM3OTEzNkMyMTFFODhEOUJCMzRBRUM0QUQ5QUMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkIzRUM3OTAzNkMyMTFFODhEOUJCMzRBRUM0QUQ5QUMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIEVsZW1lbnRzIDE2LjAgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OWY2YWVhMC0xZjJkLTRjM2UtYTRiZi02MWYyMDNlMmI4YjciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2Nzk3NWVjNC03ZWY0LTExN2ItYjI4MS05MDYxODEwMDAwMDAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ywX99AAAAYFBMVEW5ubm/v7/X19fLy8vp6ene3t69vb2xsbG6urq+vr6urq7a2tq4uLji4uLIyMjBwcHDw8PJycnPz8/V1dW1tbWvr6/t7e23t7e7u7vs7Oy2trbo6Ojh4eHW1tbd3d0AAAAm0pqPAAAAIHRSTlP/////////////////////////////////////////AFxcG+0AAABZSURBVHjaTIqHDoAgEEOLC9wL5RTP+/+/VIIxdCTNSyFjZQwR1YNAtftxhOQLUHjvQ68K+orqW2C7P7FL9okmrjLl5cv1/+lAKuOVmTObQyZ32tdulkeAAQCpggrEM7zMmAAAAABJRU5ErkJggg=="},"up-down-spin":{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAYAAADUFP50AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAGJJREFUOE+lkwEKACEIBH2Zb/PnHsoGeaVJDUjGOgRRpKpkiIj+y4MME3eDR7kaKOVNsJyMNjIHzGy9YnW6J7qIcrriQimeCqORNABd0fpRTkt8uVUj7EsxC6vs/q3e/Q6iD2bwnByjPXHNAAAAAElFTkSuQmCC"},"up-down":{type:"image/png",data:"iVBORw0KGgoAAAANSUhEUgAAAA4AAAAPCAYAAADUFP50AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAGFJREFUOE+lkkEKQCEIRD2ZJ3Ph3iN4WD9GflpYhj0YYowpGgJmbikd3gjMDFokwbuT1iAiurG5nomgqo5QaPo9ERQRI6Jf7sfGjudy2je23+i0Wl2oQ85TOdlfrJQOazF8br+rqTXQKn0AAAAASUVORK5CYII="}}},function(e,t,i){"use strict";var n=i(66);function r(e,t){return this.getCellOwnProperties(e,t)||o.call(this,e,t)}function o(e,t){var i=(t||this.dataModel).getRowMetadata(e,null),n=this.properties;switch(this.index){case this.behavior.treeColumnIndex:n=n.treeHeader;break;case this.behavior.rowColumnIndex:n=n.rowHeader;break;default:t&&"filter"===t.type&&(n=this.properties.filterProperties)}return i[this.name]=Object.create(n)}t.mixin={getCellProperties:function(e,t){return this.getCellOwnProperties(e,t)||this.properties},setCellProperties:function(e,t,i){if(t)return Object.assign(o.call(this,e,i),t)},addCellProperties:function(e,t,i){if(t)return n(r.call(this,e,i),t)},getCellOwnProperties:function(e,t){var i;return(i=(t||this.dataModel).getRowMetadata(e))&&i&&i[this.name]||null},deleteCellOwnProperties:function(e,t){var i=(t=t||this.dataModel).getRowMetadata(e);i&&(delete i[this.name],0===Object.keys(i).length&&t.setRowMetadata(e))},getCellProperty:function(e,t,i){return this.getCellProperties(e,i)[t]},setCellProperty:function(e,t,i,n){var o=r.call(this,e,n);return o[t]=i,o},deleteCellProperty:function(e,t,i){var n=this.getCellOwnProperties(e,i);n&&delete n[t]},clearAllCellProperties:function(){this.behavior.subgrids.forEach((function(e){for(var t=e.getRowCount();t--;)this.deleteCellOwnProperties(t,e)}),this)}}},function(e,t,i){"use strict";function n(){var e,t=this,i=t.behavior.grid.properties;switch(e=Object.create(i,{index:{get:function(){return t.index}},name:{get:function(){return t.name}},field:{get:function(){return t.name}},columnName:{get:function(){return t.name}},header:{get:function(){return t.header},set:function(e){this!==t.properties&&(i.header=e),t.header=e}},type:{get:function(){return t.type},set:function(e){this!==t.properties&&(i.type=e),t.type=e}},calculator:{get:function(){return t.calculator},set:function(e){this!==t.properties&&(i.calculator=e),t.calculator=e}},toJSON:{value:function(){return Object.assign({header:this.header,type:this.type,calculator:this.calculator},this)}}}),Object.defineProperties(e,{rowHeader:{value:Object.create(e,n.rowHeaderDescriptors)},treeHeader:{value:Object.create(e,n.treeHeaderDescriptors)},columnHeader:{value:Object.create(e,n.columnHeaderDescriptors)},filterProperties:{value:Object.create(e,n.filterDescriptors)}}),t.index){case t.behavior.treeColumnIndex:e=e.treeHeader;break;case t.behavior.rowColumnIndex:e=e.rowHeader}return e}n.treeHeaderDescriptors={font:{configurable:!0,enumerable:!0,get:function(){return this.treeHeaderFont},set:function(e){this.treeHeaderFont=e}},color:{configurable:!0,enumerable:!0,get:function(){return this.treeHeaderColor},set:function(e){this.treeHeaderColor=e}},backgroundColor:{configurable:!0,enumerable:!0,get:function(){return this.treeHeaderBackgroundColor},set:function(e){this.treeHeaderBackgroundColor=e}},foregroundSelectionFont:{configurable:!0,enumerable:!0,get:function(){return this.treeHeaderForegroundSelectionFont},set:function(e){this.treeHeaderForegroundSelectionFont=e}},foregroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.treeHeaderForegroundSelectionColor},set:function(e){this.treeHeaderForegroundSelectionColor=e}},renderer:{configurable:!0,enumerable:!0,get:function(){return this.isDataRow?this.treeRenderer:this.grid.properties.renderer},set:function(e){this.treeRenderer=e}},backgroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.treeHeaderBackgroundSelectionColor},set:function(e){this.treeHeaderBackgroundSelectionColor=e}},columnAutosizing:{configurable:!0,enumerable:!0,get:function(){return this.treeColumnAutosizing},set:function(e){this.treeColumnAutosizing=e}},columnAutosizingMax:{configurable:!0,enumerable:!0,get:function(){return this.treeColumnAutosizingMax},set:function(e){this.treeColumnAutosizingMax=e}}},n.rowHeaderDescriptors={font:{configurable:!0,enumerable:!0,get:function(){return this.rowHeaderFont},set:function(e){this.rowHeaderFont=e}},color:{configurable:!0,enumerable:!0,get:function(){return this.rowHeaderColor},set:function(e){this.rowHeaderColor=e}},backgroundColor:{configurable:!0,enumerable:!0,get:function(){return this.rowHeaderBackgroundColor},set:function(e){this.rowHeaderBackgroundColor=e}},foregroundSelectionFont:{configurable:!0,enumerable:!0,get:function(){return this.rowHeaderForegroundSelectionFont},set:function(e){this.rowHeaderForegroundSelectionFont=e}},foregroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.rowHeaderForegroundSelectionColor},set:function(e){this.rowHeaderForegroundSelectionColor=e}},backgroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.rowHeaderBackgroundSelectionColor},set:function(e){this.rowHeaderBackgroundSelectionColor=e}},leftIcon:{configurable:!0,enumerable:!0,get:function(){var e;if(this.grid.properties.rowHeaderCheckboxes)return this.isDataRow?e=this.isRowSelected?"checked":"unchecked":this.isHeaderRow?e=this.allRowsSelected?"checked":"unchecked":this.isFilterRow&&(e="filter-off"),e},set:function(e){Object.defineProperty(this,"leftIcon",{configurable:!0,enumerable:!0,writable:!0,value:e})}},columnAutosizing:{configurable:!0,enumerable:!0,get:function(){return this.rowNumberAutosizing},set:function(e){this.rowNumberAutosizing=e}}},n.filterDescriptors={font:{configurable:!0,enumerable:!0,get:function(){return this.filterFont},set:function(e){this.filterFont=e}},color:{configurable:!0,enumerable:!0,get:function(){return this.filterColor},set:function(e){this.filterColor=e}},backgroundColor:{configurable:!0,enumerable:!0,get:function(){return this.filterBackgroundColor},set:function(e){this.filterBackgroundColor=e}},foregroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.filterForegroundSelectionColor},set:function(e){this.filterForegroundSelectionColor=e}},backgroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.filterBackgroundSelectionColor},set:function(e){this.filterBackgroundSelectionColor=e}},halign:{configurable:!0,enumerable:!0,get:function(){return this.filterHalign},set:function(e){this.filterHalign=e}},renderer:{configurable:!0,enumerable:!0,get:function(){return this.filterRenderer},set:function(e){this.filterRenderer=e}},editor:{configurable:!0,enumerable:!0,get:function(){return this.filterEditor},set:function(e){this.filterEditor=e}},rightIcon:{configurable:!0,enumerable:!0,get:function(){var e;return this.filterable&&(e=this.filter?"filter-on":"filter-off"),e},set:function(e){Object.defineProperty(this,"rightIcon",{configurable:!0,enumerable:!0,writable:!0,value:e})}}},n.columnHeaderDescriptors={font:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderFont},set:function(e){this.columnHeaderFont=e}},color:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderColor},set:function(e){this.columnHeaderColor=e}},backgroundColor:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderBackgroundColor},set:function(e){this.columnHeaderBackgroundColor=e}},foregroundSelectionFont:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderForegroundSelectionFont},set:function(e){this.columnHeaderForegroundSelectionFont=e}},foregroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderForegroundSelectionColor},set:function(e){this.columnHeaderForegroundSelectionColor=e}},backgroundSelectionColor:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderBackgroundSelectionColor},set:function(e){this.columnHeaderBackgroundSelectionColor=e}},halign:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderHalign},set:function(e){this.columnHeaderHalign=e}},format:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderFormat},set:function(e){this.columnHeaderFormat=e}},renderer:{configurable:!0,enumerable:!0,get:function(){return this.columnHeaderRenderer},set:function(e){this.columnHeaderRenderer=e}},leftIcon:{writable:!0,value:void 0},centerIcon:{writable:!0,value:void 0},rightIcon:{writable:!0,value:void 0}},t.mixin={createColumnProperties:n}},function(e,t,i){"use strict";var n=Object.defineProperties({},{value:{get:function(){return this.subgrid.getValue(this.dataCell.x,this.dataCell.y)},set:function(e){this.subgrid.setValue(this.dataCell.x,this.dataCell.y,e)}},dataRow:{get:function(){return this.subgrid.getRow(this.dataCell.y)}},formattedValue:{get:function(){return this.grid.formatValue(this.properties.format,this.value)}},bounds:{get:function(){return this._bounds||(this._bounds={x:this.visibleColumn.left,y:this.visibleRow.top,width:this.visibleColumn.width,height:this.visibleRow.height})}},columnProperties:{get:function(){var e=this._columnProperties;return e||(e=this.column.properties,this.isDataColumn&&(this.isDataRow||(e=this.isFilterRow?e.filterProperties:e.columnHeader)),this._columnProperties=e),e}},cellOwnProperties:{get:function(){return void 0===this._cellOwnProperties&&(this._cellOwnProperties=this.column.getCellOwnProperties(this.dataCell.y,this.subgrid)),this._cellOwnProperties}},properties:{get:function(){return this.cellOwnProperties||this.columnProperties}},getCellProperty:{value:function(e){return this.properties[e]}},setCellProperty:{value:function(e,t){this._cellOwnProperties=this.column.setCellProperty(this.dataCell.y,e,t,this.subgrid)}},rowOwnProperties:{get:function(){return this.behavior.getRowProperties(this,void 0,this.subgrid)}},rowProperties:{get:function(){return this.behavior.getRowProperties(this,null,this.subgrid)},set:function(e){this.behavior.setRowProperties(this,e,this.subgrid)}},getRowProperty:{value:function(e){var t=this.rowOwnProperties;return t&&t[e]}},setRowProperty:{value:function(e,t){this.rowProperties[e]=t}},reset:{value:function(e,t){this._columnProperties=void 0,this._cellOwnProperties=void 0,this._bounds=void 0,this.snapshot=[],this.minWidth=void 0,this.visibleColumn=e,this.visibleRow=t,this.subgrid=t.subgrid,this.column=e.column,this.gridCell.x=e.columnIndex,this.gridCell.y=t.index,this.dataCell.x=this.column&&this.column.index,this.dataCell.y=t.rowIndex}},resetGridCY:{value:function(e,t){var i,n,r=(n=this.renderer.getVisibleColumn(e))&&(i=this.renderer.getVisibleRow(t));return r&&this.reset(n,i),r}},resetGridXY:{value:function(e,t){var i,n,r=(n=this.renderer.visibleColumns[e])&&(i=this.renderer.getVisibleRow(t));return r&&this.reset(n,i),r}},resetDataXY:{value:function(e,t,i){var n,r,o=(r=this.renderer.getVisibleDataColumn(e))&&(n=this.renderer.getVisibleDataRow(t,i));return o&&this.reset(r,n),o}},resetGridXDataY:{value:function(e,t,i,n){var r,o,s;return n?(o={column:this.behavior.getColumn(e),columnIndex:e},s={subgrid:i||this.behavior.dataModel,rowIndex:t},r=!0):r=(o=this.renderer.getVisibleColumn(e))&&(s=this.renderer.getVisibleDataRow(t,i)),r&&this.reset(o,s),r&&this}},clone:{value:function(e){var t=new this.constructor;return t.resetGridXY(this.visibleColumn.index,this.visibleRow.index),e&&Object.assign(t,this),t}},editPoint:{get:function(){throw"The `.editPoint` property is no longer available as of v1.2.10. Use the following coordinates instead:\n`.gridCell.x` - The active column index. (Adjusted for column scrolling after fixed columns.)\n`.gridCell.y` - The vertical grid coordinate. (Unaffected by row scrolling.)\n`.dataCell.x` - The data model's column index. (Unaffected by column scrolling.)\n`.dataCell.y` - The data model's row index. (Adjusted for data row scrolling after fixed rows.)\n"}},mousePointInClickRect:{get:function(){var e="clickRect"in this?this.clickRect:this.properties.clickRect;return!e||("function"==typeof e.contains?e.contains(this.mousePoint):e.x<=this.mousePoint.x&&this.mousePoint.x<e.x+e.width&&e.y<=this.mousePoint.y&&this.mousePoint.y<e.y+e.height)}},isRowVisible:{get:function(){return!!this.visibleRow}},isColumnVisible:{get:function(){return!!this.visibleColumn}},isCellVisible:{get:function(){return this.isRowVisible&&this.isColumnVisible}},isDataRow:{get:function(){return this.subgrid.isData}},isDataColumn:{get:function(){return this.gridCell.x>=0}},isDataCell:{get:function(){return this.isDataRow&&this.isDataColumn}},isRowSelected:{get:function(){return this.isDataRow&&this.selectionModel.isRowSelected(this.dataCell.y)}},isColumnSelected:{get:function(){return this.isDataColumn&&this.selectionModel.isColumnSelected(this.gridCell.x)}},isCellSelected:{get:function(){return this.selectionModel.isCellSelected(this.gridCell.x,this.dataCell.y)}},isRowHovered:{get:function(){return this.grid.canvas.hasMouse&&this.isDataRow&&this.grid.hoverCell&&this.grid.hoverCell.y===this.gridCell.y}},isColumnHovered:{get:function(){return this.grid.canvas.hasMouse&&this.isDataColumn&&this.grid.hoverCell&&this.grid.hoverCell.x===this.gridCell.x}},isCellHovered:{get:function(){return this.isRowHovered&&this.isColumnHovered}},isRowFixed:{get:function(){return this.isDataRow&&this.dataCell.y<this.grid.properties.fixedRowCount}},isColumnFixed:{get:function(){return this.isDataColumn&&this.gridCell.x<this.grid.properties.fixedColumnCount}},isCellFixed:{get:function(){return this.isRowFixed&&this.isColumnFixed}},isHandleColumn:{get:function(){return this.gridCell.x===this.behavior.rowColumnIndex&&this.grid.properties.showRowNumbers}},isHandleCell:{get:function(){return this.isHandleColumn&&this.isDataRow}},isTreeColumn:{get:function(){return this.gridCell.x===this.behavior.treeColumnIndex}},isHeaderRow:{get:function(){return this.subgrid.isHeader}},isHeaderHandle:{get:function(){return this.isHeaderRow&&this.isHandleColumn}},isHeaderCell:{get:function(){return this.isHeaderRow&&this.isDataColumn}},isFilterRow:{get:function(){return this.subgrid.isFilter}},isFilterHandle:{get:function(){return this.isFilterRow&&this.isHandleColumn}},isFilterCell:{get:function(){return this.isFilterRow&&this.isDataColumn}},isSummaryRow:{get:function(){return this.subgrid.isSummary}},isSummaryHandle:{get:function(){return this.isSummaryRow&&this.isHandleColumn}},isSummaryCell:{get:function(){return this.isSummaryRow&&this.isDataColumn}},isTopTotalsRow:{get:function(){return this.subgrid===this.behavior.subgrids.lookup.topTotals}},isTopTotalsHandle:{get:function(){return this.isTopTotalsRow&&this.isHandleColumn}},isTopTotalsCell:{get:function(){return this.isTopTotalsRow&&this.isDataColumn}},isBottomTotalsRow:{get:function(){return this.subgrid===this.behavior.subgrids.lookup.bottomTotals}},isBottomTotalsHandle:{get:function(){return this.isBottomTotalsRow&&this.isHandleColumn}},isBottomTotalsCell:{get:function(){return this.isBottomTotalsRow&&this.isDataColumn}},$$CLASS_NAME:{value:"CellEvent"}}),r=i(2).Point;function o(e,t){}o.prototype=r.prototype;var s={writable:!0},a={writable:!0,enumerable:!0};e.exports=function(e){function t(e,t){Object.defineProperties(this,{visibleColumn:s,visibleRow:s,subgrid:s,gridCell:{value:new o},dataCell:{value:new o},column:a,_columnProperties:s,_cellOwnProperties:s,_bounds:s,snapshot:s,minWidth:s,disabled:s}),arguments.length&&this.resetGridCY(e,t)}return t.prototype=Object.create(n,{constructor:{value:t},grid:{value:e},renderer:{value:e.renderer},selectionModel:{value:e.selectionModel},behavior:{value:e.behavior},dataModel:{value:e.behavior.dataModel}}),t}},function(e,t,i){"use strict";var n=i(37),r=/^__/,o={decorateSchema:function(e){return(new n).decorateArray(e),e},decorateColumnSchema:function(e,t){var i=new n;return i.transformations={},i.transformations[t]="header",i.decorateArray(e),e},normalizeSchema:function(e){e.forEach((function(t,i){"string"==typeof t&&(e[i]={name:t})}));for(var t=e.length;t--;)r.test(e[t].name)&&e.splice(t,1);return e.forEach((function(e,t){e.index=t})),e},getFieldNames:function(e){return Object.keys(e||{}).filter((function(e){return!r.test(e)}))},titleize:i(67).toTitle,getSchema:function(e){var t=e&&e[0]||{},i=o.getFieldNames(t);return o.normalizeSchema(i),o.decorateSchema(i),o.decorateColumnSchema(i,"toTitle"),i}};e.exports=o},function(e,t,i){"use strict";var n=i(38).extend("Features",{BaseClass:i(0),initialize:function(){this.add(n.CellClick),this.add(n.CellEditing),this.add(n.CellSelection),this.add(n.ColumnMoving),this.add(n.ColumnResizing),this.add(n.ColumnSelection),this.add(n.ColumnSorting),this.add(n.Filters),this.add(n.KeyPaging),this.add(n.OnHover),this.add(n.RowSelection),this.add(n.ThumbwheelScrolling),this.add(n.TouchScrolling)}});n.BaseClass=i(0),n.CellClick=i(169),n.CellEditing=i(170),n.CellSelection=i(171),n.ColumnMoving=i(172),n.ColumnResizing=i(173),n.ColumnSelection=i(174),n.ColumnSorting=i(175),n.Filters=i(176),n.KeyPaging=i(177),n.OnHover=i(178),n.RowSelection=i(179),n.ThumbwheelScrolling=i(180),n.TouchScrolling=i(181),e.exports=new n},function(e,t,i){"use strict";var n=i(0).extend("CellClick",{handleMouseMove:function(e,t){var i=t.properties.link,n=i&&"boolean"!=typeof i;this.cursor=n?"pointer":null,this.next&&this.next.handleMouseMove(e,t)},handleClick:function(e,t){!((t.isDataCell||t.isTreeColumn)&&(void 0!==this.openLink(e,t)||e.cellClicked(t)))&&this.next&&this.next.handleClick(e,t)},openLink:function(e,t){var i,n,r=t.dataRow,o=Object.create(t.properties,{dataRow:{value:r}}),s=o.exec(t.value),a=t.properties.link,l=a instanceof Array,c=l?a[0]:a;switch(typeof c){case"string":"*"===c?n=s:/^\w+$/.test(c)&&(n=r[c]);break;case"function":n=c(t)}return n&&(n=n.toString().replace(/%name/g,o.name).replace(/%value/g,s),l?((a=a.slice())[0]=n,i=e.windowOpen.apply(e,a)):i=e.windowOpen(n,t.properties.linkTarget)),i&&(t.setCellProperty("linkColor",e.properties.linkVisitedColor),e.renderer.resetCellPropertiesCache(t),e.repaint()),i}});e.exports=n},function(e,t,i){"use strict";var n=i(0),r=i(13),o=n.extend("CellEditing",{handleClick:function(e,t){s.call(this,e,t)},handleDoubleClick:function(e,t){s.call(this,e,t,!0)},handleKeyDown:function(e,t){var i,n,o,s,a;(a=e.getGridCellFromLastSelection())&&a.properties.editOnKeydown&&!e.cellEditor&&("F2"===(i=t.detail.char)||(n=1===i.length&&!(t.detail.meta||t.detail.ctrl))||(o="DELETE"===i||"BACKSPACE"===i))?(s=e.onEditorActivate(a))instanceof r&&(n?s.input.value=i:o&&s.setEditorValue(""),t.detail.primitiveEvent.preventDefault()):this.next&&this.next.handleKeyDown(e,t)}});function s(e,t,i){!t.isDataCell||t.getCellProperty("editOnDoubleClick")^i||e.onEditorActivate(t),this.next&&this.next[i?"handleDoubleClick":"handleClick"](e,t)}e.exports=o},function(e,t,i){"use strict";var n=i(0).extend("CellSelection",{currentDrag:null,lastDragCell:null,sbLastAuto:0,sbAutoStart:0,handleMouseUp:function(e,t){this.dragging&&(this.dragging=!1),this.next&&this.next.handleMouseUp(e,t)},handleMouseDown:function(e,t){var i=t.gridCell.x,n=t.dataCell.y;if(e.behavior.getCellProperty(t.dataCell.x,t.gridCell.y,"cellSelection")&&t.isDataCell&&!t.primitiveEvent.detail.isRightClick){var r=e.newPoint(i,n),o=t.primitiveEvent.detail.keys;this.dragging=!0,this.extendSelection(e,r,o)}else this.next&&this.next.handleMouseDown(e,t)},handleMouseDrag:function(e,t){this.dragging&&e.properties.cellSelection&&!t.primitiveEvent.detail.isRightClick?(this.currentDrag=t.primitiveEvent.detail.mouse,this.lastDragCell=e.newPoint(t.gridCell.x,t.dataCell.y),this.checkDragScroll(e,this.currentDrag),this.handleMouseDragCellSelection(e,this.lastDragCell,t.primitiveEvent.detail.keys)):this.next&&this.next.handleMouseDrag(e,t)},handleKeyDown:function(e,t){var i=t.detail,n=e.getGridCellFromLastSelection(!0),r=this["handle"+(n&&(n.properties.mappedNavKey(i.char,i.ctrl)||n.properties.navKey(i.char,i.ctrl)))];r?(r.call(this,e,i),n.properties.editOnNextCell&&(e.renderer.computeCellsBounds(!0),n=e.getGridCellFromLastSelection(),e.editAt(n)),e.cellEditor||e.takeFocus()):this.next&&this.next.handleKeyDown(e,t)},handleMouseDragCellSelection:function(e,t,i){var n=Math.max(0,t.x),r=Math.max(0,t.y),o=e.getDragExtent(),s=e.getMouseDown(),a=n-s.x,l=r-s.y;o.x===a&&o.y===l||(e.clearMostRecentSelection(),e.select(s.x,s.y,a,l),e.setDragExtent(e.newPoint(a,l)),e.repaint())},checkDragScroll:function(e,t){e.properties.scrollingEnabled&&(e.getDataBounds().contains(t)?e.isScrollingNow()&&e.setScrollingNow(!1):e.isScrollingNow()||(e.setScrollingNow(!0),this.scrollDrag(e)))},scrollDrag:function(e){if(e.isScrollingNow()){var t=e.isMouseDownInHeaderArea(),i=this.lastDragCell,n=e.getDataBounds(),r=0,o=0,s=e.getFixedColumnCount(),a=e.getFixedRowCount(),l=i.x<s,c=i.y<a;t||(this.currentDrag.x<n.origin.x&&(r=-1),this.currentDrag.y<n.origin.y&&(o=-1)),this.currentDrag.x>n.origin.x+n.extent.x&&(r=1),this.currentDrag.y>n.origin.y+n.extent.y&&(o=1);var u=r,h=o;l&&(u=0),c&&(h=0),this.lastDragCell=i.plusXY(u,h),e.scrollBy(r,o),this.handleMouseDragCellSelection(e,i,[]),e.repaint(),setTimeout(this.scrollDrag.bind(this,e),25)}},extendSelection:function(e,t,i){var n=i.indexOf("CTRL")>=0,r=i.indexOf("SHIFT")>=0,o=e.getMouseDown(),s=t.x,a=t.y;if(!(s<0||a<0)){if(n&&s===o.x&&a===o.y)return e.clearMostRecentSelection(),e.popMouseDown(),void e.repaint();n||r||e.clearSelections(),r?(e.clearMostRecentSelection(),e.select(o.x,o.y,s-o.x,a-o.y),e.setDragExtent(e.newPoint(s-o.x,a-o.y))):(e.select(s,a,0,0),e.setMouseDown(e.newPoint(s,a)),e.setDragExtent(e.newPoint(0,0))),e.repaint()}},handleDOWNSHIFT:function(e){this.moveShiftSelect(e,0,1)},handleUPSHIFT:function(e){this.moveShiftSelect(e,0,-1)},handleLEFTSHIFT:function(e){this.moveShiftSelect(e,-1,0)},handleRIGHTSHIFT:function(e){this.moveShiftSelect(e,1,0)},handleDOWN:function(e,t){t.primitiveEvent.preventDefault();var i=this.getAutoScrollAcceleration();e.moveSingleSelect(0,i)},handleUP:function(e,t){t.primitiveEvent.preventDefault();var i=this.getAutoScrollAcceleration();e.moveSingleSelect(0,-i)},handleLEFT:function(e){e.moveSingleSelect(-1,0)},handleRIGHT:function(e){e.moveSingleSelect(1,0)},getAutoScrollAcceleration:function(){var e=this.getAutoScrollDuration()/2e3;return Math.max(1,Math.floor(e*e*e*e))},setAutoScrollStartTime:function(){this.sbAutoStart=Date.now()},pingAutoScroll:function(){Date.now()-this.sbLastAuto>500&&this.setAutoScrollStartTime(),this.sbLastAuto=Date.now()},getAutoScrollDuration:function(){return Date.now()-this.sbLastAuto>500?0:Date.now()-this.sbAutoStart},moveShiftSelect:function(e,t,i){e.extendSelect(t,i)&&this.pingAutoScroll()}});e.exports=n},function(e,t,i){"use strict";var n,r,o,s,a=i(0),l=["grab","-moz-grab","-webkit-grab"],c=["grabbing","-moz-grabbing","-webkit-grabbing"],u=function(e){this.cursor=e},h=a.extend("ColumnMoving",{floaterAnimationQueue:[],columnDragAutoScrollingRight:!1,columnDragAutoScrollingLeft:!1,dragArmed:!1,dragging:!1,dragCol:-1,dragOffset:0,initializeOn:function(e){this.isFloatingNow=!1,this.initializeAnimationSupport(e),this.next&&this.next.initializeOn(e)},initializeAnimationSupport:function(e){n||((n=document.createElement("canvas")).setAttribute("width","0px"),n.setAttribute("height","0px"),n.style.position="fixed",document.body.appendChild(n),r=n.getContext("2d",{alpha:!1})),o||((o=document.createElement("canvas")).setAttribute("width","0px"),o.setAttribute("height","0px"),o.style.position="fixed",document.body.appendChild(o),s=o.getContext("2d",{alpha:!1}))},handleMouseDrag:function(e,t){var i,n=t.gridCell;Math.abs(t.primitiveEvent.detail.dragstart.x-t.primitiveEvent.detail.mouse.x)<10||t.isColumnFixed?this.next&&this.next.handleMouseDrag(e,t):(t.isHeaderCell&&this.dragArmed&&!this.dragging?(this.dragging=!0,this.dragCol=n.x,this.dragOffset=t.mousePoint.x,this.detachChain(),i=t.primitiveEvent.detail.mouse.x-this.dragOffset,this.createDragColumn(e,i,this.dragCol)):this.next&&this.next.handleMouseDrag(e,t),this.dragging&&(i=t.primitiveEvent.detail.mouse.x-this.dragOffset,this.dragColumn(e,i)))},handleMouseDown:function(e,t){e.properties.columnsReorderable&&!t.primitiveEvent.detail.isRightClick&&!t.isColumnFixed&&t.isHeaderCell?(this.dragArmed=!0,this.cursor=c,e.clearSelections()):this.next&&this.next.handleMouseDown(e,t)},handleMouseUp:function(e,t){if(this.dragging){this.cursor=null;var i=this;this.endDragColumn(e),setTimeout((function(){i.attachChain()}),200)}this.dragCol=-1,this.dragging=!1,this.dragArmed=!1,this.cursor=null,e.repaint(),this.next&&this.next.handleMouseUp(e,t)},handleMouseMove:function(e,t){e.properties.columnsReorderable&&!t.isColumnFixed&&!this.dragging&&t.isHeaderCell&&t.mousePoint.y<e.properties.columnGrabMargin?this.cursor=l:this.cursor=null,this.next&&this.next.handleMouseMove(e,t),t.isHeaderCell&&this.dragging&&(this.cursor=c)},floatColumnTo:function(e,t){this.floatingNow=!0;var i,n,r=e.renderer.visibleColumns,o=e.getHScrollValue(),s=e.renderOverridesCache.floater.columnIndex,a=e.renderOverridesCache.dragger.columnIndex,l=e.renderOverridesCache.dragger.hdpiratio,c=e.getFixedColumnCount(),u=e.getColumnWidth(a),h=e.getColumnWidth(s),d=e.getVisibleColumnsCount(),f=0,g=0;a>=c&&(f=o),s>=c&&(g=o),t?(i=r[Math.min(d,a-f)].left,n=r[Math.min(d,s-g)].left,e.renderOverridesCache.dragger.startX=(i+h)*l,e.renderOverridesCache.floater.startX=i*l):(i=(n=r[Math.min(d,s-g)].left)+u,e.renderOverridesCache.dragger.startX=n*l,e.renderOverridesCache.floater.startX=i*l),e.swapColumns(a,s),e.renderOverridesCache.dragger.columnIndex=s,e.renderOverridesCache.floater.columnIndex=a,this.floaterAnimationQueue.unshift(this.doColumnMoveAnimation(e,n,i)),this.doFloaterAnimation(e)},doColumnMoveAnimation:function(e,t,i){var n=this;return function(){var r=o;r.style.display="inline",n.setCrossBrowserProperty(r,"transform","translate("+t+"px, 0px)"),requestAnimationFrame((function(){n.setCrossBrowserProperty(r,"transition",(n.isWebkit?"-webkit-":"")+"transform 150ms ease"),n.setCrossBrowserProperty(r,"transform","translate("+i+"px, "+-2+"px)")})),e.repaint(),setTimeout((function(){n.setCrossBrowserProperty(r,"transition",""),e.renderOverridesCache.floater=null,e.repaint(),n.doFloaterAnimation(e),requestAnimationFrame((function(){r.style.display="none",n.isFloatingNow=!1}))}),200)}},doFloaterAnimation:function(e){if(0===this.floaterAnimationQueue.length)return this.floatingNow=!1,void e.repaint();this.floaterAnimationQueue.pop()()},createFloatColumn:function(e,t){var i=e.getFixedColumnCount(),n=e.getHScrollValue();t<i&&(n=0);var r=e.getColumnWidth(t),a=e.div.clientHeight,l=o,h=l.style,d=e.div.getBoundingClientRect();h.top=d.top-2+"px",h.left=d.left+"px";var f=e.getHiDPI(s);l.setAttribute("width",Math.round(r*f)+"px"),l.setAttribute("height",Math.round(a*f)+"px"),h.boxShadow="0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)",h.width=r+"px",h.height=a+"px",h.borderTop="1px solid "+e.properties.lineColor,h.backgroundColor=e.properties.backgroundColor;var g=e.renderer.visibleColumns[t-n].left*f;s.scale(f,f),e.renderOverridesCache.floater={columnIndex:t,ctx:s,startX:g,width:r,height:a,hdpiratio:f},h.zIndex="4",this.setCrossBrowserProperty(l,"transform","translate("+g+"px, "+-2+"px)"),c.forEach(u,h),e.repaint()},setCrossBrowserProperty:function(e,t,i){var n=t[0].toUpperCase()+t.substr(1);this.setProp(e,"webkit"+n,i),this.setProp(e,"Moz"+n,i),this.setProp(e,"ms"+n,i),this.setProp(e,"O"+n,i),this.setProp(e,t,i)},setProp:function(e,t,i){t in e.style&&(e.style[t]=i)},createDragColumn:function(e,t,i){var o=e.getFixedColumnCount(),s=e.getHScrollValue();i<o&&(s=0);var a=e.getHiDPI(r),l=e.getColumnWidth(i),h=e.div.clientHeight,d=n,f=e.div.getBoundingClientRect(),g=d.style;g.top=f.top+"px",g.left=f.left+"px",g.opacity=.85,g.boxShadow="0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22)",g.borderTop="1px solid "+e.properties.lineColor,g.backgroundColor=e.properties.backgroundColor,d.setAttribute("width",Math.round(l*a)+"px"),d.setAttribute("height",Math.round(h*a)+"px"),g.width=l+"px",g.height=h+"px";var p=e.renderer.visibleColumns[i-s].left*a;r.scale(a,a),e.renderOverridesCache.dragger={columnIndex:i,startIndex:i,ctx:r,startX:p,width:l,height:h,hdpiratio:a},this.setCrossBrowserProperty(d,"transform","translate("+t+"px, -5px)"),g.zIndex="5",c.forEach(u,g),e.repaint()},dragColumn:function(e,t){var i=this.columnDragAutoScrollingRight||this.columnDragAutoScrollingLeft,o=e.getHiDPI(r),s=e.renderOverridesCache.dragger.columnIndex,a=e.renderer.getFinalVisibleColumnBoundary();t=Math.min(t,a+15);var l=(t=Math.max(-15,t))<0&&0!==s,c=t>a,u=n;this.setCrossBrowserProperty(u,"transition",(this.isWebkit?"-webkit-":"")+"transform 0ms ease, box-shadow 150ms ease"),this.setCrossBrowserProperty(u,"transform","translate("+t+"px, "+-10+"px)"),requestAnimationFrame((function(){u.style.display="inline"}));var h=e.renderer.getColumnFromPixelX(t+u.width/2/o);l&&(h=0),c&&(h=e.getColumnCount()-1);var d=s>h;if((d=d||h-s>=1)&&!i){var f=s<h;if(this.isFloatingNow)return;this.isFloatingNow=!0,this.createFloatColumn(e,h),this.floatColumnTo(e,f)}else{if(t<-10&&this.checkAutoScrollToLeft(e,t),t>-10&&(this.columnDragAutoScrollingLeft=!1),c||t>a+10)return void this.checkAutoScrollToRight(e,t);t<a+10&&(this.columnDragAutoScrollingRight=!1)}},checkAutoScrollToRight:function(e,t){this.columnDragAutoScrollingRight||(this.columnDragAutoScrollingRight=!0,this._checkAutoScrollToRight(e,t))},_checkAutoScrollToRight:function(e,t){if(this.columnDragAutoScrollingRight){var i=e.getHScrollValue();if(e.dragging&&!(i>e.sbHScroller.range.max-2)){var n=e.renderOverridesCache.dragger.columnIndex;e.scrollBy(1,0);var r=n+1;e.swapColumns(r,n),e.renderOverridesCache.dragger.columnIndex=r,setTimeout(this._checkAutoScrollToRight.bind(this,e,t),250)}}},checkAutoScrollToLeft:function(e,t){this.columnDragAutoScrollingLeft||(this.columnDragAutoScrollingLeft=!0,this._checkAutoScrollToLeft(e,t))},_checkAutoScrollToLeft:function(e,t){if(this.columnDragAutoScrollingLeft){var i=e.getHScrollValue();if(e.dragging&&!(i<1)){var n=e.renderOverridesCache.dragger.columnIndex;e.swapColumns(n+i,n+i-1),e.scrollBy(-1,0),setTimeout(this._checkAutoScrollToLeft.bind(this,e,t),250)}}},endDragColumn:function(e){var t=e.getFixedColumnCount(),i=e.getHScrollValue(),r=e.renderOverridesCache.dragger.columnIndex;r<t&&(i=0);var o=e.renderer.visibleColumns[r-i].left,s=n,a=e.renderOverridesCache.dragger.startIndex!==e.renderOverridesCache.dragger.columnIndex;this.setCrossBrowserProperty(s,"transition",(this.isWebkit?"-webkit-":"")+"transform 150ms ease, box-shadow 150ms ease"),this.setCrossBrowserProperty(s,"transform","translate("+o+"px, "+-1+"px)"),s.style.boxShadow="0px 0px 0px #888888",setTimeout((function(){e.renderOverridesCache.dragger=null,e.repaint(),requestAnimationFrame((function(){s.style.display="none",e.endDragColumnNotification(),a&&e.fireSyntheticOnColumnsChangedEvent()}))}),200)}});e.exports=h},function(e,t,i){"use strict";var n=i(0).extend("ColumnResizing",{dragStart:-1,dragStartWidth:-1,getMouseValue:function(e){return e.primitiveEvent.detail.mouse.x},overAreaDivider:function(e,t){var i=e.behavior.leftMostColIndex;return t.gridCell.x!==i&&t.mousePoint.x<=3||t.mousePoint.x>=t.bounds.width-3},getCursorName:function(){return"col-resize"},handleMouseDrag:function(e,t){if(this.dragColumn){var i=this.getMouseValue(t)-this.dragStart,n=this.dragStartWidth+i,r=this.nextStartWidth-i;if(this.nextColumn){var o=this.nextColumn.properties,s=this.dragColumn.properties;(0<i&&i<=this.nextStartWidth-o.minimumColumnWidth&&(!s.maximumColumnWidth||n<=s.maximumColumnWidth)||0>i&&i>=-(this.dragStartWidth-s.minimumColumnWidth)&&(!o.maximumColumnWidth||r<o.maximumColumnWidth))&&(e.behavior.setColumnWidth(this.dragColumn,n),e.behavior.setColumnWidth(this.nextColumn,r))}else e.behavior.setColumnWidth(this.dragColumn,n)}else this.next&&this.next.handleMouseDrag(e,t)},handleMouseDown:function(e,t){if(t.isHeaderRow&&this.overAreaDivider(e,t)){var i=t.gridCell.x;if(t.mousePoint.x<=3){i-=1;var n=e.renderer.visibleColumns[i]||e.renderer.visibleColumns[i-1];if(!n)return;this.dragColumn=n.column,this.dragStartWidth=n.width}else this.dragColumn=t.column,this.dragStartWidth=t.bounds.width;this.dragStart=this.getMouseValue(t),this.dragColumn.properties.resizeColumnInPlace?(i+=1,(n=e.renderer.visibleColumns[i]||e.renderer.visibleColumns[i+1])?(this.nextColumn=n.column,this.nextStartWidth=this.nextColumn.getWidth()):this.nextColumn=void 0):this.nextColumn=void 0}else this.next&&this.next.handleMouseDown(e,t)},handleMouseUp:function(e,t){this.dragColumn?(this.cursor=null,this.dragColumn=!1,t.primitiveEvent.stopPropagation(),e.behaviorShapeChanged()):this.next&&this.next.handleMouseUp(e,t)},handleMouseMove:function(e,t){this.dragColumn||(this.cursor=null,this.next&&this.next.handleMouseMove(e,t),this.cursor=t.isHeaderRow&&this.overAreaDivider(e,t)?this.getCursorName():null)},handleDoubleClick:function(e,t){if(t.isHeaderRow&&this.overAreaDivider(e,t)){var i=t.mousePoint.x<=3?e.behavior.getActiveColumn(t.gridCell.x-1):t.column;i.addProperties({columnAutosizing:!0,columnAutosized:!1}),setTimeout((function(){e.autosizeColumn(i)}))}else this.next&&this.next.handleDoubleClick(e,t)}});e.exports=n},function(e,t,i){"use strict";var n=i(0).extend("ColumnSelection",{currentDrag:null,lastDragColumn:null,sbLastAuto:0,sbAutoStart:0,handleMouseUp:function(e,t){this.dragging&&(this.dragging=!1),this.next&&this.next.handleMouseUp(e,t)},handleDoubleClick:function(e,t){this.doubleClickTimer&&(clearTimeout(this.doubleClickTimer),this.doubleClickTimer=void 0),this.next&&this.next.handleDoubleClick(e,t)},handleMouseDown:function(e,t){this.doubleClickTimer||(e.properties.columnSelection&&!t.primitiveEvent.detail.isRightClick&&(e.properties.autoSelectColumns||t.isHeaderCell&&t.mousePoint.y>=5)?this.doubleClickTimer=setTimeout(o.bind(this,e,t),r.call(this,e,t)):this.next&&this.next.handleMouseDown(e,t))},handleMouseDrag:function(e,t){e.properties.columnSelection&&!this.isColumnDragging(e)&&!t.primitiveEvent.detail.isRightClick&&this.dragging?(this.lastDragColumn=t.gridCell.x,this.currentDrag=t.primitiveEvent.detail.mouse,this.checkDragScroll(e,this.currentDrag),this.handleMouseDragCellSelection(e,this.lastDragColumn,t.primitiveEvent.detail.keys)):this.next&&this.next.handleMouseDrag(e,t)},handleKeyDown:function(e,t){var i=t.detail,n="column"===e.getLastSelectionType()&&this["handle"+i.char];n?n.call(this,e,i):this.next&&this.next.handleKeyDown(e,t)},handleMouseDragCellSelection:function(e,t,i){var n=e.getMouseDown().x;e.clearMostRecentColumnSelection(),e.selectColumn(n,t),e.setDragExtent(e.newPoint(t-n,0)),e.repaint()},checkDragScroll:function(e,t){e.properties.scrollingEnabled&&e.getDataBounds().contains(t)?e.isScrollingNow()&&e.setScrollingNow(!1):e.isScrollingNow()||(e.setScrollingNow(!0),this.scrollDrag(e))},scrollDrag:function(e){if(e.isScrollingNow()){var t,i=e.getDataBounds();this.currentDrag.x<i.origin.x?t=-1:this.currentDrag.x>i.origin.x+i.extent.x&&(t=1),t&&(this.lastDragColumn>=e.getFixedColumnCount()&&(this.lastDragColumn+=t),e.scrollBy(t,0)),this.handleMouseDragCellSelection(e,this.lastDragColumn,[]),e.repaint(),setTimeout(this.scrollDrag.bind(this,e),25)}},extendSelection:function(e,t,i){if(e.abortEditing()){var n=e.getMouseDown().x,r=i.indexOf("SHIFT")>0;t<0||(r?(e.clearMostRecentColumnSelection(),e.selectColumn(t,n),e.setDragExtent(e.newPoint(t-n,0))):(e.toggleSelectColumn(t,i),e.setMouseDown(e.newPoint(t,0)),e.setDragExtent(e.newPoint(0,0))),e.repaint())}},handleDOWNSHIFT:function(e){},handleUPSHIFT:function(e){},handleLEFTSHIFT:function(e){this.moveShiftSelect(e,-1)},handleRIGHTSHIFT:function(e){this.moveShiftSelect(e,1)},handleDOWN:function(e){},handleUP:function(e){},handleLEFT:function(e){this.moveSingleSelect(e,-1)},handleRIGHT:function(e){this.moveSingleSelect(e,1)},getAutoScrollAcceleration:function(){var e=this.getAutoScrollDuration()/2e3;return Math.max(1,Math.floor(e*e*e*e))},setAutoScrollStartTime:function(){this.sbAutoStart=Date.now()},pingAutoScroll:function(){Date.now()-this.sbLastAuto>500&&this.setAutoScrollStartTime(),this.sbLastAuto=Date.now()},getAutoScrollDuration:function(){return Date.now()-this.sbLastAuto>500?0:Date.now()-this.sbAutoStart},moveShiftSelect:function(e,t){var i=e.getMouseDown(),n=e.getDragExtent().x+t,r=e.renderer.visibleColumns.length-1,o=e.getColumnCount()-1;e.properties.scrollingEnabled||(o=Math.min(o,r)),n=Math.min(o-i.x,Math.max(-i.x,n)),e.clearMostRecentColumnSelection(),e.selectColumn(i.x,i.x+n),e.setDragExtent(e.newPoint(n,0)),e.insureModelColIsVisible(n+i.x,t)&&this.pingAutoScroll(),e.repaint()},moveSingleSelect:function(e,t){var i=e.getDragExtent(),n=e.getMouseDown().plus(i).x+t,r=e.getColumnCount()-1,o=e.getVisibleColumnsCount()-1;e.properties.scrollingEnabled||(r=Math.min(r,o)),n=Math.min(r,Math.max(0,n)),e.clearSelections(),e.selectColumn(n),e.setMouseDown(e.newPoint(n,0)),e.setDragExtent(e.newPoint(0,0)),e.insureModelColIsVisible(n,t)&&this.pingAutoScroll(),e.repaint()},isColumnDragging:function(e){var t=e.lookupFeature("ColumnMoving");return t&&(t.dragging||t.dragArmed)}});function r(e,t){var i;return t.isHeaderCell&&!(i=t.columnProperties).unsortable&&i.sortOnDoubleClick&&300}function o(e,t){this.doubleClickTimer=void 0,this.dragging=!0,this.extendSelection(e,t.gridCell.x,t.primitiveEvent.detail.keys)}e.exports=n},function(e,t,i){"use strict";var n=i(0).extend("ColumnSorting",{handleClick:function(e,t){r.call(this,e,t)},handleDoubleClick:function(e,t){r.call(this,e,t,!0)},handleMouseMove:function(e,t){var i;t.isRowFixed&&t.isHeaderCell&&(i=e.behavior.getColumnProperties(t.gridCell.x))&&!i.unsortable?this.cursor="pointer":this.cursor=null,this.next&&this.next.handleMouseMove(e,t)}});function r(e,t,i){var n;!t.isHeaderCell||(n=t.columnProperties).unsortable||n.sortOnDoubleClick^i||e.fireSyntheticColumnSortEvent(t.gridCell.x,t.primitiveEvent.detail.keys),this.next&&this.next[i?"handleDoubleClick":"handleClick"](e,t)}e.exports=n},function(e,t,i){"use strict";var n=i(0).extend("Filters",{handleKeyDown:function(e,t){var i,n,r=t.detail;r.editor&&(i=r.editor.event).isFilterCell&&(n=this["handle"+i.properties.mappedNavKey(r.char)]),n?n.call(this,e,r):this.next&&this.next.handleKeyDown(e,t)},handleLEFT:function(e,t){r(e,t,-1)},handleRIGHT:function(e,t){r(e,t,1)},handleUP:o,handleDOWN:o,handleDoubleClick:function(e,t){t.isFilterCell?e.onEditorActivate(t):this.next&&this.next.handleDoubleClick(e,t)},handleClick:function(e,t){t.isFilterCell?e.onEditorActivate(t):this.next&&this.next.handleClick(e,t)}});function r(e,t,i){var n=t.editor.event,r=n.visibleColumn.index,s=n.visibleRow.index,a=r,l=e.renderer.visibleColumns.length;for(n=new e.behavior.CellEvent;(r=(r+i+l)%l)!==a&&n.resetGridXY(r,s);)if(n.properties.filterable)return void e.editAt(n);o(e,n)}function o(e,t){var i=t.editor.event.visibleColumn.index;e.selectViewportCell(i,0),e.takeFocus()}e.exports=n},function(e,t,i){"use strict";var n=i(0),r={PAGEDOWN:function(e){e.pageDown()},PAGEUP:function(e){e.pageUp()},PAGELEFT:function(e){e.pageLeft()},PAGERIGHT:function(e){e.pageRight()}},o=n.extend("KeyPaging",{handleKeyDown:function(e,t){var i=r[t.detail.char];i?i(e):this.next&&this.next.handleKeyDown(e,t)}});e.exports=o},function(e,t,i){"use strict";var n=i(0).extend("OnHover",{handleMouseMove:function(e,t){var i=e.hoverCell;t.gridCell.equals(i)?this.next&&this.next.handleMouseMove(e,t):(i&&this.handleMouseExit(e,i),this.handleMouseEnter(e,t),e.setHoverCell(t))}});e.exports=n},function(e,t,i){"use strict";var n=i(0).extend("RowSelection",{currentDrag:null,lastDragCell:null,sbLastAuto:0,sbAutoStart:0,dragArmed:!1,handleMouseUp:function(e,t){this.dragArmed?(this.dragArmed=!1,r(e),e.fireSyntheticRowSelectionChangedEvent()):this.dragging?(this.dragging=!1,r(e),e.fireSyntheticRowSelectionChangedEvent()):this.next&&this.next.handleMouseUp(e,t)},handleMouseDown:function(e,t){var i=!t.primitiveEvent.detail.isRightClick,n=i&&e.properties.showRowNumbers&&t.isHandleColumn&&t.mousePointInClickRect;if(!n||e.fireSyntheticRowHeaderClickedEvent(t)){var r=e.properties.rowSelection&&(i&&e.properties.autoSelectRows||n);r&&t.isHeaderHandle?e.toggleSelectAllRows():r&&t.isDataRow?(this.dragArmed=!0,this.extendSelection(e,t.dataCell.y,t.primitiveEvent.detail.keys)):this.next&&this.next.handleMouseDown(e,t)}},handleMouseDrag:function(e,t){this.dragArmed&&e.properties.rowSelection&&!t.primitiveEvent.detail.isRightClick?(this.lastDragRow=t.dataCell.y,this.dragging=!0,this.currentDrag=t.primitiveEvent.detail.mouse,this.checkDragScroll(e,this.currentDrag),this.handleMouseDragCellSelection(e,this.lastDragRow,t.primitiveEvent.detail.keys)):this.next&&this.next.handleMouseDrag(e,t)},handleKeyDown:function(e,t){var i;"row"===e.getLastSelectionType()&&(i=this["handle"+t.detail.char])?i.call(this,e,t.detail):this.next&&this.next.handleKeyDown(e,t)},handleMouseDragCellSelection:function(e,t,i){var n=e.getMouseDown().y;e.clearMostRecentRowSelection(),e.selectRow(n,t),e.setDragExtent(e.newPoint(0,t-n)),e.repaint()},checkDragScroll:function(e,t){e.properties.scrollingEnabled&&e.getDataBounds().contains(t)?e.isScrollingNow()&&e.setScrollingNow(!1):e.isScrollingNow()||(e.setScrollingNow(!0),this.scrollDrag(e))},scrollDrag:function(e){if(e.isScrollingNow()){var t,i=e.getDataBounds();this.currentDrag.y<i.origin.y?t=-1:this.currentDrag.y>i.origin.y+i.extent.y&&(t=1),t&&(this.lastDragRow>=e.getFixedRowCount()&&(this.lastDragRow+=t),e.scrollBy(0,t)),this.handleMouseDragCellSelection(e,this.lastDragRow,[]),e.repaint(),setTimeout(this.scrollDrag.bind(this,e),25)}},extendSelection:function(e,t,i){if(e.abortEditing()){var n=e.getMouseDown().y,r=-1!==i.indexOf("SHIFT");t<0||(r?(e.clearMostRecentRowSelection(),e.selectRow(t,n),e.setDragExtent(e.newPoint(0,t-n))):(e.toggleSelectRow(t,i),e.setMouseDown(e.newPoint(0,t)),e.setDragExtent(e.newPoint(0,0))),e.repaint())}},handleDOWNSHIFT:function(e){this.moveShiftSelect(e,1)},handleUPSHIFT:function(e){this.moveShiftSelect(e,-1)},handleLEFTSHIFT:function(e){},handleRIGHTSHIFT:function(e){},handleDOWN:function(e){this.moveSingleSelect(e,1)},handleUP:function(e){this.moveSingleSelect(e,-1)},handleLEFT:function(e){},handleRIGHT:function(e){var t=e.getMouseDown().plus(e.getDragExtent()),i=e.getColumnCount()-1,n=e.getHScrollValue(),r=t.y;n=Math.min(i,n),e.clearSelections(),e.select(n,r,0,0),e.setMouseDown(e.newPoint(n,r)),e.setDragExtent(e.newPoint(0,0)),e.repaint()},getAutoScrollAcceleration:function(){var e=this.getAutoScrollDuration()/2e3;return Math.max(1,Math.floor(e*e*e*e))},setAutoScrollStartTime:function(){this.sbAutoStart=Date.now()},pingAutoScroll:function(){Date.now()-this.sbLastAuto>500&&this.setAutoScrollStartTime(),this.sbLastAuto=Date.now()},getAutoScrollDuration:function(){return Date.now()-this.sbLastAuto>500?0:Date.now()-this.sbAutoStart},moveShiftSelect:function(e,t){this.moveSingleSelect(e,t,!0)},moveSingleSelect:function(e,t,i){var n=e.selectionModel.rowSelectionModel.selection,o=n[n.length-1],s=o[0],a=o[1];if(i){var l=o.offsetY=o.offsetY||t;o.offsetY<0?s+=t:a+=t}else s+=t,a+=t;s<0||a>=e.getRowCount()||(n.length-=1,n.length&&delete(o=n[n.length-1]).offsetY,e.selectRow(s,a),i&&s!==a&&((o=n[n.length-1]).offsetY=l),e.setMouseDown(e.newPoint(0,s)),e.setDragExtent(e.newPoint(0,a-s)),e.scrollToMakeVisible(e.properties.fixedColumnCount,t<0?s:a+1),r(e),e.fireSyntheticRowSelectionChangedEvent(),e.repaint())},isSingleRowSelection:function(){return!0}});function r(e){var t;if(e.properties.collapseCellSelections&&e.properties.singleRowSelectionMode&&!e.properties.multipleSelections&&(t=e.getSelectedRows()).length&&e.selectionModel.getSelections().length){var i=e.selectionModel.getLastSelection(),n=i.left,r=t[0],o=i.right-n;e.selectionModel.select(n,r,o,0,!1),e.repaint()}}e.exports=n},function(e,t,i){"use strict";var n=i(0).extend("ThumbwheelScrolling",{handleWheelMoved:function(e,t){if(e.properties.scrollingEnabled){var i=t.primitiveEvent,n=Math.sign(i.wheelDeltaX||-i.deltaX),r=Math.sign(i.wheelDeltaY||-i.deltaY);(n||r)&&e.scrollBy(-n||0,-r||0)}}});e.exports=n},function(e,t,i){"use strict";var n=i(0).extend("TouchScrolling",{handleTouchStart:function(e,t){this.stopDeceleration(),this.touches=[this.getTouchedCell(e,t)]},handleClick:function(){},handleDoubleClick:function(){},handleTouchMove:function(e,t){var i=this.getTouchedCell(e,t),r=this.touches[this.touches.length-1],o=(r.x-i.x)/r.width,s=(r.y-i.y)/r.height;e.sbHScroller.index+=o,e.sbVScroller.index+=s,this.touches.length>=n.MAX_TOUCHES&&this.touches.shift(),this.touches.push(i)},handleTouchEnd:function(e,t){var i,n=this.getTouchedCell(e,t),r=-1;do{i=n.timestamp-this.touches[++r].timestamp}while(i>100&&r<this.touches.length-1);var o=this.touches[r];this.decelerateY(e,o,n),this.decelerateX(e,o,n)},getTouchedCell:function(e,t){var i=t.detail.touches[0],n=e.getGridCellFromMousePoint(i).cellEvent.bounds;return n.timestamp=Date.now(),n},decelerateY:function(e,t,i){var n=i.y-t.y,r=i.timestamp-t.timestamp;this.decelerate(e.sbVScroller,n,r)},decelerateX:function(e,t,i){var n=i.x-t.x,r=i.timestamp-t.timestamp;this.decelerate(e.sbHScroller,n,r)},decelerate:function(e,t,i){var r=Math.abs(t)/i*100,o=-Math.sign(t),s=this.getInitialInterval(r),a=function(){if(r>0){var t=this.getDelta(r),i=e.index+o*t;if(e.index=i,i>e.range.max||i<0)return;r-=n.DEC_STEP_SIZE,this.timer=setTimeout(a,s),s=this.updateInterval(s,r)}}.bind(this);a()},getDelta:function(e){return e>=180?10:e>=100?5:e>=50?2:e>=25?1:.5},getInitialInterval:function(e){return e>=50?5:e>=25?15:30},updateInterval:function(e,t){if(e>=n.MAX_INTERVAL)return e;var i=0;return t<25?i=10:t<75?i=5:t<150&&(i=2),e+i},stopDeceleration:function(){clearTimeout(this.timer)}});n.MAX_INTERVAL=200,n.MAX_TOUCHES=70,n.DEC_STEP_SIZE=5,e.exports=n},function(e,t,i){"use strict";t.mixin={getCellOwnProperties:function(e,t,i){return 1===arguments.length?e.column.getCellOwnProperties(e.dataCell.y,e.subgrid):this.getColumn(e).getCellOwnProperties(t,i)},getCellProperties:function(e,t,i){return 1===arguments.length?e.properties:this.getColumn(e).getCellProperties(t,i)},getCellProperty:function(e,t,i,n){return"object"==typeof e?(i=t,e.properties[i]):this.getColumn(e).getCellProperty(t,i,n)},setCellProperties:function(e,t,i,n){return"object"==typeof e?(i=t,e.column.setCellProperties(e.dataCell.y,i,e.subgrid)):this.getColumn(e).setCellProperties(t,i,n)},addCellProperties:function(e,t,i,n){return"object"==typeof e?(i=t,e.column.addCellProperties(e.dataCell.y,i,e.subgrid)):this.getColumn(e).addCellProperties(t,i,n)},setCellProperty:function(e,t,i,n,r){var o;return"object"==typeof e?(n=i,i=t,o=e.setCellProperty(i,n)):(o=this.getColumn(e).setCellProperty(t,i,n,r),this.grid.renderer.resetCellPropertiesCache(e,t,r)),o}}},function(e,t,i){"use strict";t.mixin={getSchema:function(){return this.dataModel.getSchema()},setSchema:function(e){this.dataModel.setSchema(e)},getRowCount:function(){return this.dataModel.getRowCount()},getValue:function(e,t,i){if(i)return i.getValue(e,t);var n=new this.CellEvent;return n.resetDataXY(e,t,i)?n.value:void 0},setValue:function(e,t,i,n){if(n)n.setValue(e,t,i);else{var r=new this.CellEvent;r.resetDataXY(e,t,n)&&(r.value=i)}},reindex:function(){this.dataModel.apply()},getRow:function(e){return this.dataModel.getRow(e)},getData:function(){return this.dataModel.getData()}}},function(e,t,i){"use strict";var n=i(185);function r(e){var t;switch(typeof e){case"string":t=n.get(e);break;case"function":t=e;break;default:throw new this.HypergridError("Expected subgrid ref to be registered name or constructor, but found "+typeof e+".")}return t}t.mixin={set subgrids(e){var t=this._subgrids=[];t.lookup={},e.forEach((function(e){e&&t.push(this.createSubgrid(e))}),this),this.shapeChanged()},get subgrids(){return this._subgrids},createSubgrid:function(e,t){var i,n,o;"data"===e?i=this.dataModel:e instanceof Array&&e.length?(n=r.call(this,e[0]),o=e.slice(1),i=this.createApply(n,o,void 0,{grid:this.grid}),i=this.decorateDataModel(i)):"object"==typeof e?i=e:(n=r.call(this,e),o=Array.prototype.slice.call(arguments,1),i=this.createApply(n,o,void 0,{grid:this.grid}),i=this.decorateDataModel(i)),i.type||(i.type="data");var s="data"===i.type&&i.type||i.name||i.type;return this._subgrids.lookup[s]=this._subgrids.lookup[s]||i,i["is"+i.type[0].toUpperCase()+i.type.substr(1)]=!0,i},getHeaderRowCount:function(){var e=0;return this.subgrids.find((function(t){if(t.isData)return!0;e+=t.getRowCount()})),e},getFooterRowCount:function(){var e;return this.subgrids.reduce((function(t,i){return e&&!i.isData?t+=i.getRowCount():e=i.isData,t}),0)},getLogicalRowCount:function(){return this.subgrids.reduce((function(e,t){return e+t.getRowCount()}),0)}}},function(e,t,i){"use strict";var n=i(38).extend("DataModels",{BaseClass:i(39),initialize:function(){this.add(i(186))}});e.exports=new n},function(e,t,i){"use strict";var n=i(39).extend("HeaderSubgrid",{type:"header",initialize:function(e,t){this.grid=t.grid},getRowCount:function(){return this.grid.properties.showHeaderRow?1:0},getValue:function(e,t){var i=this.grid.behavior.getColumn(e);return i.header||i.name},setValue:function(e,t,i){t<this.getRowCount()&&(this.grid.behavior.getColumn(e).header=i)},getRow:function(e){return this.dataRow}});e.exports=n},function(e,t,i){var n=i(188);e.exports=function(e,t){return n(e,t)}},function(e,t,i){var n=i(189),r=i(18);e.exports=function e(t,i,o,s,a){return t===i||(null==t||null==i||!r(t)&&!r(i)?t!=t&&i!=i:n(t,i,o,s,e,a))}},function(e,t,i){var n=i(97),r=i(102),o=i(223),s=i(226),a=i(47),l=i(46),c=i(73),u=i(109),h=1,d="[object Arguments]",f="[object Array]",g="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(e,t,i,v,m,b){var y=l(e),C=l(t),w=y?f:a(e),x=C?f:a(t),S=(w=w==d?g:w)==g,_=(x=x==d?g:x)==g,E=w==x;if(E&&c(e)){if(!c(t))return!1;y=!0,S=!1}if(E&&!S)return b||(b=new n),y||u(e)?r(e,t,i,v,m,b):o(e,t,w,i,v,m,b);if(!(i&h)){var R=S&&p.call(e,"__wrapped__"),A=_&&p.call(t,"__wrapped__");if(R||A){var M=R?e.value():e,k=A?t.value():t;return b||(b=new n),m(M,k,i,v,b)}}return!!E&&(b||(b=new n),s(e,t,i,v,m,b))}},function(e,t){e.exports=function(){this.__data__=[],this.size=0}},function(e,t,i){var n=i(41),r=Array.prototype.splice;e.exports=function(e){var t=this.__data__,i=n(t,e);return!(i<0)&&(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}},function(e,t,i){var n=i(41);e.exports=function(e){var t=this.__data__,i=n(t,e);return i<0?void 0:t[i][1]}},function(e,t,i){var n=i(41);e.exports=function(e){return n(this.__data__,e)>-1}},function(e,t,i){var n=i(41);e.exports=function(e,t){var i=this.__data__,r=n(i,e);return r<0?(++this.size,i.push([e,t])):i[r][1]=t,this}},function(e,t,i){var n=i(40);e.exports=function(){this.__data__=new n,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,i=t.delete(e);return this.size=t.size,i}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,i){var n=i(40),r=i(70),o=i(101),s=200;e.exports=function(e,t){var i=this.__data__;if(i instanceof n){var a=i.__data__;if(!r||a.length<s-1)return a.push([e,t]),this.size=++i.size,this;i=this.__data__=new o(a)}return i.set(e,t),this.size=i.size,this}},function(e,t,i){var n=i(98),r=i(203),o=i(24),s=i(100),a=/^\[object .+?Constructor\]$/,l=Function.prototype,c=Object.prototype,u=l.toString,h=c.hasOwnProperty,d=RegExp("^"+u.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!o(e)||r(e))&&(n(e)?d:a).test(s(e))}},function(e,t,i){var n=i(43),r=Object.prototype,o=r.hasOwnProperty,s=r.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),i=e[a];try{e[a]=void 0;var n=!0}catch(e){}var r=s.call(e);return n&&(t?e[a]=i:delete e[a]),r}},function(e,t){var i=Object.prototype.toString;e.exports=function(e){return i.call(e)}},function(e,t,i){var n,r=i(204),o=(n=/[^.]+$/.exec(r&&r.keys&&r.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!o&&o in e}},function(e,t,i){var n=i(4)["__core-js_shared__"];e.exports=n},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,i){var n=i(207),r=i(40),o=i(70);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(o||r),string:new n}}},function(e,t,i){var n=i(208),r=i(209),o=i(210),s=i(211),a=i(212);function l(e){var t=-1,i=null==e?0:e.length;for(this.clear();++t<i;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=r,l.prototype.get=o,l.prototype.has=s,l.prototype.set=a,e.exports=l},function(e,t,i){var n=i(44);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},function(e,t){e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,i){var n=i(44),r="__lodash_hash_undefined__",o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var i=t[e];return i===r?void 0:i}return o.call(t,e)?t[e]:void 0}},function(e,t,i){var n=i(44),r=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:r.call(t,e)}},function(e,t,i){var n=i(44),r="__lodash_hash_undefined__";e.exports=function(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&void 0===t?r:t,this}},function(e,t,i){var n=i(45);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,i){var n=i(45);e.exports=function(e){return n(this,e).get(e)}},function(e,t,i){var n=i(45);e.exports=function(e){return n(this,e).has(e)}},function(e,t,i){var n=i(45);e.exports=function(e,t){var i=n(this,e),r=i.size;return i.set(e,t),this.size+=i.size==r?0:1,this}},function(e,t,i){var n=i(101),r=i(219),o=i(220);function s(e){var t=-1,i=null==e?0:e.length;for(this.__data__=new n;++t<i;)this.add(e[t])}s.prototype.add=s.prototype.push=r,s.prototype.has=o,e.exports=s},function(e,t){var i="__lodash_hash_undefined__";e.exports=function(e){return this.__data__.set(e,i),this}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t){e.exports=function(e,t){for(var i=-1,n=null==e?0:e.length;++i<n;)if(t(e[i],i,e))return!0;return!1}},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,i){var n=i(43),r=i(103),o=i(69),s=i(102),a=i(224),l=i(225),c=1,u=2,h="[object Boolean]",d="[object Date]",f="[object Error]",g="[object Map]",p="[object Number]",v="[object RegExp]",m="[object Set]",b="[object String]",y="[object Symbol]",C="[object ArrayBuffer]",w="[object DataView]",x=n?n.prototype:void 0,S=x?x.valueOf:void 0;e.exports=function(e,t,i,n,x,_,E){switch(i){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case C:return!(e.byteLength!=t.byteLength||!_(new r(e),new r(t)));case h:case d:case p:return o(+e,+t);case f:return e.name==t.name&&e.message==t.message;case v:case b:return e==t+"";case g:var R=a;case m:var A=n&c;if(R||(R=l),e.size!=t.size&&!A)return!1;var M=E.get(e);if(M)return M==t;n|=u,E.set(e,t);var k=s(R(e),R(t),n,x,_,E);return E.delete(e),k;case y:if(S)return S.call(e)==S.call(t)}return!1}},function(e,t){e.exports=function(e){var t=-1,i=Array(e.size);return e.forEach((function(e,n){i[++t]=[n,e]})),i}},function(e,t){e.exports=function(e){var t=-1,i=Array(e.size);return e.forEach((function(e){i[++t]=e})),i}},function(e,t,i){var n=i(104),r=1,o=Object.prototype.hasOwnProperty;e.exports=function(e,t,i,s,a,l){var c=i&r,u=n(e),h=u.length;if(h!=n(t).length&&!c)return!1;for(var d=h;d--;){var f=u[d];if(!(c?f in t:o.call(t,f)))return!1}var g=l.get(e);if(g&&l.get(t))return g==t;var p=!0;l.set(e,t),l.set(t,e);for(var v=c;++d<h;){var m=e[f=u[d]],b=t[f];if(s)var y=c?s(b,m,f,t,e,l):s(m,b,f,e,t,l);if(!(void 0===y?m===b||a(m,b,i,s,l):y)){p=!1;break}v||(v="constructor"==f)}if(p&&!v){var C=e.constructor,w=t.constructor;C!=w&&"constructor"in e&&"constructor"in t&&!("function"==typeof C&&C instanceof C&&"function"==typeof w&&w instanceof w)&&(p=!1)}return l.delete(e),l.delete(t),p}},function(e,t){e.exports=function(e,t){for(var i=-1,n=null==e?0:e.length,r=0,o=[];++i<n;){var s=e[i];t(s,i,e)&&(o[r++]=s)}return o}},function(e,t){e.exports=function(e,t){for(var i=-1,n=Array(e);++i<e;)n[i]=t(i);return n}},function(e,t,i){var n=i(230),r=i(18),o=Object.prototype,s=o.hasOwnProperty,a=o.propertyIsEnumerable,l=n(function(){return arguments}())?n:function(e){return r(e)&&s.call(e,"callee")&&!a.call(e,"callee")};e.exports=l},function(e,t,i){var n=i(42),r=i(18),o="[object Arguments]";e.exports=function(e){return r(e)&&n(e)==o}},function(e,t){e.exports=function(){return!1}},function(e,t){var i=9007199254740991,n=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var r=typeof e;return!!(t=null==t?i:t)&&("number"==r||"symbol"!=r&&n.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,i){var n=i(42),r=i(110),o=i(18),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return o(e)&&r(e.length)&&!!s[n(e)]}},function(e,t,i){var n=i(76),r=i(235),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return r(e);var t=[];for(var i in Object(e))o.call(e,i)&&"constructor"!=i&&t.push(i);return t}},function(e,t,i){var n=i(111)(Object.keys,Object);e.exports=n},function(e,t,i){var n=i(14)(i(4),"DataView");e.exports=n},function(e,t,i){var n=i(14)(i(4),"Promise");e.exports=n},function(e,t,i){var n=i(14)(i(4),"Set");e.exports=n},function(e,t,i){var n=i(14)(i(4),"WeakMap");e.exports=n},function(e,t,i){"use strict";var n=i(5),r=i(2).Rectangle,o=i(23),s=/\s\s+/g,a=n.extend("SimpleCell",{paint:function(e,t){var i,n,a,u,h,d,f,g,p,v,m,b,y,C,w,x,S=t.value,_=t.bounds,E=_.x,R=_.y,A=_.width,M=_.height,k=t.iconPadding,P=void 0===t.prefillColor,O=t.snapshot,D=O&&P,T=0;S&&S.constructor===Array?(h=S[0],d=S[2],(S=t.exec(S[1]))&&void 0!==S.naturalWidth&&(f=S,S=null)):(h=o[t.leftIcon],f=o[t.centerIcon],d=o[t.rightIcon]);var H=S||t.renderFalsy&&0==S;if(H?(S=t.formatValue(S,t),n=t.isSelected?t.foregroundSelectionFont:t.font,i=e.cache.strokeStyle=t.isSelected?t.foregroundSelectionColor:t.color):S="",D=D&&S===O.value&&n===O.textFont&&i===O.textColor,x=[],w=0,t.isCellHovered&&t.hoverCellHighlight.enabled?m=t.hoverCellHighlight.backgroundColor:t.isRowHovered&&(v=t.hoverRowHighlight).enabled?m=t.isDataColumn||!v.header||void 0===v.header.backgroundColor?v.backgroundColor:v.header.backgroundColor:t.isColumnHovered&&(v=t.hoverColumnHighlight).enabled&&(m=t.isDataRow||!v.header||void 0===v.header.backgroundColor?v.backgroundColor:v.header.backgroundColor),e.alpha(m)<1&&(t.isSelected&&(b=t.backgroundSelectionColor),e.alpha(b)<1&&((C=t.backgroundColor===t.prefillColor)||(y=!0,x.push(t.backgroundColor),D=D&&y===O.foundationColor&&t.backgroundColor===O.colors[w++])),void 0!==b&&(x.push(b),D=D&&b===O.colors[w++])),void 0!==m&&(x.push(m),D=D&&m===O.colors[w++]),!D||w!==O.colors.length){if(t.snapshot={value:S,textColor:i,textFont:n,foundationColor:y,colors:x},c(e,x,E,R,A,M,y),g=h?k+h.width+k:t.cellPadding,p=d?k+d.width+k:t.cellPadding,H&&(e.cache.fillStyle=i,e.cache.font=n,T=t.isHeaderRow&&t.headerTextWrapping?function(e,t,i,n,r){var o=t.bounds.x,a=t.bounds.y,c=t.bounds.width,u=t.bounds.height,h=(i+"").trim().replace(s," "),d=function e(t,i,n,r){if(1===n.length)return n;var o,s=[n.shift()];for(;(o=t.getTextWidth(s.join(" "))<r)&&n.length;)s.push(n.shift());!o&&s.length>1&&n.unshift(s.pop());s=[s.join(" ")],n.length&&(s=s.concat(e(t,i,n,r)));return s}(e,t,h.split(" "),c);if(1===d.length)return l(e,t,h,n,r);var f=n,g=t.voffset,p=t.halign,v=e.getTextHeight(t.font).height;switch(p){case"right":f=c-r;break;case"center":f=c/2}var m=Math.ceil(v/2);g+=Math.ceil((u-(d.length-1)*v)/2),f=Math.max(0,f),g=Math.max(m,g),e.cache.save(),e.beginPath(),e.rect(o,a,c,u),e.clip(),e.cache.textAlign=p,e.cache.textBaseline="middle";for(var b=0;b<d.length;b++)e.simpleText(d[b],o+f,a+g+b*v);return e.cache.restore(),c}(e,t,S,g,p):l(e,t,S,g,p)),f&&(u=Math.round((M-f.height)/2),a=A-Math.round((A-f.width)/2)-f.width,e.drawImage(f,E+a,R+u,f.width,f.height),T=k+f.width+k,"center"===t.hotIcon&&(t.clickRect=new r(a,u,f.width,f.height))),h&&(u=Math.round((M-h.height)/2),e.drawImage(h,E+k,R+u,h.width,h.height),"left"===t.hotIcon&&(t.clickRect=new r(k,u,h.width,h.height))),d){var j=E+(a=A-(d.width+k));C&&(y=!0,x.unshift(t.backgroundColor)),c(e,x,j,R,p,M,y),u=Math.round((M-d.height)/2),e.drawImage(d,j,R+u,d.width,d.height),"right"===t.hotIcon&&(t.clickRect=new r(a,u,d.width,d.height))}t.cellBorderThickness&&(e.beginPath(),e.rect(E,R,A,M),e.cache.lineWidth=t.cellBorderThickness,e.cache.strokeStyle=t.cellBorderStyle,e.stroke(),e.closePath()),t.minWidth=g+T+p}}});function l(e,t,i,n,r){var o,s,a=t.bounds.x,l=t.bounds.y,c=t.bounds.width,u=n,h=t.halign;if(t.columnAutosizing)switch(o=(s=e.getTextWidthTruncated(i,c-n,t.truncateTextWithEllipsis)).width,i=s.string||i,h){case"right":u=c-r-s.width;break;case"center":u=(c-s.width)/2}else if(o=0,void 0!==(s=e.getTextWidthTruncated(i,c-n,t.truncateTextWithEllipsis,!0)).string)i=s.string;else switch(h){case"right":u=c-r-s.width;break;case"center":u=(c-s.width)/2}return null!==i&&(a+=Math.max(n,u),l+=Math.floor(t.bounds.height/2),t.isUserDataArea&&(t.link&&(!t.isCellHovered&&t.linkOnHover||(t.linkColor&&(e.cache.strokeStyle=t.linkColor),e.beginPath(),function(e,t,i,n,r,o){var s=t.getTextHeight(e.font).height,a=t.getTextWidth(i);switch(t.cache.textAlign){case"center":n-=a/2;break;case"right":n-=a}r=Math.ceil(r)+Math.round(s/2)-.5,t.cache.lineWidth=o,t.moveTo(n,r),t.lineTo(n+a,r)}(t,e,i,a,l,1),e.stroke(),e.closePath()),!t.linkColor||!t.isCellHovered&&t.linkColorOnHover||(e.cache.fillStyle=t.linkColor)),!0===t.strikeThrough&&(e.beginPath(),function(e,t,i,n,r,o){var s=t.getTextWidth(i);switch(t.cache.textAlign){case"center":n-=s/2;break;case"right":n-=s}r=Math.round(r)+.5,t.cache.lineWidth=o,t.moveTo(n-1,r),t.lineTo(n+s+1,r)}(0,e,i,a,l,1),e.stroke(),e.closePath())),e.cache.textAlign="left",e.cache.textBaseline="middle",e.simpleText(i,a,l)),o}function c(e,t,i,n,r,o,s){for(var a=0;a<t.length;a++)s&&!a?e.clearFill(i,n,r,o,t[a]):(e.cache.fillStyle=t[a],e.fillRect(i,n,r,o))}e.exports=a},function(e,t,i){"use strict";var n=i(5).extend("Slider",{paint:function(e,t){var i=t.bounds.x,n=t.bounds.y,r=t.bounds.width,o=t.bounds.height;e.cache.strokeStyle="white";var s=t.value,a=o/2,l=r*s,c=t.isSelected?t.backgroundColor:"#333333",u=e.createLinearGradient(i,n,i,n+o);u.addColorStop(0,c),u.addColorStop(1,"#666666");var h=e.createLinearGradient(i,n,i,n+o);h.addColorStop(0,"#aaaaaa"),h.addColorStop(1,"#777777"),e.cache.fillStyle=u,this.roundRect(e,i,n,r,o,a,u),e.cache.fillStyle=s<1?h:"#eeeeee",e.beginPath(),e.arc(i+Math.max(l-a,a),n+a,a,0,2*Math.PI),e.fill(),e.closePath(),t.minWidth=100}});e.exports=n},function(e,t,i){"use strict";var n=i(5).extend("SparkBar",{paint:function(e,t){var i=t.bounds.x,n=t.bounds.y,r=t.bounds.width,o=t.bounds.height;e.beginPath();var s=t.value;if(s&&s.length){var a=s.length,l=r/a,c=t.isSelected?t.foregroundSelectionColor:t.color;(t.backgroundColor||t.isSelected)&&(e.cache.fillStyle=t.isSelected?"blue":t.backgroundColor,e.fillRect(i,n,r,o)),e.cache.fillStyle=c;for(var u=0;u<s.length;u++){var h=s[u]/110*o;e.fillRect(i+5,n+o-h,.6666*l,h),i+=l}e.closePath(),t.minWidth=10*a}}});e.exports=n},function(e,t,i){"use strict";var n=i(5).extend("LastSelection",{paint:function(e,t){var i=e.alpha(t.selectionRegionOverlayColor)>0,n=e.alpha(t.selectionRegionOutlineColor)>0;if(i||n){var r=t.bounds.x,o=t.bounds.y,s=t.bounds.width,a=t.bounds.height;e.beginPath(),e.rect(r,o,s,a),i&&(e.cache.fillStyle=t.selectionRegionOverlayColor,e.fill()),n&&(e.cache.lineWidth=1,e.cache.strokeStyle=t.selectionRegionOutlineColor,e.stroke()),e.closePath()}}});e.exports=n},function(e,t,i){"use strict";var n=i(5).extend("SparkLine",{paint:function(e,t){var i=t.bounds.x,n=t.bounds.y,r=t.bounds.width,o=t.bounds.height;e.beginPath();var s=t.value;if(s&&s.length){var a,l=s.length,c=r/l,u=t.isSelected?t.foregroundSelectionColor:t.color;(t.backgroundColor||t.isSelected)&&(e.cache.fillStyle=t.isSelected?t.backgroundSelectionColor:t.backgroundColor,e.fillRect(i,n,r,o)),e.cache.strokeStyle=u,e.cache.fillStyle=u,e.beginPath();for(var h=0;h<s.length;h++){var d=s[h]/110*o;a||(a=d),e.lineTo(i+5,n+o-d),e.arc(i+5,n+o-d,1,0,2*Math.PI,!1),i+=c}t.minWidth=10*l,e.stroke(),e.closePath()}}});e.exports=n},function(e,t,i){"use strict";var n=i(5).extend("ErrorCell",{paint:function(e,t,i){var n=t.bounds.x,r=t.bounds.y,o=t.bounds.height;e.cache.fillStyle="#FFD500",e.fill(),e.cache.fillStyle="#A00",e.cache.textAlign="start",e.cache.textBaseline="middle",e.cache.font='bold 6pt "arial narrow", verdana, geneva',e.fillText(i,n+4,r+o/2+.5)}});e.exports=n},function(e,t,i){"use strict";var n=i(5).extend("Tag",{paint:function(e,t){if(t.tagbands){var i=t.tagbands.find((function(e){return t.value>=e.floor})),n=i&&i.fillStyle;if(n){var r=t.bounds,o=r.x+r.width-1,s=r.y;e.beginPath(),e.moveTo(o,s),e.lineTo(o,s+8),e.lineTo(o-8,s),e.closePath(),e.cache.fillStyle=n,e.fill()}}}});e.exports=n},function(e,t,i){"use strict";var n=i(5).extend("TreeCell",{paint:function(e,t){var i=t.bounds.x,n=t.bounds.y,r=t.value.data,o=t.value.indent,s=t.value.icon;if((t.backgroundColor||t.isSelected)&&(e.cache.fillStyle=(t.isSelected,t.backgroundColor),e.fillRect(i,n,t.bounds.width,t.bounds.height)),r&&r.length){e.cache.fillStyle=(t.isSelected,t.backgroundColor);var a=Math.ceil(t.bounds.height/2);e.fillText(s+r,i+o,n+a),t.minWidth=i+o+e.getTextWidth(s+r)+10}}});e.exports=n},function(e,t,i){var n=i(249),r=1,o=4;e.exports=function(e){return n(e,r|o)}},function(e,t,i){var n=i(97),r=i(250),o=i(115),s=i(252),a=i(253),l=i(256),c=i(257),u=i(258),h=i(259),d=i(104),f=i(260),g=i(47),p=i(261),v=i(262),m=i(267),b=i(46),y=i(73),C=i(269),w=i(24),x=i(271),S=i(72),_=1,E=2,R=4,A="[object Arguments]",M="[object Function]",k="[object GeneratorFunction]",P="[object Object]",O={};O[A]=O["[object Array]"]=O["[object ArrayBuffer]"]=O["[object DataView]"]=O["[object Boolean]"]=O["[object Date]"]=O["[object Float32Array]"]=O["[object Float64Array]"]=O["[object Int8Array]"]=O["[object Int16Array]"]=O["[object Int32Array]"]=O["[object Map]"]=O["[object Number]"]=O[P]=O["[object RegExp]"]=O["[object Set]"]=O["[object String]"]=O["[object Symbol]"]=O["[object Uint8Array]"]=O["[object Uint8ClampedArray]"]=O["[object Uint16Array]"]=O["[object Uint32Array]"]=!0,O["[object Error]"]=O[M]=O["[object WeakMap]"]=!1,e.exports=function e(t,i,D,T,H,j){var L,I=i&_,F=i&E,N=i&R;if(D&&(L=H?D(t,T,H,j):D(t)),void 0!==L)return L;if(!w(t))return t;var B=b(t);if(B){if(L=p(t),!I)return c(t,L)}else{var V=g(t),W=V==M||V==k;if(y(t))return l(t,I);if(V==P||V==A||W&&!H){if(L=F||W?{}:m(t),!I)return F?h(t,a(L,t)):u(t,s(L,t))}else{if(!O[V])return H?t:{};L=v(t,V,I)}}j||(j=new n);var z=j.get(t);if(z)return z;j.set(t,L),x(t)?t.forEach((function(n){L.add(e(n,i,D,n,t,j))})):C(t)&&t.forEach((function(n,r){L.set(r,e(n,i,D,r,t,j))}));var U=N?F?f:d:F?keysIn:S,K=B?void 0:U(t);return r(K||t,(function(n,r){K&&(n=t[r=n]),o(L,r,e(n,i,D,r,t,j))})),L}},function(e,t){e.exports=function(e,t){for(var i=-1,n=null==e?0:e.length;++i<n&&!1!==t(e[i],i,e););return e}},function(e,t,i){var n=i(14),r=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=r},function(e,t,i){var n=i(48),r=i(72);e.exports=function(e,t){return e&&n(t,r(t),e)}},function(e,t,i){var n=i(48),r=i(117);e.exports=function(e,t){return e&&n(t,r(t),e)}},function(e,t,i){var n=i(24),r=i(76),o=i(255),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=r(e),i=[];for(var a in e)("constructor"!=a||!t&&s.call(e,a))&&i.push(a);return i}},function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var i in Object(e))t.push(i);return t}},function(e,t,i){(function(e){var n=i(4),r=t&&!t.nodeType&&t,o=r&&"object"==typeof e&&e&&!e.nodeType&&e,s=o&&o.exports===r?n.Buffer:void 0,a=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var i=e.length,n=a?a(i):new e.constructor(i);return e.copy(n),n}}).call(this,i(21)(e))},function(e,t){e.exports=function(e,t){var i=-1,n=e.length;for(t||(t=Array(n));++i<n;)t[i]=e[i];return t}},function(e,t,i){var n=i(48),r=i(71);e.exports=function(e,t){return n(e,r(e),t)}},function(e,t,i){var n=i(48),r=i(118);e.exports=function(e,t){return n(e,r(e),t)}},function(e,t,i){var n=i(105),r=i(118),o=i(117);e.exports=function(e){return n(e,o,r)}},function(e,t){var i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&i.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},function(e,t,i){var n=i(77),r=i(263),o=i(264),s=i(265),a=i(266),l="[object Boolean]",c="[object Date]",u="[object Map]",h="[object Number]",d="[object RegExp]",f="[object Set]",g="[object String]",p="[object Symbol]",v="[object ArrayBuffer]",m="[object DataView]",b="[object Float32Array]",y="[object Float64Array]",C="[object Int8Array]",w="[object Int16Array]",x="[object Int32Array]",S="[object Uint8Array]",_="[object Uint8ClampedArray]",E="[object Uint16Array]",R="[object Uint32Array]";e.exports=function(e,t,i){var A=e.constructor;switch(t){case v:return n(e);case l:case c:return new A(+e);case m:return r(e,i);case b:case y:case C:case w:case x:case S:case _:case E:case R:return a(e,i);case u:return new A;case h:case g:return new A(e);case d:return o(e);case f:return new A;case p:return s(e)}}},function(e,t,i){var n=i(77);e.exports=function(e,t){var i=t?n(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}},function(e,t){var i=/\w*$/;e.exports=function(e){var t=new e.constructor(e.source,i.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,i){var n=i(43),r=n?n.prototype:void 0,o=r?r.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},function(e,t,i){var n=i(77);e.exports=function(e,t){var i=t?n(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}},function(e,t,i){var n=i(268),r=i(119),o=i(76);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:n(r(e))}},function(e,t,i){var n=i(24),r=Object.create,o=function(){function e(){}return function(t){if(!n(t))return{};if(r)return r(t);e.prototype=t;var i=new e;return e.prototype=void 0,i}}();e.exports=o},function(e,t,i){var n=i(270),r=i(74),o=i(75),s=o&&o.isMap,a=s?r(s):n;e.exports=a},function(e,t,i){var n=i(47),r=i(18),o="[object Map]";e.exports=function(e){return r(e)&&n(e)==o}},function(e,t,i){var n=i(272),r=i(74),o=i(75),s=o&&o.isSet,a=s?r(s):n;e.exports=a},function(e,t,i){var n=i(47),r=i(18),o="[object Set]";e.exports=function(e){return r(e)&&n(e)==o}},function(e,t,i){i(9)&&"g"!=/./g.flags&&i(11).f(RegExp.prototype,"flags",{configurable:!0,get:i(61)})},function(e,t,i){"use strict";i(275);var n=i(2).Point,r=i(2).Rectangle,o=i(36),s=i(276).bind(i(278)),a=i(3),l=i(78),c=i(121),u=i(81),h=i(279),d=i(285),f=i(64),g=i(65),p=i(286),v=i(113),m=i(293),b=i(127),y=["top","bottom","left","right"],C=y.concat(["width","height","position"]),w=a.extend("Hypergrid",{initialize:function(e,t){this.selectionInitialize(),"string"==typeof e||e instanceof HTMLElement||(t=e,e=null),t=t||{},this.clearState(),this.setContainer(e||t.container||function(e){var t=document.getElementById("hypergrid");t&&!t.firstElementChild||(_(t=document.createElement("div"),e,C),document.body.appendChild(t));return t}(t.boundingRect)),w.prototype.installPlugins(t.plugins),this.lastEdgeSelection=[0,0],this.isWebkit=navigator.userAgent.toLowerCase().indexOf("webkit")>-1,this.selectionModel=new d(this),this.renderOverridesCache={},this.allowEventHandlers=!0,this.dragExtent=new n(0,0),this.numRows=0,this.numColumns=0,this.clearMouseDown(),this.setFormatter(t.localization),this.listeners={},this.cellRenderers=v,this.cellEditors=Object.create(m),Object.defineProperty(this.cellEditors,"create",{value:R.bind(this)}),this.initCanvas(t),t.data?this.setData(t.data,t):(t.Behavior||t.dataModel||t.DataModel)&&this.setBehavior(t),t.state&&this.loadState(t.state),this.plugins={},this.installPlugins(t.plugins),document.addEventListener("mousedown",this.mouseCatcher=function(){this.abortEditing()}.bind(this)),setTimeout(this.repaint.bind(this)),w.grids.push(this),this.resetGridBorder("Top"),this.resetGridBorder("Right"),this.resetGridBorder("Bottom"),this.resetGridBorder("Left")},terminate:function(){document.removeEventListener("mousedown",this.mouseCatcher),this.behavior.dataModel.removeListener(this.behavior.boundDispatchEvent),this.removeAllEventListeners(!0),this.canvas.stop();for(var e=this.div;e.hasChildNodes();)e.removeChild(e.firstChild);w.grids.splice(w.grids.indexOf(this),1),delete this.div,delete this.canvas.div,delete this.canvas.canvas,delete this.sbVScroller,delete this.sbHScroller},resetGridBorder:function(e){var t="gridBorder"+(e=e||""),i="border"+e,n=this.properties,r=n[t];switch(r){case!0:r=n.lineWidth+"px solid "+n.lineColor;break;case!1:r=null}this.canvas.canvas.style[i]=r},modules:b,behavior:null,isWebkit:!0,mouseDown:[],dragExtent:null,selectionModel:null,cellEditor:null,renderOverridesCache:{},hoverCell:null,lastEdgeSelection:null,setAttribute:function(e,t){this.div.setAttribute(e,t)},clearState:function(){this.properties=Object.defineProperties(this.initThemeLayer(),{grid:{value:this},var:{value:new S}}),Object.keys(l).forEach((function(e){var t=l[e];"object"==typeof t&&(c[e]?this[e]=t:this[e]=function e(t){var i=function(e){return Array.isArray(e)?e.slice():"object"==typeof e?Object.defineProperties({},Object.getOwnPropertyDescriptors(e)):e}(t);return Object.keys(i).forEach((function(t){var n=Object.getOwnPropertyDescriptor(i,t);"object"==typeof n.value&&(i[t]=e(n.value))})),i}(t))}),this.properties)},reset:function(e){this.clearState(),this.removeAllEventListeners(),this.lastEdgeSelection=[0,0],this.selectionModel.reset(),this.renderOverridesCache={},this.clearMouseDown(),this.dragExtent=new n(0,0),this.numRows=0,this.numColumns=0,this.vScrollValue=0,this.hScrollValue=0,this.cancelEditing(),this.sbPrevVScrollValue=null,this.sbPrevHScrollValue=null,this.hoverCell=null,this.scrollingNow=!1,this.lastEdgeSelection=[0,0],this.behavior.reset({subgrids:e&&e.subgrids}),this.renderer.reset(),this.canvas.resize(),this.behaviorChanged(),this.refreshProperties()},installPlugins:function(e){var t=this===w.prototype;e&&(Array.isArray(e)||(e=[e]),e.forEach((function(e){var i,n,r;if(e&&(n=[this],t&&n.push(g.prototype),Array.isArray(e)&&(e.length?"string"!=typeof e[0]?(n=n.concat(e.slice(1)),e=e[0]):e.length>=2?(n=n.concat(e.slice(2)),i=e[0],e=e[1]):e=void 0:e=void 0),e)){if((i=i||e.name||e.$$CLASS_NAME)&&(i=i.substr(0,1).toLowerCase()+i.substr(1)),t)r=this.constructor.plugins,e.preinstall&&!r[i]&&e.preinstall.apply(e,n);else if(r=this.plugins,"function"==typeof e)e=this.createApply(e,n);else if(e.install)e.install.apply(e,n);else if(!e.preinstall)throw new a.prototype.HypergridError("Expected plugin (a constructor; or an API with a `preinstall` method and/or an `install` method).");i&&(r[i]=e)}}),this))},uninstallPlugins:function(e){e?Array.isArray(e)||(e=[e]):e=[],o(this.plugins).each((function(t,i,n){n.hasOwnProperty(i)&&e.indexOf(i)>=0&&t.uninstall&&t.uninstall(this,i,n)}),this)},computeCellsBounds:function(){this.renderer.computeCellsBounds()},setFormatter:function(e){e=e||{},this.localization=new f(e.locale||w.localization.locale,e.numberOptions||w.localization.numberOptions,e.dateOptions||w.localization.dateOptions)},getFormatter:function(e){return this.localization.get(e).format},formatValue:function(e,t){return this.getFormatter(e)(t)},setHoverCell:function(e){var t=this.hoverCell;t&&t.equals(e.gridCell)||(this.hoverCell=e.gridCell,t&&this.fireSyntheticOnCellExitEvent(e),this.fireSyntheticOnCellEnterEvent(e),this.repaint())},addProperties:function(e){Object.assign(this.properties,e),this.refreshProperties()},refreshProperties:function(){this.behaviorShapeChanged(),this.behavior.defaultRowHeight=null,this.behavior.autosizeAllColumns()},setState:function(e){this.addState(e,!0)},addState:function(e,t){this.behavior.addState(e,t),this.refreshProperties(),this.behaviorChanged()},getState:function(){return this.behavior.getState()},loadState:function(e){this.behavior.setState(e)},saveState:function(e){var t=void 0===(e=e||{}).space?"\t":e.space,i=this.properties,n=i.calculators;if((e.blacklist=e.blacklist||[]).push("columnProperties"),n){if(e.compact){var r=this.behavior.getColumns();Object.keys(n).forEach((function(e){r.find((function(t){return t.properties.calculator===n[e]}))||delete n[e]}))}n.toJSON=E}this.headerify=e.headerify;var o=JSON.stringify(i,(function(t,r){return this===i&&e.blacklist.indexOf(t)>=0?r=void 0:"calculator"===t&&(r=n?Object.keys(n).find((function(e){return n[e]===r})):r.toString()),r}),t);return delete this.headerify,o},getMouseDown:function(){if(this.mouseDown.length)return this.mouseDown[this.mouseDown.length-1]},popMouseDown:function(){var e;return this.mouseDown.length&&(e=this.mouseDown.pop()),e},clearMouseDown:function(){this.mouseDown=[new n(-1,-1)],this.dragExtent=null},setMouseDown:function(e){this.mouseDown.push(e)},getDragExtent:function(){return this.dragExtent},setDragExtent:function(e){this.dragExtent=e},gridRenderedNotification:function(){this.cellEditor&&this.cellEditor.gridRenderedNotification(),this.checkColumnAutosizing()&&this.paintNow(),this.fireSyntheticGridRenderedEvent()},tickNotification:function(){this.fireSyntheticTickEvent()},checkColumnAutosizing:function(){var e=this.behavior.checkColumnAutosizing(!1);return e&&this.behaviorShapeChanged(),e},checkClipboardCopy:function(e){if(this.hasFocus()){e.preventDefault();var t=this.getSelectionAsTSV();e.clipboardData.setData("text/plain",t)}},hasFocus:function(){return this.canvas.hasFocus()},setBehavior:function(e){var t=e&&e.Behavior||p;this.behavior=new t(this,e),this.initScrollbars(),this.refreshProperties(),this.behavior.reindex()},getColumnCount:function(){return this.behavior.getActiveColumnCount()},getRowCount:function(){return this.behavior.getRowCount()},getRow:function(e){return this.behavior.getRow(e)},getValue:function(e,t,i){return this.behavior.getValue(e,t,i)},setValue:function(e,t,i,n){this.behavior.setValue(e,t,i,n)},setData:function(e,t){this.behavior||this.setBehavior(t),this.behavior.setData(e,t),this.setInfo(e.length?"":this.properties.noDataMessage),this.behavior.shapeChanged()},setInfo:function(e){this.renderer.setInfo(e)},reindex:function(){x.call(this)?this.needsReindex=!0:this.behavior.reindex(),this.behaviorShapeChanged()},behaviorChanged:function(){this.divCanvas&&(this.numColumns!==this.getColumnCount()||this.numRows!==this.getRowCount()?(this.numColumns=this.getColumnCount(),this.numRows=this.getRowCount(),this.behaviorShapeChanged()):this.behaviorStateChanged())},behaviorShapeChanged:function(){x.call(this)?(this.needsShapeChanged=!0,this.canvas.requestRepaint()):this.divCanvas&&(this.synchronizeScrollingBoundaries(),this.repaint())},behaviorStateChanged:function(){x.call(this)?(this.needsStateChanged=!0,this.canvas.requestRepaint()):this.divCanvas&&(this.computeCellsBounds(),this.repaint())},deferredBehaviorChange:function(){this.needsReindex&&(this.behavior.reindex(),this.needsReindex=!1),this.needsShapeChanged?this.divCanvas&&this.synchronizeScrollingBoundaries():this.needsStateChanged&&this.divCanvas&&this.computeCellsBounds(),this.needsShapeChanged=this.needsStateChanged=!1},getBounds:function(){return this.renderer.getBounds()},repaint:function(){var e=this.canvas;e&&(this.properties.repaintImmediately?this.paintNow():e.repaint())},paintNow:function(){this.behavior.columnsCreated&&this.canvas.paintNow()},setContainer:function(e){this.initContainer(e),this.initRenderer()},initContainer:function(e){"string"==typeof e&&(e=document.querySelector(e)),e.style.position||(e.style.position=null),e.clientHeight<1&&(e.style.height=null),s("grid"),e.oncontextmenu=function(e){return e.stopPropagation(),e.preventDefault(),!1},e.removeAttribute("tabindex"),e.classList.add("hypergrid-container"),e.id=e.id||"hypergrid"+(document.querySelectorAll(".hypergrid-container").length-1||""),this.div=e},initCanvas:function(e){if(!this.divCanvas){var t=document.createElement("div");_(t,e&&e.margin,y),this.div.appendChild(t);var i=e&&(e.contextAttributes||e.canvasContextAttributes),n=new u(t,this.renderer,i);n.canvas.classList.add("hypergrid"),this.divCanvas=t,this.canvas=n,this.delegateCanvasEvents()}},convertViewPointToDataPoint:function(e){return this.behavior.convertViewPointToDataPoint(e)},convertDataPointToViewPoint:function(e){return this.behavior.convertDataPointToViewPoint(e)},beCursor:function(e){e?Array.isArray(e)||(e=[e]):e=["default"],e.forEach((function(e){this.cursor=e}),this.div.style)},stopEditing:function(){return!this.cellEditor||this.cellEditor.stopEditing()},cancelEditing:function(){return!this.cellEditor||this.cellEditor.cancelEditing()},abortEditing:function(){return!this.cellEditor||(this.cellEditor.abortEditing?this.cellEditor.abortEditing():this.cellEditor.stopEditing())},getDataBounds:function(){var e=this.canvas.bounds;return new r(0,0,e.origin.x+e.extent.x,e.origin.y+e.extent.y)},editAt:function(e){var t;return this.abortEditing(),e.isDataColumn&&e.properties[e.isDataRow?"editable":"filterable"]&&(t=this.getCellEditorAt(e))&&t.beginEditing(),t},isColumnVisible:function(e){return this.renderer.isColumnVisible(e)},isDataRowVisible:function(e){return this.renderer.isDataRowVisible(e)},isDataVisible:function(e,t){return this.isDataRowVisible(t)&&this.isColumnVisible(e)},insureModelColIsVisible:function(e,t){var i=this.getColumnCount()-1,n=e+Math.sign(t),r=!this.isColumnVisible(n)||e===i;return r&&this.scrollBy(t,0),r},insureModelRowIsVisible:function(e,t){var i=this.getRowCount()-1,n=e+(t>-1?1:0),r=!this.isDataRowVisible(n)||e===i;return r&&this.scrollBy(0,t),r},getGridCellFromMousePoint:function(e){return this.renderer.getGridCellFromMousePoint(e)},getBoundsOfCell:function(e){var t=this.renderer.getBoundsOfCell(e.x,e.y);return new r(t.x,t.y,t.width,t.height)},resized:function(){this.behaviorShapeChanged()},cellClicked:function(e){return this.behavior.cellClicked(e)},windowOpen:function(e,t,i,n){return window.open.apply(window,arguments)},getColumns:function(e,t){var i=this.behavior.getColumns();return i.slice.apply(i,arguments)},getActiveColumns:function(e,t){var i=this.behavior.getActiveColumns();return i.slice.apply(i,arguments)},getHiddenColumns:function(){return this.behavior.getHiddenColumns()},takeFocus:function(){var e=this.cellEditor;this.stopEditing(),e||this.canvas.takeFocus()},editorTakeFocus:function(){if(this.cellEditor)return this.cellEditor.takeFocus()},getVisibleRows:function(){return this.renderer.getVisibleRows()},getVisibleColumns:function(){return this.renderer.getVisibleColumns()},initRenderer:function(){this.renderer=this.renderer||new h(this)},getColumnWidth:function(e){return this.behavior.getColumnWidth(e)},setColumnWidth:function(e,t){this.abortEditing()&&this.behavior.setColumnWidth(e,t)},getFixedColumnsWidth:function(){return this.behavior.getFixedColumnsWidth()},getRowHeight:function(e,t){return this.behavior.getRowHeight(e,t)},setRowHeight:function(e,t,i){this.abortEditing()&&this.behavior.setRowHeight(e,t,i)},getFixedRowsHeight:function(){return this.behavior.getFixedRowsHeight()},getFixedColumnCount:function(){return this.behavior.getFixedColumnCount()},getFixedRowCount:function(){return this.behavior.getFixedRowCount()},topLeftClicked:function(e){this.behavior.topLeftClicked(this,e)},rowHeaderClicked:function(e){this.behavior.rowHeaderClicked(this,e)},columnHeaderClicked:function(e){this.behavior.columnHeaderClicked(this,e)},onEditorActivate:function(e){return this.editAt(e)},getCellEditorAt:function(e){return this.behavior.getCellEditorAt(e)},toggleHiDPI:function(){this.properties.useHiDPI?this.removeAttribute("hidpi"):this.setAttribute("hidpi",null),this.canvas.resize()},getHiDPI:function(e){if(window.devicePixelRatio&&this.properties.useHiDPI)var t=(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1);else t=1;return t},getRenderedWidth:function(e){return this.renderer.getRenderedWidth(e)},getRenderedHeight:function(e){return this.renderer.getRenderedHeight(e)},updateCursor:function(){var e=this.behavior.getCursorAt(-1,-1),t=this.hoverCell;if(t&&t.x>-1&&t.y>-1){var i=t.x+this.getHScrollValue();e=this.behavior.getCursorAt(i,t.y+this.getVScrollValue())}this.beCursor(e)},repaintCell:function(e,t){this.renderer.repaintCell(e,t)},isDraggingColumn:function(){return!!this.renderOverridesCache.dragger},getRenderedData:function(){return this.renderer.getVisibleCellMatrix()},autosizeColumn:function(e){(e>=-2?this.behavior.getActiveColumn(e):e).checkColumnAutosizing(!0),this.computeCellsBounds()},setFocusable:function(e){this.canvas.setFocusable(e)},getVisibleColumnsCount:function(){return this.renderer.getVisibleColumnsCount()},getVisibleRowsCount:function(){return this.renderer.getVisibleRowsCount()},updateSize:function(){this.canvas.checksize()},stopPaintThread:function(){this.canvas.stopPaintThread()},stopResizeThread:function(){this.canvas.stopResizeThread()},restartResizeThread:function(){this.canvas.restartResizeThread()},restartPaintThread:function(){this.canvas.restartPaintThread()},swapColumns:function(e,t){this.behavior.swapColumns(e,t)},endDragColumnNotification:function(){this.behavior.endDragColumnNotification()},getFixedColumnsMaxWidth:function(){return this.behavior.getFixedColumnsMaxWidth()},isMouseDownInHeaderArea:function(){var e=this.getHeaderRowCount(),t=this.getMouseDown();return t.x<0||t.y<e},getColumnProperties:function(e){return this.behavior.getColumnProperties(e)},setColumnProperties:function(e,t){this.behavior.setColumnProperties(e,t)},clearAllCellProperties:function(e){this.behavior.clearAllCellProperties(e),this.renderer.resetAllCellPropertiesCaches()},isGridRow:function(e){return new this.behavior.CellEvent(0,e).isDataRow},getHeaderRowCount:function(){return this.behavior.getHeaderRowCount()},getFooterRowCount:function(){return this.behavior.getFooterRowCount()},getLogicalRowCount:function(){return this.behavior.getLogicalRowCount()},hasTreeColumn:function(){return this.behavior.hasTreeColumn()},lookupFeature:function(e){return this.behavior.lookupFeature(e)},newPoint:function(e,t){return new n(e,t)},newRectangle:function(e,t,i,n){return new r(e,t,i,n)},get charMap(){return this.behavior.charMap},decorateColumnArray:function(e){if(!this.columnArrayDecorations){var t=this;this.columnArrayDecorations={findWithNeg:{value:function(e,i){for(var n=t.behavior.leftMostColIndex;n<0;n++)if(this[n]&&e.call(i,this[n],n,this))return this[n];return this.find(e,i)}},forEachWithNeg:{value:function(e,i){for(var n=t.behavior.leftMostColIndex;n<0;n++)this[n]&&e.call(i,this[n],n,this);return this.forEach(e,i)}}}}return Object.defineProperties(e||[],this.columnArrayDecorations)}});function x(){return!this.properties.repaintImmediately&&this.canvas.paintLoopRunning()}function S(){this.gridRenderer=l.gridRenderer,this.rowHeaderCheckboxes=l.rowHeaderCheckboxes,this.rowHeaderNumbers=l.rowHeaderNumbers,this.gridBorder=l.gridBorder,this.gridBorderTop=l.gridBorderTop,this.gridBorderRight=l.gridBorderRight,this.gridBorderBottom=l.gridBorderBottom,this.gridBorderLeft=l.gridBorderLeft}function _(e,t,i){if(t){var n=e.style;i.forEach((function(e){void 0!==t[e]&&(n[e]=t[e])}))}}function E(){var e=this;return Object.keys(this).reduce((function(t,i){return"toJSON"!==i&&(t[i]=/^function /.test(i)?null:e[i].toString().replace(/^function anonymous\(/,"function(").replace("\n/*``*/)",")")),t}),{})}function R(e,t){var i=m.get(e);if(i)return new i(this,t)}function A(e,t){if(!A.warned[e]){var i=e.match(/\w+$/)[0];console.warn("Reference to "+i+" external module using `Hypergrid."+i+".` has been deprecated as of v3.0.0 in favor of `require('"+e+"')` from within a Hypergrid Client Module (otherwise use `Hypergrid.require(...)`) and will be removed in a future release. See https://github.com/fin-hypergrid/core/wiki/Client-Modules#internal-modules."),A.warned[e]=!0}return t}w.plugins={},w.localization={locale:"en-US",numberOptions:{maximumFractionDigits:0}},w.mixIn=w.prototype.mixIn,w.mixIn(i(129).sharedMixin),w.prototype.mixIn(i(129).mixin),w.prototype.mixIn(i(301).mixin),w.prototype.mixIn(i(302).mixin),w.prototype.mixIn(i(304).mixin),w.prototype.mixIn(i(305).mixin),A.warned={},Object.defineProperties(w,{Base:{get:function(){return A("fin-hypergrid/src/Base",i(3))}},images:{get:function(){return A("fin-hypergrid/images",i(23))}}}),w.grids=[],w.defaults=w.properties=l,w.modules=b,e.exports=w},function(e,t,i){"use strict";Math.sign=Math.sign=function(e){return 0===(e=+e)||isNaN(e)?e:e>0?1:-1},"function"!=typeof Array.prototype.findIndex&&(Array.prototype.findIndex=function(e){for(var t=arguments[1],i=0,n=this.length;i<n;i++)if(e.call(t,this[i],i,this))return i;return-1}),"function"!=typeof Array.prototype.fill&&(Array.prototype.fill=function(e,t,i){t=void 0===t?0:t<0?this.length+t:t,i=void 0===i?this.length:i<0?this.length+i:i;for(var n=t||0;n<i;++n)this[n]=e;return this}),"function"!=typeof Object.assign&&(Object.assign=function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];if(null!=i)for(var n in i)i.hasOwnProperty(n)&&(e[n]=i[n])}return e}),"function"!=typeof Object.getOwnPropertyDescriptors&&(Object.getOwnPropertyDescriptors=function(e){return Object.getOwnPropertyNames(e).reduce((function(t,i){return t[i]=Object.getOwnPropertyDescriptor(e,i),t}),{})})},function(e,t,i){"use strict";var n=i(277);function r(e,t){var i,o,s,a,l,c,u=r.prefix;if("boolean"==typeof e?i=2:(t=e,e=r.before,i=1),!(o=document.getElementById(u+t))){if(s=document.querySelector("head"),e&&(a=Array.prototype.slice.call(s.children).find((function(e){var t=e.getAttribute("id");return"STYLE"===e.tagName&&(!t||t.indexOf(u)!==u)||"LINK"===e.tagName&&"stylesheet"===e.getAttribute("rel")}))),!(l=this[t]))throw"Expected to find member `"+t+"` in calling context.";c=["<style>\n"+l+"\n</style>\n",s,a||null],arguments.length>1&&(c=c.concat(Array.prototype.slice.call(arguments,i))),(o=n.append.apply(null,c)[0]).id=u+t}return o}r.before=!0,r.prefix="injected-stylesheet-",e.exports=r},function(e,t,i){"use strict";function n(e,t){var i=arguments.length>1;if("function"==typeof e&&(e=e.call(this)),i){var r=arguments;e=(e=e.replace(n.replacersRegex,(function(e,t){return t-=-1,r.length>t?r[t]:""}))).replace(n.encodersRegex,(function(e,t){if(t-=-1,r.length>t){var i=document.createElement("DIV");return i.textContent=r[t],i.innerHTML}return""}))}return e}function r(e,t,i){var r="object"!=typeof t,o=Array.prototype.slice.call(arguments,1);return r?(t=document.createElement("DIV"),o.unshift(e)):o[0]=e,t.innerHTML=n.apply(null,o),t}n.encodersRegex=/%\{(\d+)\}/g,n.replacersRegex=/\$\{(.*?)\}/g,n.format=n,n.replace=r,n.append=function(e,t,i,n){var o=3;"object"!=typeof i&&(i=null,o=2),n=Array.prototype.slice.call(arguments,o);for(var s=[],a=r.apply(null,[e].concat(n));a.childNodes.length;)s.push(a.firstChild),t.insertBefore(a.firstChild,i);return s},n.firstChild=function(e,t){return r.apply(null,arguments).firstChild},n.firstElement=function(e,t){return r.apply(null,arguments).firstElementChild},e.exports=n},function(e,t,i){"use strict";t.grid=[".hypergrid-container {","\tposition: relative;","\theight: 500px;","}",".hypergrid-container > div:first-child {","\tposition: absolute;","\tleft: 0;","\ttop: 0;","\tright: 0;","\tbottom: 0;","}",".hypergrid-container > div:first-child > div.info {","\tposition: absolute;","\tdisplay: none; /* initially hidden */","\tmargin-top: 150px; /* to place below headers */","\tcolor: #eee;","\ttext-shadow: 1px 1px #ccc;","\tfont-size: 36pt;","\tfont-weight: bold;","\ttext-align: center;","\ttop: 0; right: 0; bottom: 0; left: 0;","}",".hypergrid-textfield {","\tposition: absolute;","\tfont-size: 12px;","\tcolor: black;","\tbackground-color: ivory;","\tbox-sizing: border-box;","\tmargin: 0;","\tpadding: 0 5px;","\tborder: 0; /*border: 1px solid #777;*/","\toutline: 0;","}","",".hypergrid {","\ttouch-action: none;","}"].join("\n")},function(e,t,i){"use strict";var n=i(3),r=i(23),o=i(280),s=i(122),a=[],l=n.extend("Renderer",{cell:{x:0,y:0,width:0,height:0},scrollHeight:0,reset:function(){this.bounds={width:0,height:0},this.visibleColumns=this.grid.decorateColumnArray(),this.visibleRows=[],this.insertionBounds=[],this.cellEventPool=[]},initialize:function(e){this.grid=e,this.gridRenderers={},a.forEach((function(e){this.registerGridRenderer(e)}),this),this.setGridRenderer(this.properties.gridRenderer||"by-columns-and-rows"),this.reset()},registerGridRenderer:function(e){this.gridRenderers[e.key]={paintCells:e}},setGridRenderer:function(e){var t=this.gridRenderers[e];if(!t)throw new this.HypergridError('Unregistered grid renderer "'+e+'"');t!==this.gridRenderer&&(this.gridRenderer=t,this.gridRenderer.reset=!0)},resetAllGridRenderers:function(e){Object.keys(this.gridRenderers).forEach((function(t){this.gridRenderers[t].reset=!e||e.indexOf(t)<0}),this)},rebundleGridRenderers:function(){Object.keys(this.gridRenderers).forEach((function(e){this.gridRenderers[e].paintCells.rebundle&&(this.gridRenderers[e].rebundle=!0)}),this)},resetRowHeaderColumnWidth:function(){this.lastKnowRowCount=void 0},computeCellsBounds:function(e){e?(u.call(this),this.needsComputeCellsBounds=!1):this.needsComputeCellsBounds=!0},get properties(){return this.grid.properties},paint:function(e){this.grid.canvas&&(this.renderGrid(e),this.grid.gridRenderedNotification())},tickNotification:function(){this.grid.tickNotification()},getVisibleRowsCount:function(){return this.visibleRows.length-1},getVisibleScrollHeight:function(){var e=this.grid.properties.defaultRowHeight*this.grid.behavior.getFooterRowCount();return this.getBounds().height-e-this.grid.getFixedRowsHeight()},getVisibleColumnsCount:function(){return this.visibleColumns.length-1},getBoundsOfCell:function(e,t){var i=this.visibleColumns[e],n=this.visibleRows[t];return{x:i.left,y:n.top,width:i.width,height:n.height}},getColumnFromPixelX:function(e){for(var t=this.grid.getFixedColumnCount(),i=this.grid.getHScrollValue(),n=this.visibleColumns,r=1;r<n.length-1;r++)if(e<n[r].left-(n[r].left-n[r-1].left)/2)return r>t&&(r+=i),r-1;return r>t&&(r+=i),r-1},getGridCellFromMousePoint:function(e){var t=e.x,i=e.y,n=!1,r=!1,o=this.visibleRows,s=this.visibleColumns,a=s[this.grid.behavior.leftMostColIndex],l=a&&t<a.right?a:s.findWithNeg((function(e){return t<e.right})),c=o.find((function(e){return i<e.bottom})),u={fake:!1};c?n=!1:(c=o[o.length-1],n=!0),l?r=!1:(l=s[s.length-1],r=!0);var h=new this.grid.behavior.CellEvent(l.columnIndex,c.index),d=this.findCell(h);return u.cellEvent=d?Object.create(d):h,u.cellEvent.mousePoint=this.grid.newPoint(t-l.left,i-c.top),(r||n)&&(u.fake=!0,this.grid.beCursor(null)),u},getVisibleCellMatrix:function(){for(var e=Array(this.visibleRows.length),t=this.grid.behavior.hasTreeColumn()?1:0,i=0;i<e.length;++i)e[i]=Array(this.visibleColumns.length);return this.cellEventPool.forEach((function(i){var n=i.gridCell.x+t;n>=0&&(e[i.gridCell.y][n]=i.value)})),e},isColumnVisible:function(e){return!!this.getVisibleColumn(e)},getVisibleColumn:function(e){return this.visibleColumns.findWithNeg((function(t){return t.columnIndex===e}))},getMinimumLeftPositionToShowColumn:function(e){var t,i,n,r,o=this.grid.getFixedColumnCount(),s=0,a=0,l=0,c=[],u=null,h=0,d=0,f=0;for(h=0;h<=e;h++)d=f,f+=Math.ceil(this.grid.getColumnWidth(h)),c.push({left:d,right:f});n=c[c.length-1].right,r=c[o-1],this.properties.showRowNumbers&&(s=this.grid.getColumnWidth(this.grid.behavior.rowColumnIndex)),this.grid.hasTreeColumn()&&(a=this.grid.getColumnWidth(this.grid.behavior.treeColumnIndex)),t=r?r.right:0,i=this.getBounds().width-t-s-a,h=e;do{l=h,u=c[h],h--}while(u.left+i>n&&h>=0);return l},isDataColumnVisible:function(e){return!!this.getVisibleDataColumn(e)},getVisibleDataColumn:function(e){return this.visibleColumns.findWithNeg((function(t){return t.column.index===e}))},getFinalVisibleColumnBoundary:function(){var e=this.isLastColumnVisible()?2:1,t=this.visibleColumns[this.visibleColumns.length-e].right;return Math.min(t,this.getBounds().width)},isRowVisible:function(e){return!!this.visibleRows[e]},getVisibleRow:function(e){return this.visibleRows[e]},isDataRowVisible:function(e,t){return!!this.getVisibleDataRow(e,t)},getVisibleDataRow:function(e,t){return t=t||this.grid.behavior.dataModel,this.visibleRows.find((function(i){return i.subgrid===t&&i.rowIndex===e}))},isSelected:function(e,t){return this.grid.isSelected(e,t)},renderGrid:function(e){var t=this.grid;t.deferredBehaviorChange();var i=t.getRowCount();if(i!==this.lastKnowRowCount){var n=f.call(this,e,i);n!==this.handleColumnWidth&&(this.needsComputeCellsBounds=!0,this.handleColumnWidth=n),this.lastKnowRowCount=i}this.needsComputeCellsBounds&&(u.call(this),this.needsComputeCellsBounds=!1,t.behavior.dataModel.fetchData)?t.behavior.dataModel.fetchData(h.call(this),c.bind(this,e)):(this.gridRenderer.paintCells.call(this,e),this.renderOverrides(e),this.renderLastSelection(e))},renderLastSelection:function(e){var t,i,n,r,o,a=this.grid,l=a.properties,c=a.selectionModel;switch(c.getLastSelectionType()){case"column":var u=c.columnSelectionModel.selection,h=u[u.length-1];i=h[0],n=0,r=h[1]-i+1,o=a.getRowCount(),t=new s(i,n,r,o);break;case"row":if(!l.collapseCellSelections||"cell"!==c.getLastSelectionType(1)){var d=c.rowSelectionModel.selection,f=d[d.length-1];i=0,n=f[0],r=a.behavior.getActiveColumns().length,o=f[1]-n+1,t=new s(i,n,r,o);break}case"cell":t=c.getLastSelection()}if(t&&-1!==t.origin.x){var g,p,v=this.visibleColumnsByIndex,m=this.visibleRowsByDataRowIndex,b=this.visibleColumns[this.visibleColumns.length-1],y=this.visibleRows[this.visibleRows.length-1],C=v[this.dataWindow.origin.x],w=m[this.dataWindow.origin.y],x=l.fixedColumnCount,S=l.fixedRowCount,_=a.getHeaderRowCount();if(!((g=this.visibleColumns[0])&&t.corner.x<g.columnIndex||x&&C&&(g=this.visibleColumns[x-1])&&t.origin.x>g.columnIndex&&t.corner.x<C.columnIndex||b&&t.origin.x>b.columnIndex||(p=this.visibleRows[_])&&t.corner.y<p.rowIndex||S&&w&&(p=this.visibleRows[_+S-1])&&t.origin.y>p.rowIndex&&t.corner.y<w.rowIndex||y&&t.origin.y>y.rowIndex)){var E=v[t.origin.x]||C,R=m[t.origin.y]||w,A=v[t.corner.x]||(t.corner.x>b.columnIndex?b:v[x-1]),M=m[t.corner.y]||(t.corner.y>y.rowIndex?y:m[S-1]);if(E&&R&&A&&M){var k={bounds:{x:E.left,y:R.top,width:A.right-E.left,height:M.bottom-R.top},selectionRegionOverlayColor:this.gridRenderer.paintCells.partial?"transparent":l.selectionRegionOverlayColor,selectionRegionOutlineColor:l.selectionRegionOutlineColor};a.cellRenderers.get("lastselection").paint(e,k),"by-cells"===this.gridRenderer.paintCells.key&&(this.gridRenderer.reset=!0)}}}},renderOverrides:function(e){var t=this.grid.renderOverridesCache;for(var i in t)if(t.hasOwnProperty(i)){var n=t[i];n&&this.renderOverride(e,n)}},renderOverride:function(e,t){var i=t.hdpiratio,n=t.startX,r=t.width+1,o=t.height,s=t.ctx,a=e.getImageData(n,0,Math.round(r*i),Math.round(o*i));s.putImageData(a,0,0),e.cache.fillStyle=this.properties.backgroundColor2,e.fillRect(Math.round(n/i),0,r,o)},getScrollTop:function(){return this.grid.getVScrollValue()},getScrollLeft:function(){return this.grid.getHScrollValue()},isLastColumnVisible:function(){var e=this.grid.getColumnCount()-1;return!!this.visibleColumns.findWithNeg((function(t){return t.columnIndex===e}))},getRenderedWidth:function(e){var t=this.visibleColumns;return e>=t.length?t[t.length-1].right:t[e].left},getRenderedHeight:function(e){var t,i=this.visibleRows;e>=i.length?t=i[i.length-1].bottom:t=i[e].top;return t},isDraggingColumn:function(){return this.grid.isDraggingColumn()},getPageUpRow:function(){for(var e=this.grid,t=this.getVisibleScrollHeight(),i=this.dataWindow.origin.y-this.properties.fixedRowCount-1,n=0;n<t&&i>=0;)n+=e.getRowHeight(i),i--;return i+1},getPageDownRow:function(){return this.dataWindow.corner.y-this.properties.fixedRowCount},renderErrorCell:function(e,t,i,n){var r=e&&(e.message||e)||"Unknown error.",o={x:i.left,y:n.top,width:i.width,height:n.height},s={bounds:o};console.error(r),t.cache.save(),t.beginPath(),t.rect(o.x,o.y,o.width,o.height),t.clip(),this.grid.cellRenderers.get("errorcell").paint(t,s,r),t.cache.restore()},paintGridlines:function(e){var t=this.visibleColumns,i=t.length,n=this.visibleRows,r=n.length;if(i&&r){var o,s,a,l=this.properties,c=i-1,u=r-1,h=t[c].right,d=n[u].bottom,f=l.gridLinesVColor,g=l.gridLinesHColor,p="border-box"===l.boxSizing;if(l.gridLinesV&&(l.gridLinesUserDataArea||l.gridLinesColumnHeader)){var v=l.gridLinesVWidth,m=this.grid.getHeaderRowCount(),b=n[m-1],y=n[m],C=y&&y.top,w=l.gridLinesColumnHeader?0:C,x=l.gridLinesUserDataArea?d:b&&b.bottom;void 0!==w&&void 0!==x&&(e.cache.fillStyle=f,t.forEachWithNeg((function(t,i){if(t&&i<c){var n=t.right,r=Math.max(w,t.top||0),o=Math.min(x,t.bottom||1/0)-r;p&&(n-=v),e.fillRect(n,r,v,o),l.gridLinesUserDataArea&&t.bottom<C&&e.fillRect(n,C,v,x-C)}})))}if(l.gridLinesH&&(l.gridLinesUserDataArea||(o=l.gridLinesRowHeader&&(t[-1]||t[-2])))){var S=l.gridLinesHWidth,_=l.gridLinesRowHeader?0:t[0].left,E=l.gridLinesUserDataArea?h:o.right;e.cache.fillStyle=g,n.forEach((function(t,i){if(i<u){var n=t.bottom;p&&(n-=S),e.fillRect(_,n,E-_,S)}}))}void 0!==l.fixedLinesHWidth&&(a=n.gap)&&(e.cache.fillStyle=l.fixedLinesHColor||g,(s=l.fixedLinesHEdge)?(e.fillRect(0,a.top,h,s),e.fillRect(0,a.bottom-s,h,s)):e.fillRect(0,a.top,h,a.bottom-a.top)),void 0!==l.fixedLinesVWidth&&(a=t.gap)&&(e.cache.fillStyle=l.fixedLinesVColor||f,(s=l.fixedLinesVEdge)?(e.fillRect(a.left,0,s,d),e.fillRect(a.right-s,0,s,d)):e.fillRect(a.left,0,a.right-a.left,d))}},_paintCell:function(e,t,i){var n,r,o=this.grid,s=o.selectionModel,a=t.isHandleColumn,l=t.isTreeColumn,c=t.isColumnSelected,u=t.isDataRow,h=t.isRowSelected,d=t.isCellSelected,f=t.isHeaderRow,g=t.isFilterRow,p=a||l,v=!p&&u,m=this.assignProps(t),b=(m.gridCell=t.gridCell).x,y=(m.dataCell=t.dataCell).y;a?(r=h||s.isCellSelectedInRow(y),m.halign="right"):l?(r=h||s.isCellSelectedInRow(y),m.halign="left"):r=u?d||h||c:!g&&(!!c||s.isCellSelectedInColumn(b)),a?u?m.rowHeaderNumbers&&(n=y+1):f&&(m.allRowsSelected=s.areAllRowsSelected()):(m.dataRow=t.dataRow,n=t.value),m.isSelected=r,m.isDataColumn=!p,m.isHandleColumn=a,m.isTreeColumn=l,m.isDataRow=u,m.isHeaderRow=f,m.isFilterRow=g,m.isUserDataArea=v,m.isColumnHovered=t.isColumnHovered,m.isRowHovered=t.isRowHovered,m.isCellHovered=t.isCellHovered,m.bounds=t.bounds,m.isCellSelected=d,m.isRowSelected=h,m.isColumnSelected=c,m.isInCurrentSelectionRectangle=s.isInCurrentSelectionRectangle(b,y),m.prefillColor=i,o.mouseDownState&&(m.mouseDown=o.mouseDownState.gridCell.equals(t.gridCell)),m.subrow=0;var C=v&&n&&n.constructor===Array,w=C&&n.subrows&&n.length;if(w){var x=m.bounds=Object.assign({},m.bounds);x.height/=w,m.subrows=w,m.value=m.exec(n[0])}else w=1,m.value=!C&&v?m.exec(n):n;for(;;){var S=t.subgrid.getCell(m,m.renderer);if(m.formatValue=o.getFormatter(m.format),m.snapshot=t.snapshot[m.subrow],m.minWidth=t.minWidth,S.forEach?S.forEach((function(t){t.paint(e,m)})):S.paint(e,m),t.snapshot[m.subrow]=m.snapshot,(void 0===t.minWidth||m.minWidth>t.minWidth)&&(t.minWidth=m.minWidth),++m.subrow===w)break;x.y+=x.height,m.value=m.exec(n[m.subrow])}return t.clickRect=m.clickRect,t.cellRenderer=S,m.minWidth},assignProps:o,findCell:function(e,t,i){var n,r,o=this.cellEventPool;"object"==typeof e?(i=e.subgrid,t=e.dataCell.y,n=e.dataCell.x):n=e,i=i||this.grid.behavior.dataModel;var s=this.visibleColumns.length;this.grid.properties.showRowNumbers&&s++,this.grid.behavior.hasTreeColumn()&&s++,s*=this.visibleRows.length;for(var a=0;a<s;++a)if((r=o[a]).subgrid===i&&r.dataCell.x===n&&r.dataCell.y===t)return r},resetCellPropertiesCache:function(e,t,i){var n=this.findCell.apply(this,arguments);return n&&(n._cellOwnProperties=void 0),n},resetAllCellPropertiesCaches:function(){this.cellEventPool.forEach((function(e){e._cellOwnProperties=void 0}))},getBounds:function(){return this.bounds},setBounds:function(e){return this.bounds=e},setInfo:function(e){var t;this.visibleColumns.length&&(t=this.visibleColumns[this.visibleColumns.length-1].right),this.grid.canvas.setInfo(e,t)}});function c(e,t){t||(this.gridRenderer.paintCells.call(this,e),this.grid.repaint())}function u(){var e,t,i,n,r,o,a,l,c,u,h,d,f,g,p,v,m,b,y,C,w,x,S,_,E,R,A,M,k,P,O,D,T,H,j,L,I,F,N,B,V=this.getScrollTop(),W=this.getScrollLeft(),z=this.getBounds(),U=this.grid,K=U.behavior,G=K.hasTreeColumn(),Y=K.treeColumnIndex,X=U.cellEditor&&U.cellEditor.event,Q=0,q=0,Z=U.properties,J="border-box"===Z.boxSizing,$=Z.gridLinesVWidth,ee=J?0:$,te=Z.gridLinesHWidth,ie=J?0:te,ne=this.grid.getFixedColumnCount(),re=this.grid.getFixedRowCount(),oe=K.leftMostColIndex,se=0,ae=-3,le=-1,ce=K.subgrids;for(X&&(t=X.gridCell.x,n=X.dataCell.y,r=X.subgrid),Z.showRowNumbers&&(ae=G?Y:0,se+=1),G&&(ae=0,se+=1),ne&&(ae=ne),re&&(le=re),void 0===Z.fixedLinesVWidth?ae=-3:(y=Math.max(Z.fixedLinesVWidth||$,$),w=(C=J?y-$:y)-y),void 0===Z.fixedLinesHWidth?le=-1:(x=Math.max(Z.fixedLinesHWidth||te,te),_=(S=J?x-te:x)-x),this.scrollHeight=0,this.visibleColumns.length=0,this.visibleColumns.gap=this.visibleColumns[-1]=this.visibleColumns[-2]=void 0,this.visibleRows.length=0,this.visibleRows.gap=void 0,this.visibleColumnsByIndex=[],this.visibleRowsByDataRowIndex={},this.insertionBounds=[],a=0,h=oe,d=U.getColumnCount(),l=z.width||U.canvas.width;h<d&&a<=l;h++)if(G||h!==Y){if((B=h===ae)?(this.visibleColumns.gap={left:D.right+w,right:void 0},a+=C):a&&(a+=ee),k=h,h>=ne&&(L=k+=W,void 0===j&&(j=L)),k>=d)break;T=Math.ceil(K.getColumnWidth(k)),this.visibleColumns[h]=this.visibleColumnsByIndex[k]=D={index:h,columnIndex:k,column:K.getActiveColumn(k),left:a,width:T,right:a+T},B&&(this.visibleColumns.gap.right=D.left),t===k&&(e=D),a+=T,Q+=Math.round(T/2)+q,this.insertionBounds.push(Q),q=Math.round(T/2)}else this.visibleColumns[h]=void 0;for(M=Z.defaultRowHeight*K.getFooterRowCount(),b=p=f=c=0,g=ce.length,u=z.height-M;f<g;f++,b+=m){for(m=(E=ce[f]).getRowCount(),A=E.isData,o=r===E,N=p,v=p+m;p<v&&c<u&&((B=A&&p===le)?(this.visibleRows.gap={top:O.bottom+_,bottom:void 0},c+=S):c&&(c+=ie),P=p,!(A&&p>=re&&(F=(P+=V)-b,void 0===I&&(I=F),P>=v)));p++)R=P-b,H=K.getRowHeight(R,E),this.visibleRows[p]=O={index:p,subgrid:E,rowIndex:R,top:c,height:H,bottom:c+H},B&&(this.visibleRows.gap.bottom=O.top),A&&(this.visibleRowsByDataRowIndex[P-b]=O),o&&n===R&&(i=O),c+=H;A&&(m=p-N)}X&&(X.visibleColumn=e,X.visibleRow=i,X.gridCell.y=i&&i.index,X._bounds=null),this.dataWindow=new s(j,I,Math.min(L-j+1,this.visibleColumns.length),Math.min(F-I+1,this.visibleRows.length));var ue=this.cellEventPool,he=ue.length,de=(this.visibleColumns.length+se)*this.visibleRows.length;de>he&&(ue.length=de);for(var fe=he;fe<de;fe++)ue[fe]=new K.CellEvent;this.resetAllGridRenderers()}function h(){var e=this.dataWindow;if(!this.grid.properties.fetchSubregions)return[this.grid.newRectangle(e.left,e.top,e.width,e.height)];var t=this.visibleColumns.map((function(e){return e.column.index})).sort(d),i=t[0],n=t[t.length-1]-i+1;return[this.grid.newRectangle(i,e.top,n,e.height)]}function d(e,t){return e-t}function f(e,t){var i=this.grid.behavior.getColumnProperties(this.grid.behavior.rowColumnIndex),n=this.grid.properties,o=2*i.cellPadding;if(n.rowHeaderCheckboxes&&r.checked&&(o+=r.checked.width),n.rowHeaderNumbers){var s=i.rowHeader;e.cache.font=s.foregroundSelectionFont.indexOf("bold ")>=0?s.foregroundSelectionFont:s.font,o+=e.getTextWidth(t)}i.preferredWidth=i.width=o}function g(e){a.indexOf(e)<0&&a.push(e)}g(i(281)),g(i(282)),g(i(283)),g(i(123)),g(i(284)),l.registerGridRenderer=g,e.exports=l},function(e,t,i){"use strict";var n=i(78),r=n.propClassEnum.COLUMNS,o=n.propClassEnum.CELLS,s=n.propClassEnum.ROWS,a=n.propClassEnum.STRIPES,l=[];l[r]=function(e){return e.columnProperties},l[o]=function(e){return e.cellOwnProperties},l[a]=function(e){var t=e.isDataRow&&e.columnProperties.rowStripes;return t&&t[e.dataCell.y%t.length]},l[s]=function(e){return e.rowOwnProperties},e.exports=function(e){var t,i,n,c=e.properties.propClassLayers;switch(c[0]){case s:t=1,i=e.rowOwnProperties||this.grid.properties;break;case r:c[1]===o?(t=2,i=e.properties):(t=1,i=e.columnProperties);break;case o:c[1]===r?(i=e.cellOwnProperties)?t=1:(t=2,i=e.columnProperties):c[2]===r||c[3]===r?(t=1,i=e.properties):(t=0,i=this.grid.properties);break;case a:t=0,i=this.grid.properties}for(n=[Object.create(i)];t<c.length;++t)n.push(l[c[t]](e));return Object.assign.apply(Object,n)}},function(e,t,i){"use strict";var n=i(123);function r(e){var t,i,r,o,s=this.visibleColumns,a=this.visibleRows,l=s.length,c=l-1,u=a.length,h=0,d=this.cellEventPool,f=u?a[u-1].bottom:0;l&&u&&(this.gridRenderer.reset&&(this.resetAllGridRenderers(),n.call(this,e),this.gridRenderer.reset=!1),this.visibleColumns.forEachWithNeg((function(n,s){for(n=(t=d[h]).visibleColumn,o=n.column.properties.columnClip,e.clipSave(o||null===o&&s===c,0,0,n.right,f),r=i=0;i<u;i++,h++){t=d[h];try{r=Math.max(r,this._paintCell(e,d[h]))}catch(t){this.renderErrorCell(t,e,n,d[h].visibleRow)}}e.clipRestore(o),t.column.properties.preferredWidth=Math.round(r)}),this),"border-box"===this.grid.properties.boxSizing&&this.paintGridlines(e))}r.key="by-cells",r.partial=!0,e.exports=r},function(e,t,i){"use strict";var n=i(79);function r(e){var t,i,r,o,s,a,l,c,u=this.grid.properties.backgroundColor,h=this.visibleColumns,d=this.visibleRows,f=h.length,g=f-1,p=d.length,v=this.cellEventPool,m=f?h[g].right:0,b=p?d[p-1].bottom:0;if(e.clearRect(0,0,this.bounds.width,this.bounds.height),f&&p){for(e.alpha(u)>0&&(e.cache.fillStyle=u,e.fillRect(0,0,m,b)),this.gridRenderer.reset?(this.resetAllGridRenderers(["by-columns-discrete"]),this.gridRenderer.reset=!1,n.call(this,!0)):this.gridRenderer.rebundle&&(this.gridRenderer.rebundle=!1,n.call(this)),s=(o=this.columnBundles).length;s--;)r=o[s],e.clearFill(r.left,0,r.right-r.left,b,r.backgroundColor);var y=0;this.visibleColumns.forEachWithNeg((function(n,r){for(n=(i=v[y]).visibleColumn,t=i.column.properties.backgroundColor,c=n.column.properties.columnClip,e.clipSave(c||null===c&&r===g,0,0,n.right,b),l=a=0;a<p;a++,y++){i=v[y];try{l=Math.max(l,this._paintCell(e,i,t))}catch(t){this.renderErrorCell(t,e,n,i.visibleRow)}}e.clipRestore(c),i.column.properties.preferredWidth=Math.round(l)}),this),this.paintGridlines(e)}}r.key="by-columns",r.rebundle=!0,e.exports=r},function(e,t,i){"use strict";var n=i(79);function r(e){var t,i,r,o,s,a=this.visibleColumns,l=this.visibleRows,c=a.length,u=c-1,h=l.length,d=this.cellEventPool,f=h?l[h-1].bottom:0;if(e.clearRect(0,0,this.bounds.width,this.bounds.height),c&&h){this.gridRenderer.reset&&(this.resetAllGridRenderers(["by-columns"]),this.gridRenderer.reset=!1,n.call(this,!0));var g=0;this.visibleColumns.forEachWithNeg((function(n,a){for(n=(i=d[g]).visibleColumn,t=i.column.properties.backgroundColor,e.clearFill(n.left,0,n.width,f,t),s=n.column.properties.columnClip,e.clipSave(s||null===s&&a===u,0,0,n.right,f),o=r=0;r<h;r++,g++){i=d[g];try{o=Math.max(o,this._paintCell(e,i,t))}catch(t){this.renderErrorCell(t,e,n,i.visibleRow)}}e.clipRestore(s),i.column.properties.preferredWidth=Math.round(o)}),this),this.paintGridlines(e)}}r.key="by-columns-discrete",e.exports=r},function(e,t,i){"use strict";var n=i(124);function r(e){var t,i,r,o,s,a,l,c,u=this.grid.properties,h=u.backgroundColor,d=this.rowBundles,f=this.visibleColumns,g=this.visibleRows,p=f.length,v=p-1,m=g.length,b=this.cellEventPool,y=Array(p-0).fill(0),C=p?f[p-1].right:0,w=m?g[m-1].bottom:0,x=u.gridLinesH,S=u.gridLinesHWidth,_=u.gridLinesHColor;if(e.clearRect(0,0,this.bounds.width,this.bounds.height),p&&m){for(e.alpha(h)>0&&(e.cache.fillStyle=h,e.fillRect(0,0,C,w)),this.gridRenderer.reset&&(this.resetAllGridRenderers(),this.gridRenderer.reset=!1,n.call(this,!0)),i=this.rowPrefillColors,a=d.length;a--;)o=d[a],e.clearFill(0,o.top,C,o.bottom-o.top,o.backgroundColor);for(l=0,a=0;a<m;a++)t=i[a],x&&(e.cache.fillStyle=_,e.fillRect(0,b[l].visibleRow.bottom,C,S)),this.visibleColumns.forEachWithNeg((function(i){l++,i=(r=b[l]).visibleColumn,c=i.column.properties.columnClip,e.clipSave(c||null===c&&s===v,0,0,i.right,w);try{y[s]=Math.max(y[s],this._paintCell(e,r,t))}catch(t){this.renderErrorCell(t,e,i,void 0)}e.clipRestore(c)}),this);this.paintGridlines(e),this.visibleColumns.forEachWithNeg((function(e,t){e.column.properties.preferredWidth=Math.round(y[t])}))}}r.key="by-rows",e.exports=r},function(e,t,i){"use strict";var n=i(125),r=i(122);function o(e){this.grid=e,this.reset()}o.prototype={constructor:o.prototype.constructor,allRowsSelected:!1,reset:function(){this.selections=[],this.flattenedX=[],this.flattenedY=[],this.rowSelectionModel=new n,this.columnSelectionModel=new n,this.lastSelectionType=[]},getLastSelection:function(){var e=this.selections;return e[e.length-1]},getLastSelectionType:function(e){return this.lastSelectionType[e||0]||""},setLastSelectionType:function(e,t){var i=this.lastSelectionType.indexOf(e);(0!==i||t)&&(i>=0&&this.lastSelectionType.splice(i,1),t||this.lastSelectionType.unshift(e))},select:function(e,t,i,n,o){var s=new r(e,t,i+1,n+1);s.firstSelectedCell=this.grid.newPoint(e,t),s.lastSelectedCell=s.firstSelectedCell.x===s.origin.x&&s.firstSelectedCell.y===s.origin.y?s.corner:s.origin,this.grid.properties.multipleSelections?(this.selections.push(s),this.flattenedX.push(s.flattenXAt(0)),this.flattenedY.push(s.flattenYAt(0))):(this.selections[0]=s,this.flattenedX[0]=s.flattenXAt(0),this.flattenedY[0]=s.flattenYAt(0)),this.setLastSelectionType("cell"),this.grid.selectionChanged(o)},toggleSelect:function(e,t,i,n){var r=this.selections.findIndex((function(r){return r.origin.x===e&&r.origin.y===t&&r.extent.x===i&&r.extent.y===n}));r>=0?(this.selections.splice(r,1),this.flattenedX.splice(r,1),this.flattenedY.splice(r,1),this.setLastSelectionType("cell",!this.selections.length),this.grid.selectionChanged()):this.select(e,t,i,n)},clearMostRecentSelection:function(e){e||this.setAllRowsSelected(!1),this.selections.length&&--this.selections.length,this.flattenedX.length&&--this.flattenedX.length,this.flattenedY.length&&--this.flattenedY.length,this.setLastSelectionType("cell",!this.selections.length)},clearMostRecentColumnSelection:function(){this.columnSelectionModel.clearMostRecentSelection(),this.setLastSelectionType("column",!this.columnSelectionModel.selection.length)},clearMostRecentRowSelection:function(){this.rowSelectionModel.clearMostRecentSelection(),this.setLastSelectionType("row",!this.rowSelectionModel.selection.length)},clearRowSelection:function(){this.rowSelectionModel.clear(),this.setLastSelectionType("row",!this.rowSelectionModel.selection.length)},getSelections:function(){return this.selections},hasSelections:function(){return 0!==this.selections.length},hasRowSelections:function(){return!this.rowSelectionModel.isEmpty()},hasColumnSelections:function(){return!this.columnSelectionModel.isEmpty()},isCellSelectedInRow:function(e){return this._isCellSelected(this.flattenedX,0,e)},isCellSelectedInColumn:function(e){return this._isCellSelected(this.flattenedY,e,0)},isSelected:function(e,t){return this.isColumnSelected(e)||this.isRowSelected(t)||this._isCellSelected(this.selections,e,t)},isCellSelected:function(e,t){return this._isCellSelected(this.selections,e,t)},_isCellSelected:function(e,t,i){var n=this;return!!e.find((function(e){return n.rectangleContains(e,t,i)}))},clear:function(e){this.selections.length=0,this.flattenedX.length=0,this.flattenedY.length=0,this.columnSelectionModel.clear(),e?this.lastSelectionType.indexOf("row")>=0?this.lastSelectionType=["row"]:this.lastSelectionType.length=0:(this.lastSelectionType.length=0,this.setAllRowsSelected(!1),this.rowSelectionModel.clear())},isRectangleSelected:function(e,t,i,n){return!!this.selections.find((function(r){return r.origin.x===e&&r.origin.y===t&&r.extent.x===i&&r.extent.y===n}))},isColumnSelected:function(e){return this.columnSelectionModel.isSelected(e)},isRowSelected:function(e){return this.allRowsSelected||this.rowSelectionModel.isSelected(e)},selectColumn:function(e,t){this.columnSelectionModel.select(e,t),this.setLastSelectionType("column",!this.columnSelectionModel.selection.length)},selectAllRows:function(){this.clear(),this.setAllRowsSelected(!0)},setAllRowsSelected:function(e){this.allRowsSelected=e},areAllRowsSelected:function(){return this.allRowsSelected},selectRow:function(e,t){this.rowSelectionModel.select(e,t),this.setLastSelectionType("row",!this.rowSelectionModel.selection.length)},deselectColumn:function(e,t){this.columnSelectionModel.deselect(e,t),this.setLastSelectionType("column",!this.columnSelectionModel.selection.length)},deselectRow:function(e,t){this.areAllRowsSelected()&&(this.setAllRowsSelected(!1),this.rowSelectionModel.select(0,this.grid.getRowCount()-1)),this.rowSelectionModel.deselect(e,t),this.setLastSelectionType("row",!this.rowSelectionModel.selection.length)},getSelectedRows:function(){if(this.areAllRowsSelected()){for(var e=this.grid.getRowCount(),t=new Array(e),i=0;i<e;i++)t[i]=i;return t}return this.rowSelectionModel.getSelections()},getSelectedColumns:function(){return this.columnSelectionModel.getSelections()},isColumnOrRowSelected:function(){return!this.columnSelectionModel.isEmpty()||!this.rowSelectionModel.isEmpty()},getFlattenedYs:function(){var e=[],t={};return this.selections.forEach((function(i){for(var n=i.origin.y,r=i.height,o=0;o<r;o++){var s=o+n;t[s]||(e.push(s),t[s]=!0)}})),e.sort((function(e,t){return e-t})),e},selectRowsFromCells:function(e,t){e=e||0;var i=this.rowSelectionModel;t||(this.setAllRowsSelected(!1),i.clear()),this.selections.forEach((function(t){var n=t.origin.y,r=t.extent.y;n+=e,i.select(n,n+r)}))},selectColumnsFromCells:function(e){e=e||0;var t=this.columnSelectionModel;t.clear(),this.selections.forEach((function(i){var n=i.origin.x,r=i.extent.x;n+=e,t.select(n,n+r)}))},isInCurrentSelectionRectangle:function(e,t){var i=this.getLastSelection();return i&&this.rectangleContains(i,e,t)},rectangleContains:function(e,t,i){var n=e.origin.x,r=e.origin.y,o=n+e.extent.x,s=r+e.extent.y;return e.extent.x<0&&(n=o,o=e.origin.x),e.extent.y<0&&(r=s,s=e.origin.y),t>=n&&i>=r&&t<=o&&i<=s}},e.exports=o},function(e,t,i){"use strict";var n=i(65),r=i(80),o=i(287),s=i(291),a=n.extend("Local",{initialize:function(e,t){this.setData(t)},get schema(){return this.dataModel.getSchema()},set schema(e){this.dataModel.setSchema(e)},createColumns:function(){this.super.createColumns.call(this,l)},createDataRowProxy:function(){var e=this.dataModel,t={};Object.defineProperty(t,"$y$",{enumerable:!1,writable:!0}),this.schema.forEach((function(i,n){Object.defineProperty(t,i.name,{enumerable:!0,get:function(){return e.getValue(n,this.$y$)},set:function(t){return e.setValue(n,this.$y$,t)}})})),e.$rowProxy$=t},getNewDataModel:function(e){var t;return(e=e||{}).dataModel?t=e.dataModel:[].concat(e.DataModel||r).forEach((function(e){t=new e(t)})),t},resetDataModel:function(e){var t=this.getNewDataModel(e),i=t&&t!==this.dataModel;return i&&(this.dataModel=this.decorateDataModel(t,e),o.addDeprecationWarnings.call(this),o.addFriendlierDrillDownMapKeys.call(this)),i},decorateDataModel:function(e,t){return o.injectPolyfills(e),o.injectCode(e),o.injectDefaulthooks(e),e.setMetadataStore(t&&t.metadata),this.boundDispatchEvent=this.boundDispatchEvent||s.bind(this.grid),e.addListener(this.boundDispatchEvent),e},get charMap(){return this.dataModel.drillDownCharMap},cellClicked:function(e){return this.dataModel.toggleRow(e.dataCell.y,e.dataCell.x)},hasTreeColumn:function(){return this.dataModel.isTree()&&this.grid.properties.showTreeColumn}});function l(){this.schema.forEach((function(e){this.addColumn(e)}),this),this.columnEnumSynchronize()}a.prototype.mixIn(i(126).mixin),a.prototype.mixIn.call(a,i(126).mixInShared),e.exports=a},function(e,t,i){"use strict";var n=i(288),r=i(289),o=i(290),s={};var a={true:"OPEN",false:"CLOSE",null:"INDENT"};e.exports={injectPolyfills:function(e){Object.keys(o).forEach((function(t){e[t]||(e[t]=o[t])}))},injectCode:function(e){e.install(r,{inject:!0})},addDeprecationWarnings:function(){var e=this.grid;Object.defineProperties(this.dataModel,{grid:{configurable:!0,enumerable:!1,get:function(){return s.grid||(console.warn("dataModel.grid has been deprecated as of v3.0.0. (Will be removed in a future release.) Data models should have no direct knowledge of or access to the grid. (If your data model needs to call grid methods, add a data event to your grid with `grid.addEventListener('fin-hypergrid-data-my-event', myHandler)` and trigger it from your data model with `this.dispatchEvent('fin-hypergrid-data-my-event')` or `this.dispatchEvent({ type: 'fin-hypergrid-data-my-event' })`. If you need access to the grid object from within a `getCell` or `getCellEditAt` override, define `grid` in the same closure as the override.)"),s.grid=!0),e}},dataSource:{configurable:!0,enumerable:!1,get:function(){return s.dataSource||(console.warn("dataModel.dataSource has been deprecated as of 3.0.0 in favor of `dataModel`. (Will be removed in a future release.) The _external_ data model, formerly `grid.behavior.dataModel.dataSource`, is now `grid.behavior.dataModel`."),s.dataSource=!0),this.dataModel}}})},addFriendlierDrillDownMapKeys:function(){var e=this.dataModel.drillDownCharMap;e&&Object.keys(a).forEach((function(t){if(t in e){var i=a[t];i in e||Object.defineProperty(e,i,{get:function(){return this[t]},set:function(e){this[t]=e}})}}))},injectDefaulthooks:function(e){e.install(n,{inject:!0})}}},function(e,t,i){"use strict";t.getCell=function(e,t){return e.grid.cellRenderers.get(t)},t.getCellEditorAt=function(e,t,i,n){return n.grid.cellEditors.create(i,n)}},function(e,t,i){"use strict";e.exports={apply:function(){},isTree:function(){return!1},isTreeCol:function(e){return!1},toggleRow:function(e,t,i){},getColumnCount:function(){return this.getSchema().length},getRow:function(e){return this.$rowProxy$.$y$=e,this.$rowProxy$},getData:function(e){var t,i,n,r=this.getRowCount(),o=new Array(r);for(t=0;t<r;t++)(i=this.getRow(t))&&(o[t]=Object.assign({},i),e&&(n=this.getRowMetadata(t))&&(o[t][e]=n));return o},setData:function(e){},setValue:function(e,t,i){console.warn("dataModel.setValue("+e+", "+t+', "'+i+'") called but no implementation. Data not saved.')},setSchema:function(e){console.warn("dataModel.setSchema(schema) called but no implementation. Schema not updated.")},getRowIndex:function(e){return e},getRowMetadata:function(e,t){return this.metadata[e]||void 0!==t&&(this.metadata[e]=Object.create(t))},getMetadataStore:function(){return this.metadata},setRowMetadata:function(e,t){return t?this.metadata[e]=t:delete this.metadata[e],t},setMetadataStore:function(e){this.metadata=e||[]}}},function(e,t,i){"use strict";function n(){}e.exports={install:function(e){if(e){var t=Array.isArray(e);(t?e:Object.keys(e).filter((function(t){return"function"==typeof e[t]&&"constructor"!==t&&"initialize"!==t}))).forEach((function(i){this[i]||(this[i]=t?n:e[i])}),this)}},dispatchEvent:function(e){this.handlers&&this.handlers.forEach((function(t){t.call(this,e)}),this)},addListener:function(e){this.handlers?this.handlers.indexOf(e)<0&&this.handlers.push(e):this.handlers=[e]},removeListener:function(e){if(this.handlers&&this.handlers.length){var t=this.handlers.indexOf(e);t>=0&&delete this.handlers[t]}},removeAllListeners:function(){this.handlers&&(this.handlers.length=0)}}},function(e,t,i){"use strict";var n=i(292),r=i(68),o=/^fin-hypergrid-(data|schema)(-[a-z]+)+$/;e.exports=function(e){var t;switch(typeof e){case"string":e={type:t=e};break;case"object":if("type"in e){t=e.type;break}default:throw new this.HypergridError("Expected data model event to be: (string | {type:string})")}if(!o.test(t))throw new this.HypergridError('Expected data model event type "'+t+'" to match '+o+".");var i=n[e.type];if(i)var s=i.call(this,e);return void 0!==s?s:r.call(this,e.type,e)}},function(e,t,i){"use strict";e.exports={"fin-hypergrid-schema-loaded":function(e){this.behavior.createColumns()},"fin-hypergrid-data-loaded":function(e){this.repaint()},"fin-hypergrid-data-shape-changed":function(e){this.behaviorShapeChanged()},"fin-hypergrid-data-prereindex":function(e){this.stashRowSelections(),this.stashColumnSelections()},"fin-hypergrid-data-postreindex":function(e){this.selectionModel.reset(),this.unstashRowSelections(),this.unstashColumnSelections(),this.behaviorShapeChanged()}}},function(e,t,i){"use strict";var n,r=i(38),o=r.extend("CellEditors",{BaseClass:i(13),initialize:function(){this.add(i(294)),this.add(i(295)),this.add(i(296)),this.add(i(297)),this.add(i(298)),this.add(i(62))},get:function(e){if(e&&"celleditor"===e.toLowerCase())return n||(console.warn('grid.cellEditors.get("'+e+'") method call has been deprecated as of v2.1.0 in favor of grid.cellEditors.BaseClass property. (Will be removed in a future release.)'),n=!0),this.BaseClass;try{var t=r.prototype.get.call(this,e)}catch(e){}return t}});e.exports=new o},function(e,t,i){"use strict";var n=i(13).extend("Color",{template:'<input type="color" lang="{{locale}}" style="{{style}}">'});e.exports=n},function(e,t,i){"use strict";var n=i(13),r=window.chrome,o=window.navigator,s=o.vendor,a=o.userAgent.indexOf("OPR")>-1,l=o.userAgent.indexOf("Edge")>-1,c=!o.userAgent.match("CriOS")&&null!=r&&"Google Inc."===s&&0==a&&0==l,u=n.extend("Date",{initialize:function(e){var t;c?(t="chromeDate",this.template='<input type="date">'):(t="date",this.template='<input type="text" lang="{{locale}}">',this.selectAll=function(){var e=this.getEditorValue().length;this.input.setSelectionRange(0,e)}),this.localizer=e.localization.get(t)}});e.exports=u},function(e,t,i){"use strict";var n=i(62).extend("Number",{initialize:function(e){this.localizer=e.localization.get("number")}});e.exports=n},function(e,t,i){"use strict";var n=i(13).extend("Slider",{template:'<input type="range" lang="{{locale}}" style="{{style}}">'});e.exports=n},function(e,t,i){"use strict";var n=i(13).extend("Spinner",{template:'<input type="number" lang="{{locale}}" style="{{style}}">'});e.exports=n},function(e,t,i){"use strict";function n(e,t,i){if("string"==typeof i){if(!(i=document.querySelector(i)))throw"Cannot find reference element for CSS injection."}else if(i&&!(i instanceof Element))throw"Given value not a reference element.";var r=i&&i.parentNode||document.head||document.getElementsByTagName("head")[0];if(!t||(t=n.idPrefix+t,!r.querySelector("#"+t))){var o=document.createElement("style");return o.type="text/css",t&&(o.id=t),e instanceof Array&&(e=e.join("\n")),e="\n"+e+"\n",o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e)),void 0===i&&(i=r.firstChild),r.insertBefore(o,i),o}}n.idPrefix="injected-stylesheet-",e.exports=n},function(e,t,i){var n,r,o,s;s=function(e){var t=Object.prototype.toString,i=Array.isArray||function(e){return"[object Array]"===t.call(e)};function n(e){return"function"==typeof e}function r(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function o(e,t){return null!=e&&"object"==typeof e&&t in e}var s=RegExp.prototype.test,a=/\S/;function l(e){return!function(e,t){return s.call(e,t)}(a,e)}var c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},u=/\s*/,h=/\s+/,d=/\s*=/,f=/\s*\}/,g=/#|\^|\/|>|\{|&|=|!/;function p(e){this.string=e,this.tail=e,this.pos=0}function v(e,t){this.view=e,this.cache={".":this.view},this.parent=t}function m(){this.cache={}}p.prototype.eos=function(){return""===this.tail},p.prototype.scan=function(e){var t=this.tail.match(e);if(!t||0!==t.index)return"";var i=t[0];return this.tail=this.tail.substring(i.length),this.pos+=i.length,i},p.prototype.scanUntil=function(e){var t,i=this.tail.search(e);switch(i){case-1:t=this.tail,this.tail="";break;case 0:t="";break;default:t=this.tail.substring(0,i),this.tail=this.tail.substring(i)}return this.pos+=t.length,t},v.prototype.push=function(e){return new v(e,this)},v.prototype.lookup=function(e){var t,i=this.cache;if(i.hasOwnProperty(e))t=i[e];else{for(var r,s,a=this,l=!1;a;){if(e.indexOf(".")>0)for(t=a.view,r=e.split("."),s=0;null!=t&&s<r.length;)s===r.length-1&&(l=o(t,r[s])),t=t[r[s++]];else t=a.view[e],l=o(a.view,e);if(l)break;a=a.parent}i[e]=t}return n(t)&&(t=t.call(this.view)),t},m.prototype.clearCache=function(){this.cache={}},m.prototype.parse=function(t,n){var o=this.cache,s=o[t];return null==s&&(s=o[t]=function(t,n){if(!t)return[];var o,s,a,c=[],v=[],m=[],b=!1,y=!1;function C(){if(b&&!y)for(;m.length;)delete v[m.pop()];else m=[];b=!1,y=!1}function w(e){if("string"==typeof e&&(e=e.split(h,2)),!i(e)||2!==e.length)throw new Error("Invalid tags: "+e);o=new RegExp(r(e[0])+"\\s*"),s=new RegExp("\\s*"+r(e[1])),a=new RegExp("\\s*"+r("}"+e[1]))}w(n||e.tags);for(var x,S,_,E,R,A,M=new p(t);!M.eos();){if(x=M.pos,_=M.scanUntil(o))for(var k=0,P=_.length;k<P;++k)l(E=_.charAt(k))?m.push(v.length):y=!0,v.push(["text",E,x,x+1]),x+=1,"\n"===E&&C();if(!M.scan(o))break;if(b=!0,S=M.scan(g)||"name",M.scan(u),"="===S?(_=M.scanUntil(d),M.scan(d),M.scanUntil(s)):"{"===S?(_=M.scanUntil(a),M.scan(f),M.scanUntil(s),S="&"):_=M.scanUntil(s),!M.scan(s))throw new Error("Unclosed tag at "+M.pos);if(R=[S,_,x,M.pos],v.push(R),"#"===S||"^"===S)c.push(R);else if("/"===S){if(!(A=c.pop()))throw new Error('Unopened section "'+_+'" at '+x);if(A[1]!==_)throw new Error('Unclosed section "'+A[1]+'" at '+x)}else"name"===S||"{"===S||"&"===S?y=!0:"="===S&&w(_)}if(A=c.pop())throw new Error('Unclosed section "'+A[1]+'" at '+M.pos);return function(e){for(var t,i=[],n=i,r=[],o=0,s=e.length;o<s;++o)switch((t=e[o])[0]){case"#":case"^":n.push(t),r.push(t),n=t[4]=[];break;case"/":r.pop()[5]=t[2],n=r.length>0?r[r.length-1][4]:i;break;default:n.push(t)}return i}(function(e){for(var t,i,n=[],r=0,o=e.length;r<o;++r)(t=e[r])&&("text"===t[0]&&i&&"text"===i[0]?(i[1]+=t[1],i[3]=t[3]):(n.push(t),i=t));return n}(v))}(t,n)),s},m.prototype.render=function(e,t,i){var n=this.parse(e),r=t instanceof v?t:new v(t);return this.renderTokens(n,r,i,e)},m.prototype.renderTokens=function(e,t,i,n){for(var r,o,s,a="",l=0,c=e.length;l<c;++l)s=void 0,"#"===(o=(r=e[l])[0])?s=this.renderSection(r,t,i,n):"^"===o?s=this.renderInverted(r,t,i,n):">"===o?s=this.renderPartial(r,t,i,n):"&"===o?s=this.unescapedValue(r,t):"name"===o?s=this.escapedValue(r,t):"text"===o&&(s=this.rawValue(r)),void 0!==s&&(a+=s);return a},m.prototype.renderSection=function(e,t,r,o){var s=this,a="",l=t.lookup(e[1]);if(l){if(i(l))for(var c=0,u=l.length;c<u;++c)a+=this.renderTokens(e[4],t.push(l[c]),r,o);else if("object"==typeof l||"string"==typeof l||"number"==typeof l)a+=this.renderTokens(e[4],t.push(l),r,o);else if(n(l)){if("string"!=typeof o)throw new Error("Cannot use higher-order sections without the original template");null!=(l=l.call(t.view,o.slice(e[3],e[5]),(function(e){return s.render(e,t,r)})))&&(a+=l)}else a+=this.renderTokens(e[4],t,r,o);return a}},m.prototype.renderInverted=function(e,t,n,r){var o=t.lookup(e[1]);if(!o||i(o)&&0===o.length)return this.renderTokens(e[4],t,n,r)},m.prototype.renderPartial=function(e,t,i){if(i){var r=n(i)?i(e[1]):i[e[1]];return null!=r?this.renderTokens(this.parse(r),t,i,r):void 0}},m.prototype.unescapedValue=function(e,t){var i=t.lookup(e[1]);if(null!=i)return i},m.prototype.escapedValue=function(t,i){var n=i.lookup(t[1]);if(null!=n)return e.escape(n)},m.prototype.rawValue=function(e){return e[1]},e.name="mustache.js",e.version="2.3.2",e.tags=["{{","}}"];var b=new m;return e.clearCache=function(){return b.clearCache()},e.parse=function(e,t){return b.parse(e,t)},e.render=function(e,t,n){if("string"!=typeof e)throw new TypeError('Invalid template! Template should be a "string" but "'+(i(r=e)?"array":typeof r)+'" was given as the first argument for mustache#render(template, view, partials)');var r;return b.render(e,t,n)},e.to_html=function(t,i,r,o){var s=e.render(t,i,r);if(!n(o))return s;o(s)},e.escape=function(e){return String(e).replace(/[&<>"'`=\/]/g,(function(e){return c[e]}))},e.Scanner=p,e.Context=v,e.Writer=m,e},t&&"string"!=typeof t.nodeName?s(t):(r=[t],void 0===(o="function"==typeof(n=s)?n.apply(t,r):n)||(e.exports=o))},function(e,t,i){"use strict";var n=i(68),r=i(114);t.mixin={addEventListener:function(e,t,i){var n=this,r=this.listeners[e]=this.listeners[e]||[];if(!r.find((function(e){return e.listener===t}))){var o={internal:i,listener:t,decorator:function(e){n.allowEventHandlers&&t(e)}};r.push(o),this.canvas.addEventListener(e,o.decorator)}},addInternalEventListener:function(e,t){this.addEventListener(e,t,!0)},removeEventListener:function(e,t){var i=this.listeners[e];i&&i.find((function(n,r){if(n.listener===t)return 1===i.length?delete this.listeners[e]:i.splice(r,1),this.canvas.removeEventListener(e,n.decorator),!0}),this)},removeAllEventListeners:function(e){Object.keys(this.listeners).forEach((function(t){this.listeners[t].slice().forEach((function(i){!e&&i.internal||this.removeEventListener(t,i.listener)}),this)}),this)},allowEvents:function(e){this.allowEventHandlers=!!e,this.behavior.featureChain&&(e?this.behavior.featureChain.attachChain():this.behavior.featureChain.detachChain()),this.behavior.changed()},fireSyntheticColumnSortEvent:function(e,t){return n.call(this,"fin-column-sort",{column:e,keys:t})},fireSyntheticEditorKeyUpEvent:function(e,t){return n.call(this,"fin-editor-keyup",{input:e,keyEvent:t,char:this.canvas.getKeyChar(t),legacyChar:t.legacyKey})},fireSyntheticEditorKeyDownEvent:function(e,t){return n.call(this,"fin-editor-keydown",{input:e,keyEvent:t,char:this.canvas.getKeyChar(t),legacyChar:t.legacyKey})},fireSyntheticEditorKeyPressEvent:function(e,t){return n.call(this,"fin-editor-keypress",{input:e,keyEvent:t,char:this.canvas.getKeyChar(t),legacyChar:t.legacyKey})},fireSyntheticEditorDataChangeEvent:function(e,t,i){return n.call(this,"fin-editor-data-change",!0,{input:e,oldValue:t,newValue:i})},fireSyntheticRowHeaderClickedEvent:function(e){return n.call(this,"fin-row-header-clicked",!0,{},e)},fireSyntheticRowSelectionChangedEvent:function(){return n.call(this,"fin-row-selection-changed",this.selectionDetailGetters)},fireSyntheticColumnSelectionChangedEvent:function(){return n.call(this,"fin-column-selection-changed",this.selectionDetailGetters)},fireSyntheticContextMenuEvent:function(e){return Object.defineProperties(e,this.selectionDetailGetterDescriptors),n.call(this,"fin-context-menu",{},e)},fireSyntheticMouseUpEvent:function(e){return Object.defineProperties(e,this.selectionDetailGetterDescriptors),n.call(this,"fin-mouseup",{},e)},fireSyntheticMouseDownEvent:function(e){return Object.defineProperties(e,this.selectionDetailGetterDescriptors),n.call(this,"fin-mousedown",{},e)},fireSyntheticMouseMoveEvent:function(e){return n.call(this,"fin-mousemove",{},e)},fireSyntheticButtonPressedEvent:function(e){if(e.cellRenderer instanceof r){if(e.value&&e.value.subrows){var t=e.primitiveEvent.detail.mouse.y-e.bounds.y,i=e.bounds.height/e.value.subrows;e.subrow=Math.floor(t/i)}return n.call(this,"fin-button-pressed",{},e)}},fireSyntheticOnColumnsChangedEvent:function(){return n.call(this,"fin-column-changed-event",{})},fireSyntheticKeydownEvent:function(e){return n.call(this,"fin-keydown",e.detail)},fireSyntheticKeyupEvent:function(e){return n.call(this,"fin-keyup",e.detail)},fireSyntheticFilterAppliedEvent:function(){return n.call(this,"fin-filter-applied",{})},fireSyntheticOnCellEnterEvent:function(e){return n.call(this,"fin-cell-enter",e)},fireSyntheticOnCellExitEvent:function(e){return n.call(this,"fin-cell-exit",e)},fireSyntheticClickEvent:function(e){return n.call(this,"fin-click",{},e)},fireSyntheticDoubleClickEvent:function(e){if(this.abortEditing())return n.call(this,"fin-double-click",{},e)},fireSyntheticGridRenderedEvent:function(){return n.call(this,"fin-grid-rendered",{source:this})},fireSyntheticTickEvent:function(){return n.call(this,"fin-tick",{source:this})},fireSyntheticGridResizedEvent:function(e){return n.call(this,"fin-grid-resized",e)},fireSyntheticTouchStartEvent:function(e){return n.call(this,"fin-touchstart",e)},fireSyntheticTouchMoveEvent:function(e){return n.call(this,"fin-touchmove",e)},fireSyntheticTouchEndEvent:function(e){return n.call(this,"fin-touchend",e)},fireScrollEvent:function(e,t,i){return n.call(this,e,{oldValue:t,value:i})},fireRequestCellEdit:function(e,t){return n.call(this,"fin-request-cell-edit",!0,{value:t},e)},fireBeforeCellEdit:function(e,t,i,r){return n.call(this,"fin-before-cell-edit",!0,{oldValue:t,newValue:i,input:r},e)},fireAfterCellEdit:function(e,t,i,r){return n.call(this,"fin-after-cell-edit",{newValue:i,oldValue:t,input:r},e)},delegateCanvasEvents:function(){var e=this;function t(t,i){if(0!==e.getLogicalRowCount()){var n,r,o,s=e.getGridCellFromMousePoint(t.detail.mouse);if(s.fake&&!t.detail.dragstart||(n=s.cellEvent),n)r=Object.defineProperty(n,"primitiveEvent",{value:t,enumerable:!1,configurable:!0,writable:!0}),(o=n.primitiveEvent&&n.primitiveEvent.detail)&&(r.gridPoint=o.mouse,(o=o.primitiveEvent)&&(r.clientPoint={x:o.clientX,y:o.clientY},r.pagePoint={x:o.clientX+window.scrollX,y:o.clientY+window.scrollY})),i.call(e,r)}}this.addInternalEventListener("fin-canvas-resized",(function(t){e.resized(),e.fireSyntheticGridResizedEvent(t)})),this.addInternalEventListener("fin-canvas-mousemove",(function(i){e.properties.readOnly||t(i,(function(e){this.delegateMouseMove(e),this.fireSyntheticMouseMoveEvent(e)}))})),this.addInternalEventListener("fin-canvas-mousedown",(function(i){e.properties.readOnly||(e.abortEditing()?t(i,(function(e){e.keys=i.detail.keys,this.mouseDownState=e,this.delegateMouseDown(e),this.fireSyntheticMouseDownEvent(e),this.repaint()})):i.stopPropagation())})),this.addInternalEventListener("fin-canvas-click",(function(i){e.properties.readOnly||t(i,(function(e){this.mouseDownState&&this.mouseDownState.gridCell.equals(e.gridCell)&&e.mousePointInClickRect&&(e.keys=i.detail.keys,this.mouseDownState&&this.fireSyntheticButtonPressedEvent(this.mouseDownState),this.fireSyntheticClickEvent(e),this.delegateClick(e)),this.mouseDownState=null}))})),this.addInternalEventListener("fin-canvas-mouseup",(function(i){e.properties.readOnly||(e.dragging=!1,e.isScrollingNow()&&e.setScrollingNow(!1),e.columnDragAutoScrolling&&(e.columnDragAutoScrolling=!1),t(i,(function(e){this.delegateMouseUp(e),this.fireSyntheticMouseUpEvent(e)})))})),this.addInternalEventListener("fin-canvas-dblclick",(function(i){e.properties.readOnly||t(i,(function(e){this.fireSyntheticDoubleClickEvent(e,i),this.delegateDoubleClick(e)}))})),this.addInternalEventListener("fin-canvas-drag",(function(i){e.properties.readOnly||(e.dragging=!0,t(i,e.delegateMouseDrag))})),this.addInternalEventListener("fin-canvas-keydown",(function(t){e.properties.readOnly||(e.fireSyntheticKeydownEvent(t),e.delegateKeyDown(t))})),this.addInternalEventListener("fin-canvas-keyup",(function(t){e.properties.readOnly||(e.fireSyntheticKeyupEvent(t),e.delegateKeyUp(t))})),this.addInternalEventListener("fin-canvas-wheelmoved",(function(i){t(i,e.delegateWheelMoved)})),this.addInternalEventListener("fin-canvas-mouseout",(function(i){e.properties.readOnly||t(i,e.delegateMouseExit)})),this.addInternalEventListener("fin-canvas-context-menu",(function(i){t(i,(function(t){e.delegateContextMenu(t),e.fireSyntheticContextMenuEvent(t)}))})),this.addInternalEventListener("fin-canvas-touchstart",(function(t){e.delegateTouchStart(t),e.fireSyntheticTouchStartEvent(t)})),this.addInternalEventListener("fin-canvas-touchmove",(function(t){e.delegateTouchMove(t),e.fireSyntheticTouchMoveEvent(t)})),this.addInternalEventListener("fin-canvas-touchend",(function(t){e.delegateTouchEnd(t),e.fireSyntheticTouchEndEvent(t)})),document.body.addEventListener("copy",(function(t){e.checkClipboardCopy(t)}))},delegateWheelMoved:function(e){this.behavior.onWheelMoved(this,e)},delegateMouseExit:function(e){this.behavior.handleMouseExit(this,e)},delegateContextMenu:function(e){this.behavior.onContextMenu(this,e)},delegateMouseMove:function(e){this.behavior.onMouseMove(this,e)},delegateMouseDown:function(e){this.behavior.handleMouseDown(this,e)},delegateMouseUp:function(e){this.behavior.onMouseUp(this,e)},delegateClick:function(e){this.behavior.onClick(this,e)},delegateMouseDrag:function(e){this.behavior.onMouseDrag(this,e)},delegateDoubleClick:function(e){this.behavior.onDoubleClick(this,e)},delegateKeyDown:function(e){this.behavior.onKeyDown(this,e)},delegateKeyUp:function(e){this.behavior.onKeyUp(this,e)},delegateTouchStart:function(e){this.behavior.onTouchStart(this,e)},delegateTouchMove:function(e){this.behavior.onTouchMove(this,e)},delegateTouchEnd:function(e){this.behavior.onTouchEnd(this,e)}}},function(e,t,i){"use strict";var n=i(303);function r(e){var t,i=this.behavior.getColumns(),n=this.behavior.getActiveColumns();return Array.isArray(e)?(t=[],e.forEach((function(e){var r="number"==typeof e?"index":"name",o=i.find((function(t){return t[r]===e}));n.indexOf(o)<0&&t.push(o)})),t=t.concat(n)):t=e?i:n,t}function o(e){var t=e.origin,i=e.corner,r=Math.min(t.x,i.x),o=Math.min(t.y,i.y),s=Math.max(t.x,i.x),a=Math.max(t.y,i.y);return new n(r,o,s-r,a-o)}function s(e,t){var i,n;return e&&(n="f"===(typeof(i=e[t.name]))[0]&&i||t.calculator)&&(i=n(e,t.name)),i||0===i||!1===i?i:""}t.mixin={selectionInitialize:function(){var e=this;this.selectionDetailGetters={get rows(){return e.getSelectedRows()},get columns(){return e.getSelectedColumns()},get selections(){return e.selectionModel.getSelections()}},this.selectionDetailGetterDescriptors=Object.getOwnPropertyDescriptors(this.selectionDetailGetters)},hasSelections:function(){if(this.getSelectionModel)return this.selectionModel.hasSelections()},getSelectionAsTSV:function(){switch(this.selectionModel.getLastSelectionType()){case"cell":var e=this.getSelectionMatrix();return e=e[e.length-1],this.getMatrixSelectionAsTSV(e);case"row":return this.getMatrixSelectionAsTSV(this.getRowSelectionMatrix());case"column":return this.getMatrixSelectionAsTSV(this.getColumnSelectionMatrix())}},getMatrixSelectionAsTSV:function(e){var t="";if(e.length){var i=e.length,n=e[0].length,r=i-1,o=n>1?"\n":"";if(i*n>2e4)return alert("selection size is too big to copy to the paste buffer"),"";for(var s=0;s<n;s++)for(var a=0;a<i;a++)t+=e[a][s]+(a<r?"\t":o)}return t},clearSelections:function(){var e=this.properties.checkboxOnlyRowSelections;this.selectionModel.clear(e),this.clearMouseDown()},clearMostRecentSelection:function(){var e=this.properties.checkboxOnlyRowSelections;this.selectionModel.clearMostRecentSelection(e)},clearMostRecentColumnSelection:function(){this.selectionModel.clearMostRecentColumnSelection()},clearMostRecentRowSelection:function(){},clearRowSelection:function(){this.selectionModel.clearRowSelection()},select:function(e,t,i,n){e<0||t<0||this.selectionModel.select(e,t,i,n)},isSelected:function(e,t){return this.selectionModel.isSelected(e,t)},isCellSelectedInRow:function(e){return this.selectionModel.isCellSelectedInRow(e)},isCellSelectedInColumn:function(e){return this.selectionModel.isCellSelectedInColumn(e)},getRowSelection:function(e){for(var t=this.behavior.dataModel,i=this.selectionModel.getSelectedRows(),n=r.call(this,e),o={},a=0,l=n.length;a<l;a++){var c=n[a],u=o[c.name]=new Array(i.length);i.forEach(h)}function h(e,i){var n=t.getRow(e);u[i]=s(n,c)}return o},getRowSelectionMatrix:function(e){for(var t=this.behavior.dataModel,i=this.selectionModel.getSelectedRows(),n=r.call(this,e),o=new Array(n.length),a=0,l=n.length;a<l;a++){var c=n[a];o[a]=new Array(i.length),i.forEach(u)}function u(e,i){var n=t.getRow(e);o[a][i]=s(n,c)}return o},getColumnSelectionMatrix:function(){var e=this.behavior,t=e.dataModel,i=this.getHeaderRowCount(),n=this.getSelectedColumns(),r=this.getRowCount(),o=new Array(n.length);return n.forEach((function(n,a){for(var l=e.getActiveColumn(n),c=o[a]=new Array(r),u=i;u<r;u++){var h=t.getRow(u);c[u]=s(h,l)}})),o},getColumnSelection:function(){var e=this.behavior,t=e.dataModel,i=this.getHeaderRowCount(),n=this.getSelectedColumns(),r={},o=this.getRowCount();return n.forEach((function(n){for(var a=e.getActiveColumn(n),l=r[a.name]=new Array(o),c=i;c<o;c++){var u=t.getRow(c);l[c]=s(u,a)}})),r},getSelection:function(){var e=this.behavior,t=e.dataModel,i=this.getSelections(),n=new Array(i.length);return i.forEach((function(i,r){for(var a=o(i),l=a.width,c=a.height,u={},h=0,d=a.origin.x;h<l;h++,d++)for(var f=e.getActiveColumn(d),g=u[f.name]=new Array(c),p=0,v=a.origin.y;p<c;p++,v++){var m=t.getRow(v);g[p]=s(m,f)}n[r]=u})),n},getSelectionMatrix:function(){var e=this.behavior,t=e.dataModel,i=this.getSelections(),n=new Array(i.length);return i.forEach((function(i,r){for(var a=o(i),l=a.width,c=a.height,u=[],h=0,d=a.origin.x;h<l;h++,d++)for(var f=u[h]=new Array(c),g=e.getActiveColumn(d),p=0,v=a.origin.y;p<c;p++,v++){var m=t.getRow(v);f[p]=s(m,g)}n[r]=u})),n},selectCell:function(e,t,i){var n=this.properties.checkboxOnlyRowSelections;this.selectionModel.clear(n),this.selectionModel.select(e,t,0,0,i)},toggleSelectColumn:function(e,t){t=t||[];var i=this.selectionModel,n=i.isColumnSelected(e),r=t.indexOf("CTRL")>-1,o=t.indexOf("SHIFT")>-1;r||o?(r&&(n?i.deselectColumn(e):i.selectColumn(e)),o&&(i.clear(),i.selectColumn(this.lastEdgeSelection[0],e))):(i.clear(),n||i.selectColumn(e)),n||o||(this.lastEdgeSelection[0]=e),this.repaint(),this.fireSyntheticColumnSelectionChangedEvent()},toggleSelectRow:function(e,t){t=t||[];var i=this.selectionModel,n=i.isRowSelected(e),r=t.indexOf("SHIFT")>=0;n?i.deselectRow(e):(this.singleSelect(),i.selectRow(e)),r&&(i.clear(),i.selectRow(this.lastEdgeSelection[1],e)),n||r||(this.lastEdgeSelection[1]=e),this.repaint()},singleSelect:function(){var e=this.properties.singleRowSelectionMode;return e&&this.selectionModel.clearRowSelection(),e},selectViewportCell:function(e,t){var i,n;this.getRowCount()&&(i=this.renderer.visibleColumns[e])&&(n=this.renderer.visibleRows[t+this.getHeaderRowCount()])&&(e=i.columnIndex,t=n.rowIndex,this.clearSelections(),this.select(e,t,0,0),this.setMouseDown(this.newPoint(e,t)),this.setDragExtent(this.newPoint(0,0)),this.repaint())},selectToViewportCell:function(e,t){var i,n,r;if((i=this.getSelections())&&i.length&&(n=this.renderer.visibleColumns[e])&&(r=this.renderer.visibleRows[t+this.getHeaderRowCount()])){var o=i[0].origin;e=n.columnIndex,t=r.rowIndex,this.setDragExtent(this.newPoint(e-o.x,t-o.y)),this.select(o.x,o.y,e-o.x,t-o.y),this.repaint()}},selectToFinalCellOfCurrentRow:function(){this.selectFinalCellOfCurrentRow(!0)},selectFinalCellOfCurrentRow:function(e){if(this.getRowCount()){var t=this.getSelections();if(t&&t.length){var i=t[0],n=i.origin,r=i.extent,o=this.getColumnCount();this.scrollBy(o,0),this.clearSelections(),e?this.select(n.x,n.y,o-n.x-1,r.y):this.select(o-1,n.y,0,0),this.repaint()}}},selectToFirstCellOfCurrentRow:function(){this.selectFirstCellOfCurrentRow(!0)},selectFirstCellOfCurrentRow:function(e){if(this.getRowCount()){var t=this.getSelections();if(t&&t.length){var i=t[0],n=i.origin,r=i.extent;this.clearSelections(),e?this.select(n.x,n.y,-n.x,r.y):this.select(0,n.y,0,0),this.setHScrollValue(0),this.repaint()}}},selectFinalCell:function(){this.getRowCount()&&(this.selectCellAndScrollToMakeVisible(this.getColumnCount()-1,this.getRowCount()-1),this.repaint())},selectToFinalCell:function(){if(this.getRowCount()){var e=this.getSelections();if(e&&e.length){var t=e[0].origin,i=this.getColumnCount(),n=this.getRowCount();this.clearSelections(),this.select(t.x,t.y,i-t.x-1,n-t.y-1),this.repaint()}}},getSelectedRow:function(){var e=this.selectionModel.getSelections();if(e.length){for(var t=this.behavior,i=this.getColumnCount(),n=e[0].origin.y,r={},o=0;o<i;o++)r[t.getActiveColumn(o).header]=t.getValue(o,n);return r}},selectionChanged:function(e){this.selectRowsFromCells(),this.selectColumnsFromCells(),e||this.canvas.dispatchEvent(new CustomEvent("fin-selection-changed",{detail:this.selectionDetailGetters}))},isColumnOrRowSelected:function(){return this.selectionModel.isColumnOrRowSelected()},selectColumn:function(e,t){this.selectionModel.selectColumn(e,t)},selectRow:function(e,t){var i=this.selectionModel;this.singleSelect()?e=t:void 0===t&&(t=e),i.selectRow(Math.min(e,t),Math.max(e,t))},selectRowsFromCells:function(){var e;!this.properties.checkboxOnlyRowSelections&&this.properties.autoSelectRows&&(this.properties.singleRowSelectionMode?(e=this.selectionModel.getLastSelection())?this.selectRow(null,e.corner.y):this.clearRowSelection():this.selectionModel.selectRowsFromCells(0,!0),this.fireSyntheticRowSelectionChangedEvent())},selectColumnsFromCells:function(){this.properties.autoSelectColumns&&this.selectionModel.selectColumnsFromCells()},getSelectedRows:function(){return this.behavior.getSelectedRows()},getSelectedColumns:function(){return this.behavior.getSelectedColumns()},getSelections:function(){return this.behavior.getSelections()},getLastSelectionType:function(e){return this.selectionModel.getLastSelectionType(e)},isInCurrentSelectionRectangle:function(e,t){return this.selectionModel.isInCurrentSelectionRectangle(e,t)},selectAllRows:function(){this.selectionModel.selectAllRows()},areAllRowsSelected:function(){return this.selectionModel.areAllRowsSelected()},toggleSelectAllRows:function(){this.areAllRowsSelected()?this.selectionModel.clear():this.selectAllRows(),this.repaint()},moveSingleSelect:function(e,t){var i=this.getMouseDown().plus(this.getDragExtent());this.moveToSingleSelect(i.x+e,i.y+t)},moveToSingleSelect:function(e,t){var i=this.getColumnCount()-1,n=this.getRowCount()-1,r=this.getVisibleColumnsCount()-1,o=this.getVisibleRowsCount()-1;this.properties.scrollingEnabled||(i=Math.min(i,r),n=Math.min(n,o)),e=Math.min(i,Math.max(0,e)),t=Math.min(n,Math.max(0,t)),this.clearSelections(),this.select(e,t,0,0),this.setMouseDown(this.newPoint(e,t)),this.setDragExtent(this.newPoint(0,0)),this.selectCellAndScrollToMakeVisible(e,t),this.repaint()},extendSelect:function(e,t){var i=this.getColumnCount()-1,n=this.getRowCount()-1,r=this.renderer.visibleColumns.length-1,o=this.renderer.visibleRows.length-1,s=this.getMouseDown(),a=this.getDragExtent(),l=a.x+e,c=a.y+t;this.properties.scrollingEnabled||(i=Math.min(i,r),n=Math.min(n,o)),l=Math.min(i-s.x,Math.max(-s.x,l)),c=Math.min(n-s.y,Math.max(-s.y,c)),this.clearMostRecentSelection(),this.select(s.x,s.y,l,c),this.setDragExtent(this.newPoint(l,c));var u=this.insureModelColIsVisible(l+s.x,e),h=this.insureModelRowIsVisible(c+s.y,t);return this.repaint(),u||h},getGridCellFromLastSelection:function(e){var t=this.selectionModel.getLastSelection();return t&&(new this.behavior.CellEvent).resetGridXDataY(t.origin.x,t.origin.y,null,e)}}},function(e,t,i){"use strict";var n=i(2).Rectangle;function r(){n.apply(this,arguments)}r.prototype=Object.create(n.prototype,{width:{get:function(){return this.extent.x+1}},height:{get:function(){return this.extent.y+1}}}),e.exports=r},function(e,t,i){"use strict";t.mixin={stashRowSelections:function(){if(this.properties.restoreRowSelections){var e=this.behavior.dataModel;return this.selectedDataRowIndexes=this.getSelectedRows().map((function(t){return e.getRowIndex(t)})),this.selectedDataRowIndexes.length}},unstashRowSelections:function(){var e=this.selectedDataRowIndexes;if(e){delete this.selectedDataRowIndexes;var t,i,n=this.behavior.dataModel,r=this.getRowCount(),o=e.length,s=[],a=this.selectionModel;for(i=0;o&&i<r;++i)(t=e.indexOf(n.getRowIndex(i)))>=0&&(s.push(i),delete e[t],o--);return s.forEach((function(e){a.selectRow(e)})),s.length}},stashColumnSelections:function(){if(this.properties.restoreColumnSelections){var e=this.behavior;return this.selectedColumnNames=this.getSelectedColumns().map((function(t){return e.getActiveColumn(t).name})),this.selectedColumnNames.length}},unstashColumnSelections:function(e){var t=this.selectedColumnNames;if(t){delete this.selectedColumnNames;var i=this.behavior,n=this.selectionModel;return t.reduce((function(e,t){var r=i.getActiveColumnIndex(t);return r&&(n.selectColumn(r),e++),e}),0)}}}},function(e,t,i){"use strict";var n=i(127).Scrollbar;t.mixin={vScrollValue:0,hScrollValue:0,sbVScroller:null,sbHScroller:null,sbPrevVScrollValue:null,sbPrevHScrollValue:null,scrollingNow:!1,setScrollingNow:function(e){this.scrollingNow=e},isScrollingNow:function(){return this.scrollingNow},scrollBy:function(e,t){this.scrollHBy(e),this.scrollVBy(t)},scrollVBy:function(e){var t=this.sbVScroller.range.max,i=this.getVScrollValue(),n=Math.min(t,Math.max(0,i+e));n!==i&&this.setVScrollValue(n)},scrollHBy:function(e){var t=this.sbHScroller.range.max,i=this.getHScrollValue(),n=Math.min(t,Math.max(0,i+e));n!==i&&this.setHScrollValue(n)},scrollToMakeVisible:function(e,t){var i,n=this.renderer.dataWindow,r=this.properties.fixedColumnCount,o=this.properties.fixedRowCount;e>=r&&((i=e-n.origin.x)<0?this.sbHScroller.index+=i:e-n.corner.x>0&&(this.sbHScroller.index=this.renderer.getMinimumLeftPositionToShowColumn(e))),t>=o&&((i=t-n.origin.y-1)<0||(i=t-n.corner.y)>0)&&(this.sbVScroller.index+=i)},selectCellAndScrollToMakeVisible:function(e,t){this.scrollToMakeVisible(e,t),this.selectCell(e,t,!0)},setVScrollValue:function(e){var t=this;if((e=Math.min(this.sbVScroller.range.max,Math.max(0,Math.round(e))))!==this.vScrollValue){this.behavior.setScrollPositionY(e),this.behavior.changed();var i=this.vScrollValue;this.vScrollValue=e,this.scrollValueChangedNotification(),setTimeout((function(){t.fireScrollEvent("fin-scroll-y",i,e)}))}},getVScrollValue:function(){return this.vScrollValue},setHScrollValue:function(e){var t=this;if((e=Math.min(this.sbHScroller.range.max,Math.max(0,Math.round(e))))!==this.hScrollValue){this.behavior.setScrollPositionX(e),this.behavior.changed();var i=this.hScrollValue;this.hScrollValue=e,this.scrollValueChangedNotification(),setTimeout((function(){t.fireScrollEvent("fin-scroll-x",i,e)}))}},getHScrollValue:function(){return this.hScrollValue},initScrollbars:function(){if(!this.sbHScroller||!this.sbVScroller){var e=new n({orientation:"horizontal",deltaXFactor:this.constructor.defaults.wheelHFactor,onchange:this.setHScrollValue.bind(this),cssStylesheetReferenceElement:this.div}),t=new n({orientation:"vertical",deltaYFactor:this.constructor.defaults.wheelVFactor,onchange:this.setVScrollValue.bind(this),cssStylesheetReferenceElement:this.div,paging:{up:this.pageUp.bind(this),down:this.pageDown.bind(this)}});this.sbHScroller=e,this.sbVScroller=t;var i=this.properties.hScrollbarClassPrefix,r=this.properties.vScrollbarClassPrefix;i&&""!==i&&(this.sbHScroller.classPrefix=i),r&&""!==r&&(this.sbVScroller.classPrefix=r),this.div.appendChild(e.bar),this.div.appendChild(t.bar),this.resizeScrollbars()}},resizeScrollbars:function(){this.sbHScroller.shortenBy(this.sbVScroller).resize(),this.sbVScroller.resize()},setVScrollbarValues:function(e){this.sbVScroller.range={min:0,max:e}},setHScrollbarValues:function(e){this.sbHScroller.range={min:0,max:e}},scrollValueChangedNotification:function(){this.hScrollValue===this.sbPrevHScrollValue&&this.vScrollValue===this.sbPrevVScrollValue||(this.sbPrevHScrollValue=this.hScrollValue,this.sbPrevVScrollValue=this.vScrollValue,this.cellEditor&&this.cellEditor.scrollValueChangedNotification(),this.computeCellsBounds())},synchronizeScrollingBoundaries:function(){var e=this.getBounds();if(e){for(var t=this.getFixedColumnCount(),i=this.getColumnCount(),n=this.getRowCount(),r=e.width-this.behavior.getFixedColumnsMaxWidth(),o=this.properties,s="border-box"===o.boxSizing,a=s?0:o.gridLinesVWidth,l=0,c=0;c<i&&l<r;c++)l+=this.getColumnWidth(i-c-1)+a;l>r&&c--;var u=this.renderer.getVisibleScrollHeight();a=s?0:o.gridLinesHWidth;for(var h=0,d=0;d<n&&h<u;d++)h+=this.getRowHeight(n-d-1)+a;if(h>u&&d--,this.sbHScroller){var f=Math.max(0,i-t-c);this.setHScrollbarValues(f),this.setHScrollValue(Math.min(this.getHScrollValue(),f))}if(this.sbVScroller){var g=Math.max(0,n-o.fixedRowCount-d);this.setVScrollbarValues(g),this.setVScrollValue(Math.min(this.getVScrollValue(),g))}this.computeCellsBounds(),setTimeout(this.resizeScrollbars.bind(this))}},pageUp:function(){var e=this.renderer.getPageUpRow();return this.setVScrollValue(e),e},pageDown:function(){var e=this.renderer.getPageDownRow();return this.setVScrollValue(e),e},pageLeft:function(){throw"page left not yet implemented"},pageRight:function(){throw"page right not yet implemented"}}},function(e,t,i){"use strict";var n,r="GroupedHeader",o={paint:function(e,t){var i=this.super.paint,r=t.gridCell.x,o=t.value.split(this.delimiter),s=o.length,a=t.bounds,l=a.y+a.height,c=Object.assign({},a),u=this.visibleColumns.find((function(e){return e.columnIndex===r-1}));t.prefillColor=null,a.height/=s;for(var d,f=0,g=a.y,p=this.tree;f<s;f++,g+=a.height,d=p.children){var v=o[f],m=!1;0===f?0===r||1===s||this.groupCount!==s||this.tree.value!==v?(r>0&&this.tree&&this.autosizeGroups&&h(t.grid.behavior,this.tree),p=this.tree={value:v,children:[],left:c.x,width:c.width},u&&!this.columnHeaderLines&&1===s&&(u.top=l)):m=!0:f<s-1&&(p=d[d.length-1])&&p.value===v?m=!0:(p={value:v,children:[],left:c.x,width:c.width},d.push(p)),m&&(p.width+=t.gridLinesVWidth+c.width,u&&(u.top=this.columnHeaderLines||f<s-2?g+a.height:l)),f<s-1&&(t.prefillColor=null)}for(f=0,p=this.tree;f<s;f++,a.y+=a.height,p=p.children[p.children.length-1]){a.x=p.left,a.width=p.width;var b={isColumnHovered:t.isColumnHovered,isSelected:t.isSelected},y=this.groupConfig,C=y&&y.length,w=f<s-1;if(w){t.isColumnHovered=t.isSelected=!1,C&&(y=y[f%C],Object.keys(y).forEach(S,this));var x=t.paintBackground||this.paintBackground;if(x){if("function"!=typeof x&&(x=n[x]),"function"!=typeof x)throw"Expected background paint function or name of registered background paint function.";x.overlay||(t.prefillColor=t.backgroundColor,x.call(this,e,t))}}t.value=p.value,i.call(this,e,t),p.minWidth=t.minWidth,p.columnIndex=r,w&&(x&&x.overlay&&x.call(this,e,t),Object.assign(t,b))}function S(i){b[i]=t[i];var n=y[i];"paintBackground"!==i&&"function"==typeof n&&(n=n.call(this,e,t)),t[i]=n}this.groupCount=s,Object.assign(a,c)},delimiter:"|",paintBackground:f,flatHeight:"250%",nestedHeight:"160%",columnHeaderLines:!0,autosizeGroups:!0,groupConfig:[{halign:"center",thickness:1,gradientStops:function(e,t){this.backgroundColor||t.backgroundColor;return[[0,"white"],[1,this.backgroundColor||t.backgroundColor]]}}]};function s(e){var t=Object.getPrototypeOf(this).setHeaders,i=this.grid.cellRenderers.get(r),n=i.delimiter,o=this.columns.reduce((function(e,t){return Math.max(t.header.split(n).length,e)}),0),s=function(e,t,i){var n=t.columnHeaderFont.match(a),r=n&&n[1]||.8*t.defaultRowHeight;return 1===i?c(e.flatHeight,r):c(e.nestedHeight,r)*i}(i,this.grid.properties,o),l=this.grid.behavior.subgrids.lookup.header;t.call(this,e),this.grid.setRowHeight(0,s,l)}var a=/\b(\d+(\.\d+)?)px\b/;var l=/^(\d+(\.\d+)?)%$/;function c(e,t){var i=e.match(l);return i?i[1]/100*t:e}function u(){var e=Object.getPrototypeOf(this).isColumnReorderable.call(this),t=this.grid.cellRenderers.get(r).delimiter;return e&&!this.columns.find((function(e){return e.getCellProperty(0,"renderer")===r&&-1!==e.header.indexOf(t)}))}function h(e,t){t.children.length&&(t.minWidth=Math.max(t.minWidth,function e(t,i){return i.children.length?i.children.reduce((function(i,n){return i+=n.minWidth=Math.max(n.minWidth,e(t,n))}),0):i.minWidth=Math.max(i.minWidth,t.getActiveColumn(i.columnIndex).properties.preferredWidth)}(e,t)),function e(t,i){var n=i.children.reduce((function(e,t){return e+t.minWidth}),0),r=(i.minWidth-n)/i.children.length;i.children.forEach((function(i){(i.minWidth+=r,i.children.length)?e(t,i):t.getActiveColumn(i.columnIndex).properties.preferredWidth=i.minWidth}))}(e,t))}var d=/^rgba|^transparent$/;function f(e,t){var i=t.bounds,n=t.thickness||this.groupCount-this.groupIndex;e.cache.fillStyle=t.gridLinesVColor,e.fillRect(i.x,i.y+i.height-n,i.width,n)}f.overlay=!0,e.exports=n={name:"groupedHeader",install:function(e,t){var i=(t=t||{}).CellRenderer||"SimpleCell";if("string"==typeof i&&(i=e.cellRenderers.get(i).constructor),"function"!=typeof i)throw new e.HypergridError("Expected `options.CellRenderer` to be a constructor or a registered cell redenderer.");var n=i.extend(r,o),a=e.cellRenderers.add(n);e.addEventListener("fin-grid-rendered",(function(){a.tree&&(h(e.behavior,a.tree),e.checkColumnAutosizing())})),Object.assign(a,t),delete a.CellRenderer,a.visibleColumns=e.renderer.visibleColumns,e.properties.columnHeaderRenderer=r,e.behavior.setHeaders=s,e.behavior.isColumnReorderable=u,e.behavior.dataModel.groupHeaderDelimiter=a.delimiter},decorateBackgroundWithBottomBorder:f,decorateBackgroundWithLinearGradient:function(e,t){var i,n=t.bounds,r=e.createLinearGradient(n.x,n.y,n.x,n.y+n.height);(t.gradientStops||this.gradientStops).forEach((function(e){i=i||d.test(e),r.addColorStop.apply(r,e)})),i&&e.clearRect(n.x,n.y,n.width,n.height),e.cache.fillStyle=r,e.fillRect(n.x,n.y,n.width,n.height)}}},function(e,t){e.exports=function(e,t){var n=e.toString(t);if("NaN"===n)return"\u1d3a\u1d43\u1d3a";if("Infinity"===n)return"\u207a\u1d35\u207f\u1da0";if("-Infinity"===n)return"\u207b\u1d35\u207f\u1da0";return n.split("").map((function(e){var t=i[e];return t||""})).join("")};var i={0:"\u2070",1:"\xb9",2:"\xb2",3:"\xb3",4:"\u2074",5:"\u2075",6:"\u2076",7:"\u2077",8:"\u2078",9:"\u2079","+":"\u207a","-":"\u207b",a:"\u1d43",b:"\u1d47",c:"\u1d9c",d:"\u1d48",e:"\u1d49",f:"\u1da0",g:"\u1d4d",h:"\u02b0",i:"\u2071",j:"\u02b2",k:"\u1d4f",l:"\u02e1",m:"\u1d50",n:"\u207f",o:"\u1d52",p:"\u1d56",r:"\u02b3",s:"\u02e2",t:"\u1d57",u:"\u1d58",v:"\u1d5b",w:"\u02b7",x:"\u02e3",y:"\u02b8",z:"\u1dbb"}},function(e,t,i){"use strict";i.r(t),i.d(t,"importTemplate",(function(){return n})),i.d(t,"registerElement",(function(){return r})),i.d(t,"bindTemplate",(function(){return o})),i.d(t,"copy_to_clipboard",(function(){return a})),i.d(t,"setPromise",(function(){return l})),i.d(t,"throttlePromise",(function(){return u})),i.d(t,"json_attribute",(function(){return h})),i.d(t,"array_attribute",(function(){return d}));i(49),i(51),i(120);function n(e){const t=document.createElement("div");return t.innerHTML=e,Array.prototype.slice.call(t.children)[0]}function r(e,t,i){const r=n(e);!function(e){if(e.content)return;let t;for(e.content=document.createDocumentFragment();t=e.firstChild;)Node.prototype.appendChild.call(e.content,t)}(r),t&&(r.innerHTML="<style>".concat(t.toString(),"</style>")+r.innerHTML),r.innerHTML='<style id="psp_styles" scope="'.concat(r.getAttribute("id"),'">test{}</style>')+r.innerHTML;for(let e of Object.getOwnPropertyNames(i.prototype)){let t=Object.getOwnPropertyDescriptor(i.prototype,e);if(t&&t.set){let n=t.set;t.set=function(t){this.hasAttribute(e)&&this.getAttribute(e)===t?(this._initializing||this._initialized)&&n.call(this,t):this.setAttribute(e,t)},Object.defineProperty(i.prototype,e,t)}}let o=r.getAttribute("id");console.log("Registered ".concat(o)),window.customElements.define(o,class extends i{attributeChangedCallback(e,t,i){null===i&&(i="null"),"_"!==e[0]&&t!=i&&(this[e]=i)}connectedCallback(){if(!this._initialized){for(this._initializing=!0,this._old_children=[];this.hasChildNodes();)1===this.lastChild.nodeType&&this._old_children.push(this.lastChild),this.removeChild(this.lastChild);this._old_children=this._old_children.reverse();var e=document.importNode(r.content,!0);this.attachShadow({mode:"open"}),this.shadowRoot.appendChild(e),super.connectedCallback&&super.connectedCallback();for(let e of Object.getOwnPropertyNames(i.prototype))"connectedCallback"!==e&&this.hasAttribute(e)&&"_"!==e[0]&&(this[e]=this.getAttribute(e));this._initializing=!1,this._initialized=!0}}static get observedAttributes(){return Object.getOwnPropertyNames(i.prototype)}})}function o(e,...t){const i=t.map(e=>e.toString()).join("\n");return function(t){return r(e,{toString:()=>i},t)}}function s(e){return function(t,i,n){const r=n.value;return n.set=function(t){let n=this.getAttribute(i);try{null!=t&&""!==t||(t=e()),"string"!=typeof t&&(t=JSON.stringify(t)),t!==n&&(n=t),n=JSON.parse(n)}catch(r){console.warn('Invalid value for attribute "'.concat(i,'": ').concat(t)),n=e()}r.call(this,n)},n.get=function(){return this.hasAttribute(i)?JSON.parse(this.getAttribute(i)):e()},delete n.value,delete n.writable,n}}function a(e){let t=document.createElement("textarea");document.body.appendChild(t),t.value=e,t.select(),document.execCommand("copy"),document.body.removeChild(t)}async function l(e=(async()=>{}),t=0){return await new Promise(e=>setTimeout(e,t)),await e()}const c=()=>{let e,t=new Promise(t=>{e=t});return t.resolve=e,t};function u(e,t,i){const n=Symbol("private lock"),r=i.value;return i.value=async function(...e){if(this[n]&&(await this[n],this[n]))return void await this[n];let t;this[n]=c();try{t=await r.call(this,...e)}catch(e){console.error(e)}finally{const e=this[n];return this[n]=void 0,e.resolve(),t}},i}const h=s(()=>({})),d=s(()=>[])},function(e,t,i){"use strict";var n=i(28),r=i(52),o=i(34),s=i(8),a=[].sort,l=[1,2,3];n(n.P+n.F*(s((function(){l.sort(void 0)}))||!s((function(){l.sort(null)}))||!i(310)(a)),"Array",{sort:function(e){return void 0===e?a.call(o(this)):a.call(o(this),r(e))}})},function(e,t,i){"use strict";var n=i(8);e.exports=function(e,t){return!!e&&n((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},function(e,t,i){"use strict";var n=i(7),r=i(34),o=i(54),s=i(33),a=i(92),l=i(93),c=Math.max,u=Math.min,h=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,f=/\$([$&`']|\d\d?)/g;i(94)("replace",2,(function(e,t,i,g){return[function(n,r){var o=e(this),s=null==n?void 0:n[t];return void 0!==s?s.call(n,o,r):i.call(String(o),n,r)},function(e,t){var r=g(i,e,this,t);if(r.done)return r.value;var h=n(e),d=String(this),f="function"==typeof t;f||(t=String(t));var v=h.global;if(v){var m=h.unicode;h.lastIndex=0}for(var b=[];;){var y=l(h,d);if(null===y)break;if(b.push(y),!v)break;""===String(y[0])&&(h.lastIndex=a(d,o(h.lastIndex),m))}for(var C,w="",x=0,S=0;S<b.length;S++){y=b[S];for(var _=String(y[0]),E=c(u(s(y.index),d.length),0),R=[],A=1;A<y.length;A++)R.push(void 0===(C=y[A])?C:String(C));var M=y.groups;if(f){var k=[_].concat(R,E,d);void 0!==M&&k.push(M);var P=String(t.apply(void 0,k))}else P=p(_,d,E,R,M,t);E>=x&&(w+=d.slice(x,E)+P,x=E+_.length)}return w+d.slice(x)}];function p(e,t,n,o,s,a){var l=n+e.length,c=o.length,u=f;return void 0!==s&&(s=r(s),u=d),i.call(a,u,(function(i,r){var a;switch(r.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(l);case"<":a=s[r.slice(1,-1)];break;default:var u=+r;if(0===u)return i;if(u>c){var d=h(u/10);return 0===d?i:d<=c?void 0===o[d-1]?r.charAt(1):o[d-1]+r.charAt(1):i}a=o[u-1]}return void 0===a?"":a}))}}))}])}));
//# sourceMappingURL=perspective-viewer-hypergrid.js.map