@devtable/dashboard 2.3.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/api-caller/index.d.ts +14 -8
  2. package/dist/api-caller/types.d.ts +1 -1
  3. package/dist/contexts/dashboard-action-context.d.ts +1 -1
  4. package/dist/contexts/index.d.ts +1 -3
  5. package/dist/contexts/layout-state-context.d.ts +2 -2
  6. package/dist/contexts/model-context.d.ts +24165 -0
  7. package/dist/contexts/panel-context.d.ts +2 -3
  8. package/dist/dashboard.es.js +8102 -4305
  9. package/dist/dashboard.umd.js +41 -5
  10. package/dist/definition-editor/data-editor-modal.d.ts +2 -2
  11. package/dist/definition-editor/global-variables-guide.d.ts +3 -3
  12. package/dist/definition-editor/query-editor/data-preview.d.ts +3 -3
  13. package/dist/definition-editor/query-editor/editor.d.ts +2 -2
  14. package/dist/definition-editor/query-editor/form.d.ts +4 -5
  15. package/dist/definition-editor/query-editor/index.d.ts +2 -2
  16. package/dist/definition-editor/query-editor/select-or-add-query.d.ts +2 -2
  17. package/dist/definition-editor/sql-snippet-editor/editor.d.ts +2 -2
  18. package/dist/filter/filter-checkbox/editor.d.ts +3 -5
  19. package/dist/filter/filter-checkbox/render.d.ts +3 -2
  20. package/dist/filter/filter-date-range/editor.d.ts +3 -6
  21. package/dist/filter/filter-date-range/render.d.ts +3 -2
  22. package/dist/filter/filter-multi-select/editor.d.ts +3 -7
  23. package/dist/filter/filter-multi-select/render.d.ts +4 -3
  24. package/dist/filter/filter-query-field/index.d.ts +5 -5
  25. package/dist/filter/filter-query-field/select-data-source.d.ts +5 -5
  26. package/dist/filter/filter-query-field/test-query.d.ts +7 -0
  27. package/dist/filter/filter-select/editor.d.ts +3 -7
  28. package/dist/filter/filter-select/render.d.ts +3 -2
  29. package/dist/filter/filter-settings/filter-setting.d.ts +4 -7
  30. package/dist/filter/filter-settings/filter-settings.d.ts +2 -5
  31. package/dist/filter/filter-settings/index.d.ts +2 -5
  32. package/dist/filter/filter-settings/preview-filter.d.ts +4 -8
  33. package/dist/filter/filter-text-input/editor.d.ts +3 -6
  34. package/dist/filter/filter-text-input/render.d.ts +3 -2
  35. package/dist/filter/filter.d.ts +3 -3
  36. package/dist/filter/index.d.ts +2 -6
  37. package/dist/index.d.ts +1 -0
  38. package/dist/layout/index.d.ts +3 -3
  39. package/dist/layout/read-only.d.ts +3 -3
  40. package/dist/main/actions.d.ts +3 -5
  41. package/dist/main/full-screen-panel.d.ts +3 -3
  42. package/dist/main/main.d.ts +5 -5
  43. package/dist/main/read-only.d.ts +4 -4
  44. package/dist/main/toggle-mode.d.ts +2 -2
  45. package/dist/main/use-panel-full-screen.d.ts +1 -1
  46. package/dist/main/use-sticky-area-style.d.ts +1 -0
  47. package/dist/model/context.d.ts +11 -0
  48. package/dist/model/dashboard.d.ts +15998 -0
  49. package/dist/model/filters/filter/checkbox.d.ts +16 -0
  50. package/dist/model/filters/filter/common.d.ts +14 -0
  51. package/dist/model/filters/filter/date-range.d.ts +28 -0
  52. package/dist/model/filters/filter/index.d.ts +172 -0
  53. package/dist/model/filters/filter/multi-select.d.ts +81 -0
  54. package/dist/model/filters/filter/select.d.ts +95 -0
  55. package/dist/model/filters/filter/text-input.d.ts +22 -0
  56. package/dist/model/filters/index.d.ts +3542 -0
  57. package/dist/model/index.d.ts +5 -0
  58. package/dist/model/queries/index.d.ts +116 -0
  59. package/dist/model/queries/mute-query.d.ts +17 -0
  60. package/dist/model/queries/query.d.ts +31 -0
  61. package/dist/model/queries/types.d.ts +5 -0
  62. package/dist/model/sql-snippets/index.d.ts +26 -0
  63. package/dist/model/sql-snippets/sql-snippet.d.ts +9 -0
  64. package/dist/panel/error-boundary.d.ts +1 -1
  65. package/dist/panel/index.d.ts +2 -2
  66. package/dist/panel/settings/common/aggregation-selector.d.ts +2 -2
  67. package/dist/panel/settings/common/color-array-input.d.ts +1 -1
  68. package/dist/panel/settings/common/data-field-selector.d.ts +2 -2
  69. package/dist/panel/settings/common/mantine-color.d.ts +1 -1
  70. package/dist/panel/settings/common/mantine-font-weight.d.ts +1 -1
  71. package/dist/panel/settings/common/numbro-format-selector.d.ts +1 -1
  72. package/dist/panel/settings/common/text-array-input.d.ts +1 -1
  73. package/dist/panel/settings/index.d.ts +2 -2
  74. package/dist/panel/settings/pick-query/index.d.ts +2 -2
  75. package/dist/panel/title-bar.d.ts +2 -2
  76. package/dist/panel/viz/bar-3d/panel.d.ts +1 -1
  77. package/dist/panel/viz/cartesian/panel/index.d.ts +1 -1
  78. package/dist/panel/viz/cartesian/panel/regressions/index.d.ts +2 -2
  79. package/dist/panel/viz/cartesian/panel/regressions/regression-item.d.ts +2 -2
  80. package/dist/panel/viz/cartesian/panel/series/fields.bar.d.ts +3 -3
  81. package/dist/panel/viz/cartesian/panel/series/index.d.ts +2 -2
  82. package/dist/panel/viz/cartesian/panel/series/series-item.d.ts +2 -2
  83. package/dist/panel/viz/cartesian/panel/stats/index.d.ts +2 -2
  84. package/dist/panel/viz/cartesian/panel/stats/variable.d.ts +2 -2
  85. package/dist/panel/viz/cartesian/panel/y-axes.d.ts +2 -2
  86. package/dist/panel/viz/cartesian/type.d.ts +3 -3
  87. package/dist/panel/viz/index.d.ts +3 -3
  88. package/dist/panel/viz/pie/panel.d.ts +1 -1
  89. package/dist/panel/viz/rich-text/panel.d.ts +1 -1
  90. package/dist/panel/viz/rich-text/type.d.ts +1 -1
  91. package/dist/panel/viz/stats/panel/index.d.ts +3 -3
  92. package/dist/panel/viz/stats/panel/variable.d.ts +2 -2
  93. package/dist/panel/viz/stats/panel/variables.d.ts +2 -2
  94. package/dist/panel/viz/stats/types.d.ts +1 -1
  95. package/dist/panel/viz/stats/update/index.d.ts +2 -2
  96. package/dist/panel/viz/sunburst/panel.d.ts +1 -1
  97. package/dist/panel/viz/table/index.d.ts +1 -1
  98. package/dist/panel/viz/table/panel.d.ts +1 -1
  99. package/dist/panel/viz/table/value-type-selector.d.ts +1 -1
  100. package/dist/panel/viz/table/value.d.ts +1 -1
  101. package/dist/plugins/json-plugin-storage.d.ts +8 -0
  102. package/dist/plugins/message-channels.d.ts +8 -0
  103. package/dist/plugins/plugin-context.d.ts +12 -0
  104. package/dist/plugins/plugin-manager.d.ts +18 -0
  105. package/dist/plugins/viz-manager/components.d.ts +23 -0
  106. package/dist/plugins/viz-manager/impl.d.ts +10 -0
  107. package/dist/plugins/viz-manager/index.d.ts +3 -0
  108. package/dist/plugins/viz-manager/types.d.ts +12 -0
  109. package/dist/style.css +1 -1
  110. package/dist/types/dashboard.d.ts +6 -14
  111. package/dist/types/filter.d.ts +6 -38
  112. package/dist/types/plugin/index.d.ts +97 -0
  113. package/dist/types/viz-panel.d.ts +1 -1
  114. package/dist/utils/download.d.ts +6 -0
  115. package/dist/utils/sql.d.ts +7 -6
  116. package/dist/utils/template/editor.d.ts +3 -3
  117. package/dist/utils/template/render.d.ts +1 -1
  118. package/dist/utils/template/types.d.ts +2 -2
  119. package/package.json +22 -4
  120. package/dist/contexts/context-info-context.d.ts +0 -5
  121. package/dist/contexts/definition-context.d.ts +0 -7
  122. package/dist/contexts/filter-values-context.d.ts +0 -4
  123. package/dist/filter/filter-settings/types.d.ts +0 -4
  124. package/dist/main/use-filters.d.ts +0 -8
@@ -1,4 +1,4 @@
1
- (function(S,P){typeof exports=="object"&&typeof module!="undefined"?P(exports,require("react"),require("lodash"),require("react-grid-layout"),require("@mantine/core"),require("ahooks"),require("axios"),require("@mantine/modals"),require("tabler-icons-react"),require("@mantine/rte"),require("@mantine/hooks"),require("echarts-for-react/lib/core"),require("echarts/core"),require("echarts/charts"),require("echarts/renderers"),require("echarts-stat"),require("echarts/components"),require("numbro"),require("echarts-gl"),require("react-hook-form"),require("@mantine/form"),require("@mantine/prism"),require("@mantine/dates")):typeof define=="function"&&define.amd?define(["exports","react","lodash","react-grid-layout","@mantine/core","ahooks","axios","@mantine/modals","tabler-icons-react","@mantine/rte","@mantine/hooks","echarts-for-react/lib/core","echarts/core","echarts/charts","echarts/renderers","echarts-stat","echarts/components","numbro","echarts-gl","react-hook-form","@mantine/form","@mantine/prism","@mantine/dates"],P):(S=typeof globalThis!="undefined"?globalThis:S||self,P(S.dashboard={},S.React,S._,S["react-grid-layout"],S["@mantine/core"],S.ahooks,S.axios,S["@mantine/modals"],S["tabler-icons-react"],S["@mantine/rte"],S["@mantine/hooks"],S["echarts-for-react/lib/core"],S["echarts/core"],S["echarts/charts"],S["echarts/renderers"],S["echarts-stat"],S["echarts/components"],S.numbro,S["echarts-gl"],S["react-hook-form"],S["@mantine/form"],S["@mantine/prism"],S["@mantine/dates"]))})(this,function(S,P,N,ge,l,J,kt,ye,g,Fe,A,qt,Mt,H,ae,It,Q,Gt,Gr,b,ee,X,Lt){"use strict";var Mr=Object.defineProperty;var Ir=(S,P,N)=>P in S?Mr(S,P,{enumerable:!0,configurable:!0,writable:!0,value:N}):S[P]=N;var Dt=(S,P,N)=>(Ir(S,typeof P!="symbol"?P+"":P,N),N);function j(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function Ot(e){if(e&&e.__esModule)return e;var n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}}),n.default=e,Object.freeze(n)}var c=j(P),C=j(N),$e=j(ge),Ft=j(kt),Se=j(Fe),se=j(qt),V=Ot(Mt),oe=j(Gt),I=(e=>(e.Use="use",e.Layout="layout",e.Edit="edit",e))(I||{});const $t={layoutFrozen:!1,freezeLayout:()=>{},mode:I.Edit,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},O=c.default.createContext($t);function Vt(e,n){const r=Object.keys(n),i=Object.values(n);try{return new Function(...r,`return \`${e}\`;`)(...i)}catch(a){return console.error(a),a.message}}function Ce(e,n){const r=Object.keys(n),i=Object.values(n);try{return new Function(...r,`return \`${e}\`;`)(...i)}catch(a){throw r.length===0&&e.includes("$")?new Error("[formatSQL] insufficient params"):a}}function Ve(e,n,r){const i=n.sqlSnippets.reduce((a,o)=>(a[o.key]=Ce(o.value,e),a),{});return C.default.merge({},i,e,{filters:r})}function Et(e,n,r,i){try{const a=Ve(n,r,i);return Ce(e,a)}catch(a){return console.error(a),a.message}}const W={baseURL:"http://localhost:31200",getRequest(e){return(n,r,i={})=>{const a={"X-Requested-With":"XMLHttpRequest","Content-Type":i.string?"application/x-www-form-urlencoded":"application/json",...i.headers},o={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:a};return e==="POST"&&(o.data=i.string?JSON.stringify(r):r),Ft.default(o).then(u=>u.data).catch(u=>Promise.reject(u))}}},Ee=({type:e,key:n,sql:r})=>async()=>{if(!e||!n||!r)return[];try{return await W.getRequest("POST")("/query",{type:e,key:n,query:r})}catch(i){return console.error(i),[]}},Be=({context:e,definitions:n,title:r,query:i,filterValues:a})=>async()=>{if(!i||!i.sql)return[];const{type:o,key:u,sql:s}=i,p=s.includes("$");try{const m=Ve(e,n,a),d=Ce(s,m);return p&&(console.groupCollapsed(`Final SQL for: ${r}`),console.log(d),console.groupEnd()),await W.getRequest("POST")("/query",{type:o,key:u,query:d})}catch(m){return console.error(m),[]}};async function Re(){try{return(await W.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const Ne={},Bt=Ne,E=c.default.createContext(Ne),Rt={id:"",data:[],loading:!1,title:"",setTitle:()=>{},description:"",setDescription:()=>{},queryID:"",setQueryID:()=>{},viz:{type:"",conf:{}},setViz:()=>{},refreshData:()=>{}},G=c.default.createContext(Rt),Nt={addPanel:C.default.noop,duplidatePanel:C.default.noop,removePanelByID:C.default.noop,viewPanelInFullScreen:C.default.noop,inFullScreen:!1},ue=c.default.createContext(Nt),Qt={sqlSnippets:[],setSQLSnippets:()=>{},queries:[],setQueries:()=>{}},L=c.default.createContext(Qt),Qe={},jt=Qe,U=c.default.createContext(Qe);var de={exports:{}},ce={};/**
1
+ (function(ue,Fe){typeof exports=="object"&&typeof module<"u"?Fe(exports,require("react"),require("lodash"),require("react-grid-layout"),require("@mantine/core"),require("@mantine/modals"),require("mobx-react-lite"),require("tabler-icons-react"),require("@mantine/rte"),require("@mantine/hooks"),require("echarts-for-react/lib/core"),require("echarts/core"),require("echarts/charts"),require("echarts/renderers"),require("echarts-stat"),require("echarts/components"),require("numbro"),require("echarts-gl"),require("react-hook-form"),require("@mantine/form"),require("@mantine/prism"),require("ahooks"),require("axios"),require("mobx-state-tree"),require("@mantine/dates"),require("mobx"),require("stickybits")):typeof define=="function"&&define.amd?define(["exports","react","lodash","react-grid-layout","@mantine/core","@mantine/modals","mobx-react-lite","tabler-icons-react","@mantine/rte","@mantine/hooks","echarts-for-react/lib/core","echarts/core","echarts/charts","echarts/renderers","echarts-stat","echarts/components","numbro","echarts-gl","react-hook-form","@mantine/form","@mantine/prism","ahooks","axios","mobx-state-tree","@mantine/dates","mobx","stickybits"],Fe):(ue=typeof globalThis<"u"?globalThis:ue||self,Fe(ue.dashboard={},ue.React,ue._,ue["react-grid-layout"],ue["@mantine/core"],ue["@mantine/modals"],ue["mobx-react-lite"],ue["tabler-icons-react"],ue["@mantine/rte"],ue["@mantine/hooks"],ue["echarts-for-react/lib/core"],ue["echarts/core"],ue["echarts/charts"],ue["echarts/renderers"],ue["echarts-stat"],ue["echarts/components"],ue.numbro,ue["echarts-gl"],ue["react-hook-form"],ue["@mantine/form"],ue["@mantine/prism"],ue.ahooks,ue.axios,ue["mobx-state-tree"],ue["@mantine/dates"],ue.mobx,ue.stickybits))})(this,function(ue,Fe,$e,Lt,c,Bt,Ce,pe,or,Be,Tn,An,ft,xt,zn,it,Dn,Ws,be,Mt,at,ut,On,se,In,Pn,Fn){"use strict";var Gs=Object.defineProperty;var Us=(ue,Fe,$e)=>Fe in ue?Gs(ue,Fe,{enumerable:!0,configurable:!0,writable:!0,value:$e}):ue[Fe]=$e;var nt=(ue,Fe,$e)=>(Us(ue,typeof Fe!="symbol"?Fe+"":Fe,$e),$e);const Je=t=>t&&typeof t=="object"&&"default"in t?t:{default:t};function Rn(t){if(t&&t.__esModule)return t;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,s.get?s:{enumerable:!0,get:()=>t[r]})}}return e.default=t,Object.freeze(e)}const V=Je(Fe),ye=Je($e),lr=Je(Lt),jt=Je(or),kt=Je(Tn),Qe=Rn(An),St=Je(Dn),Ln=Je(On),Bn=Je(Fn);var Ge=(t=>(t.Use="use",t.Layout="layout",t.Edit="edit",t))(Ge||{});const Mn={layoutFrozen:!1,freezeLayout:()=>{},mode:Ge.Edit,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},Ve=V.default.createContext(Mn),jn={id:"",data:[],loading:!1,title:"",setTitle:()=>{},description:"",setDescription:()=>{},queryID:"",setQueryID:()=>{},viz:{type:"",conf:{}},setViz:()=>{}},Ue=V.default.createContext(jn),ur=V.default.createContext(null),qt=ur.Provider;function Re(){const t=V.default.useContext(ur);if(!t)throw new Error("Please use ModelContextProvider");return t}const qn={addPanel:ye.default.noop,duplidatePanel:ye.default.noop,removePanelByID:ye.default.noop,viewPanelInFullScreen:ye.default.noop,inFullScreen:!1},Ct=V.default.createContext(qn);var Ze=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Et={exports:{}},ht={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,9 +6,27 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Wt=c.default,Ut=Symbol.for("react.element"),Yt=Symbol.for("react.fragment"),Jt=Object.prototype.hasOwnProperty,Xt=Wt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Kt={key:!0,ref:!0,__self:!0,__source:!0};function je(e,n,r){var i,a={},o=null,u=null;r!==void 0&&(o=""+r),n.key!==void 0&&(o=""+n.key),n.ref!==void 0&&(u=n.ref);for(i in n)Jt.call(n,i)&&!Kt.hasOwnProperty(i)&&(a[i]=n[i]);if(e&&e.defaultProps)for(i in n=e.defaultProps,n)a[i]===void 0&&(a[i]=n[i]);return{$$typeof:Ut,type:e,key:o,ref:u,props:a,_owner:Xt.current}}ce.Fragment=Yt,ce.jsx=je,ce.jsxs=je,de.exports=ce;const t=de.exports.jsx,f=de.exports.jsxs,D=de.exports.Fragment;function We({}){const{freezeLayout:e}=c.default.useContext(O),[n,r]=c.default.useState(!1),{title:i,description:a}=c.default.useContext(G);return c.default.useEffect(()=>{e(n)},[n]),!a||a==="<p><br></p>"?null:f(D,{children:[t(l.Modal,{opened:n,onClose:()=>r(!1),title:i,withCloseButton:!1,children:t(Se.default,{readOnly:!0,value:a,onChange:C.default.noop,sx:{border:"none"}})}),t(l.Tooltip,{label:"Click to see description",position:"top-start",children:t(l.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>r(o=>!o),sx:{verticalAlign:"baseline",cursor:"pointer"},children:t(g.InfoCircle,{size:20})})})]})}function Zt(){const{description:e,setDescription:n}=c.default.useContext(G),[r,i]=c.default.useState(e),a=e!==r,o=c.default.useCallback(()=>{!a||n(r)},[a,r]);return f(l.Stack,{sx:{flexGrow:1},children:[f(l.Group,{align:"end",children:[t(l.Text,{children:"Description"}),t(l.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:o,children:t(g.DeviceFloppy,{size:20})})]}),t(Fe.RichTextEditor,{value:r,onChange:i,sx:{flexGrow:1},sticky:!0,p:"0"})]})}class fe extends c.default.Component{constructor(n){super(n),this.state={error:null}}componentDidCatch(n){this.setState({error:n})}render(){var n;if(this.state.error){const r=()=>{this.setState({error:null})};return f(l.Box,{children:[t(l.Text,{size:"xs",children:(n=this.state.error)==null?void 0:n.message}),t(l.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:r,children:"Retry"})]})}return this.props.children}}function Ht(){const{title:e}=c.default.useContext(G);return t(fe,{children:f(l.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[f(l.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[t(l.Group,{children:t(We,{})}),t(l.Group,{grow:!0,position:"center",children:t(l.Text,{lineClamp:1,weight:"bold",children:e})}),t(l.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),t(l.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function en(){const{title:e,setTitle:n}=c.default.useContext(G),[r,i]=A.useInputState(e),a=e!==r,o=c.default.useCallback(()=>{!a||n(r)},[a,r]);return t(l.TextInput,{value:r,onChange:i,label:f(l.Group,{align:"end",children:[t(l.Text,{children:"Panel Title"}),t(l.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:o,children:t(g.DeviceFloppy,{size:20})})]})})}function tn({}){return f(l.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[f(l.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[t(en,{}),t(Zt,{})]}),t(l.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(Ht,{})})]})}function Ue({id:e}){const n=c.default.useContext(L),r=c.default.useContext(U),i=c.default.useContext(E),a=c.default.useMemo(()=>n.queries.find(p=>p.id===e),[n.queries,e]),{data:o=[],loading:u,refresh:s}=J.useRequest(Be({context:i,definitions:n,filterValues:r,title:e,query:a}),{refreshDeps:[i,n,a,r]});return u?t(l.LoadingOverlay,{visible:u,exitTransitionDuration:0}):o.length===0?t(l.Table,{}):f(l.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[f(l.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[f(l.Group,{position:"left",children:[t(l.Text,{weight:500,children:"Preview Data"}),o.length>10&&f(l.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",o.length]})]}),t(l.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:u,onClick:s,children:t(g.Refresh,{size:15})})]}),f(l.Table,{children:[t("thead",{children:t("tr",{children:Object.keys(o==null?void 0:o[0]).map(p=>t("th",{children:t(l.Text,{weight:700,color:"#000",children:p})},p))})}),t("tbody",{children:o.slice(0,10).map((p,m)=>t("tr",{children:Object.values(p).map((d,h)=>t("td",{children:t(l.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:t(l.Text,{children:d})})},`${d}--${h}`))},`row-${m}`))})]})]})}function nn({}){const{queries:e}=c.default.useContext(L),{queryID:n,setQueryID:r,data:i,loading:a}=c.default.useContext(G),o=c.default.useMemo(()=>e.map(u=>({value:u.id,label:u.id})),[e]);return f(l.Stack,{children:[f(l.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(l.Text,{children:"Select a Query"}),t(l.Select,{data:o,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),t(Ue,{id:n})]})}V.use([H.SunburstChart,ae.CanvasRenderer]);const ln={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function rn({conf:e,data:n,width:r,height:i}){const{label_field:a="name",value_field:o="value",...u}=e,s=c.default.useMemo(()=>n.map(h=>({name:h[a],value:Number(h[o])})),[n,a,o]),p=c.default.useMemo(()=>{var h,x;return(x=(h=C.default.maxBy(s,y=>y.value))==null?void 0:h.value)!=null?x:1},[s]),m=c.default.useMemo(()=>({series:{label:{formatter:({name:h,value:x})=>x/p<.2?" ":h}}}),[p]),d=C.default.merge({},ln,m,u,{series:{data:s}});return t(se.default,{echarts:V,option:d,style:{width:r,height:i}})}function an({regressions:e=[]},n){const r=[],i=[],a=[];return n.length===0?{regressionDataSets:r,regressionSeries:i,regressionXAxes:a}:(e.forEach(({transform:o,plot:u,name:s,y_axis_data_key:p})=>{const m=`x-axis-for-${s}`,d=`dataset-for-${s}--raw`,h=`dataset-for-${s}--transformed`;r.push({id:d,source:n.map((x,y)=>[y,x[p]])}),r.push({transform:o,id:h,fromDatasetId:d}),i.push({...u,name:s,datasetId:h,xAxisId:m,showSymbol:!1,tooltip:{show:!1}}),a.push({type:"category",id:m,datasetId:h,show:!1})}),{regressionDataSets:r,regressionSeries:i,regressionXAxes:a})}const sn={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"axis"},xAxis:{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}},grid:{top:0,left:15,right:15,bottom:30,containLabel:!0}};function on(e,n){var m;const r=e.y_axes.reduce((d,{label_formatter:h},x)=>(d[x]=function(v){const w=typeof v=="object"?v.value:v;if(!h)return w;try{return oe.default(w).format(h)}catch(_){return console.error(_),w}},d),{default:({value:d})=>d}),i=e.series.reduce((d,{yAxisIndex:h,name:x})=>(d[x]=h,d),{}),a=e.series.map(({y_axis_data_key:d,yAxisIndex:h,label_position:x,name:y,...v})=>({data:n.map(_=>_[d]),label:{show:!!x,position:x,formatter:r[h!=null?h:"default"]},name:y,xAxisId:"main-x-axis",yAxisIndex:h,...v})),{regressionDataSets:o,regressionSeries:u,regressionXAxes:s}=an(e,n),p={xAxis:[{data:n.map(d=>d[e.x_axis_data_key]),name:(m=e.x_axis_name)!=null?m:"",id:"main-x-axis"},...s],yAxis:e.y_axes.map(({label_formatter:d,...h},x)=>{var y;return{...h,axisLabel:{show:!0,formatter:(y=r[x])!=null?y:r.default}}}),dataset:[...o],series:[...a,...u],tooltip:{formatter:function(d){const h=Array.isArray(d)?d:[d];if(h.length===0)return"";const x=h.map(({seriesName:y,value:v})=>{var q;if(!y)return v;const w=i[y],_=(q=r[w])!=null?q:r.default;return`${y}: ${_({value:v})}`});return x.unshift(`<strong>${h[0].name}</strong>`),x.join("<br />")}}};return C.default.merge({},sn,p)}function un(e){const n=Array.from(e).sort((i,a)=>i-a),r=Math.floor(n.length/2);return n.length%2===0?(n[r-1]+n[r])/2:n[r]}function dn(e,n,r){var a,o,u;const i=e.map(s=>s[n]);switch(r){case"sum":return C.default.sum(i);case"mean":return C.default.mean(i);case"median":return un(i);case"max":return(a=C.default.max(i))!=null?a:0;case"min":return(o=C.default.min(i))!=null?o:0;default:return(u=e[0])==null?void 0:u[n]}}var Ye=function(){};const cn=(e,n,r)=>Math.min(Math.max(r,e),n),Je=(e,n,r)=>{const i=n-e;return i===0?1:(r-e)/i},ve=(e,n,r)=>-r*e+r*n+e,Xe=(e,n)=>r=>Math.max(Math.min(r,n),e),te=e=>e%1?Number(e.toFixed(5)):e,pe=/(-)?([\d]*\.?[\d])+/g,we=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,fn=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function ne(e){return typeof e=="string"}const he={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Ke=Object.assign(Object.assign({},he),{transform:Xe(0,1)});Object.assign(Object.assign({},he),{default:1});const le=(e=>({test:n=>ne(n)&&n.endsWith(e)&&n.split(" ").length===1,parse:parseFloat,transform:n=>`${n}${e}`}))("%");Object.assign(Object.assign({},le),{parse:e=>le.parse(e)/100,transform:e=>le.transform(e*100)});const Te=(e,n)=>r=>Boolean(ne(r)&&fn.test(r)&&r.startsWith(e)||n&&Object.prototype.hasOwnProperty.call(r,n)),Ze=(e,n,r)=>i=>{if(!ne(i))return i;const[a,o,u,s]=i.match(pe);return{[e]:parseFloat(a),[n]:parseFloat(o),[r]:parseFloat(u),alpha:s!==void 0?parseFloat(s):1}},Y={test:Te("hsl","hue"),parse:Ze("hue","saturation","lightness"),transform:({hue:e,saturation:n,lightness:r,alpha:i=1})=>"hsla("+Math.round(e)+", "+le.transform(te(n))+", "+le.transform(te(r))+", "+te(Ke.transform(i))+")"},pn=Xe(0,255),_e=Object.assign(Object.assign({},he),{transform:e=>Math.round(pn(e))}),B={test:Te("rgb","red"),parse:Ze("red","green","blue"),transform:({red:e,green:n,blue:r,alpha:i=1})=>"rgba("+_e.transform(e)+", "+_e.transform(n)+", "+_e.transform(r)+", "+te(Ke.transform(i))+")"};function hn(e){let n="",r="",i="",a="";return e.length>5?(n=e.substr(1,2),r=e.substr(3,2),i=e.substr(5,2),a=e.substr(7,2)):(n=e.substr(1,1),r=e.substr(2,1),i=e.substr(3,1),a=e.substr(4,1),n+=n,r+=r,i+=i,a+=a),{red:parseInt(n,16),green:parseInt(r,16),blue:parseInt(i,16),alpha:a?parseInt(a,16)/255:1}}const ze={test:Te("#"),parse:hn,transform:B.transform},me={test:e=>B.test(e)||ze.test(e)||Y.test(e),parse:e=>B.test(e)?B.parse(e):Y.test(e)?Y.parse(e):ze.parse(e),transform:e=>ne(e)?e:e.hasOwnProperty("red")?B.transform(e):Y.transform(e)},He="${c}",et="${n}";function mn(e){var n,r,i,a;return isNaN(e)&&ne(e)&&((r=(n=e.match(pe))===null||n===void 0?void 0:n.length)!==null&&r!==void 0?r:0)+((a=(i=e.match(we))===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0)>0}function tt(e){typeof e=="number"&&(e=`${e}`);const n=[];let r=0;const i=e.match(we);i&&(r=i.length,e=e.replace(we,He),n.push(...i.map(me.parse)));const a=e.match(pe);return a&&(e=e.replace(pe,et),n.push(...a.map(he.parse))),{values:n,numColors:r,tokenised:e}}function nt(e){return tt(e).values}function lt(e){const{values:n,numColors:r,tokenised:i}=tt(e),a=n.length;return o=>{let u=i;for(let s=0;s<a;s++)u=u.replace(s<r?He:et,s<r?me.transform(o[s]):te(o[s]));return u}}const xn=e=>typeof e=="number"?0:e;function bn(e){const n=nt(e);return lt(e)(n.map(xn))}const rt={test:mn,parse:nt,createTransformer:lt,getAnimatableNone:bn};function Pe(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}function it({hue:e,saturation:n,lightness:r,alpha:i}){e/=360,n/=100,r/=100;let a=0,o=0,u=0;if(!n)a=o=u=r;else{const s=r<.5?r*(1+n):r+n-r*n,p=2*r-s;a=Pe(p,s,e+1/3),o=Pe(p,s,e),u=Pe(p,s,e-1/3)}return{red:Math.round(a*255),green:Math.round(o*255),blue:Math.round(u*255),alpha:i}}const gn=(e,n,r)=>{const i=e*e,a=n*n;return Math.sqrt(Math.max(0,r*(a-i)+i))},yn=[ze,B,Y],at=e=>yn.find(n=>n.test(e)),st=(e,n)=>{let r=at(e),i=at(n),a=r.parse(e),o=i.parse(n);r===Y&&(a=it(a),r=B),i===Y&&(o=it(o),i=B);const u=Object.assign({},a);return s=>{for(const p in u)p!=="alpha"&&(u[p]=gn(a[p],o[p],s));return u.alpha=ve(a.alpha,o.alpha,s),r.transform(u)}},Sn=e=>typeof e=="number",Cn=(e,n)=>r=>n(e(r)),ot=(...e)=>e.reduce(Cn);function ut(e,n){return Sn(e)?r=>ve(e,n,r):me.test(e)?st(e,n):ft(e,n)}const dt=(e,n)=>{const r=[...e],i=r.length,a=e.map((o,u)=>ut(o,n[u]));return o=>{for(let u=0;u<i;u++)r[u]=a[u](o);return r}},vn=(e,n)=>{const r=Object.assign(Object.assign({},e),n),i={};for(const a in r)e[a]!==void 0&&n[a]!==void 0&&(i[a]=ut(e[a],n[a]));return a=>{for(const o in i)r[o]=i[o](a);return r}};function ct(e){const n=rt.parse(e),r=n.length;let i=0,a=0,o=0;for(let u=0;u<r;u++)i||typeof n[u]=="number"?i++:n[u].hue!==void 0?o++:a++;return{parsed:n,numNumbers:i,numRGB:a,numHSL:o}}const ft=(e,n)=>{const r=rt.createTransformer(n),i=ct(e),a=ct(n);return i.numHSL===a.numHSL&&i.numRGB===a.numRGB&&i.numNumbers>=a.numNumbers?ot(dt(i.parsed,a.parsed),r):u=>`${u>0?n:e}`},wn=(e,n)=>r=>ve(e,n,r);function Tn(e){if(typeof e=="number")return wn;if(typeof e=="string")return me.test(e)?st:ft;if(Array.isArray(e))return dt;if(typeof e=="object")return vn}function _n(e,n,r){const i=[],a=r||Tn(e[0]),o=e.length-1;for(let u=0;u<o;u++){let s=a(e[u],e[u+1]);if(n){const p=Array.isArray(n)?n[u]:n;s=ot(p,s)}i.push(s)}return i}function zn([e,n],[r]){return i=>r(Je(e,n,i))}function Pn(e,n){const r=e.length,i=r-1;return a=>{let o=0,u=!1;if(a<=e[0]?u=!0:a>=e[i]&&(o=i-1,u=!0),!u){let p=1;for(;p<r&&!(e[p]>a||p===i);p++);o=p-1}const s=Je(e[o],e[o+1],a);return n[o](s)}}function An(e,n,{clamp:r=!0,ease:i,mixer:a}={}){const o=e.length;Ye(o===n.length),Ye(!i||!Array.isArray(i)||i.length===o-1),e[0]>e[o-1]&&(e=[].concat(e),n=[].concat(n),e.reverse(),n.reverse());const u=_n(n,i,a),s=o===2?zn(e,u):Pn(e,u);return r?p=>s(cn(e[0],e[o-1],p)):s}class Dn{constructor({valueRange:n,colorRange:r}){Dt(this,"mapper");this.mapper=An(n,r)}getColor(n){return this.mapper(n)}}function kn(e,n){return e.type==="static"?e.staticColor:e.type==="continuous"?new Dn(e).getColor(n):"black"}function qn(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function Mn(e,n){const r={};return e.forEach(({name:i,color:a,data_field:o,aggregation:u,size:s,weight:p,formatter:m})=>{const d=dn(n,o,u);let h="";["string","number"].includes(typeof d)?h=oe.default(d).format(m):h=qn(d),r[i]=t(l.Text,{sx:{fontSize:s,display:"inline"},color:kn(a,d),weight:p,children:h})}),r}function In(e){return e.split(" ").map(n=>f(D,{children:[n,"\xA0"]}))}function Gn(e){const r=e.replaceAll("<br />","<br/>").replaceAll(`
10
- `,"<br/>").split("<br/>");return r.map((a,o)=>{const u=[In(a)];return o!==r.length-1&&u.push(t("br",{})),u}).flat().filter(a=>a!==void 0)}function Ae(e){return Gn(e)}function De(e,n,r){const i=Mn(n,r),a=/^\{(.+)\}(.*)$/;return e.split("$").map(o=>{var m;const u=a.exec(o);if(!u)return Ae(o);const s=i[u[1]];if(!s)return Ae(o);const p=(m=u[2])!=null?m:"";return f(D,{children:[s,Ae(p)]})})}V.use([H.BarChart,H.LineChart,H.ScatterChart,Q.GridComponent,Q.LegendComponent,Q.TooltipComponent,ae.CanvasRenderer]),V.registerTransform(It.transform.regression);function pt(e){return e.trim().length>0}function Ln({conf:e,data:n,width:r,height:i}){const a=c.default.useMemo(()=>on(e,n),[e,n]);return!r||!i?null:t(se.default,{echarts:V,option:a,style:{width:r,height:i}})}function On({conf:e,data:n,width:r,height:i}){const{ref:a,height:o}=A.useElementSize(),{ref:u,height:s}=A.useElementSize(),p=c.default.useMemo(()=>{const{stats:{templates:d,variables:h}}=e;return{top:De(d.top,h,n),bottom:De(d.bottom,h,n)}},[e,n]),m=Math.max(0,i-o-s);return f(l.Box,{children:[pt(e.stats.templates.top)&&t(l.Text,{ref:a,align:"left",size:"xs",pl:"sm",children:Object.values(p.top).map(d=>d)}),t(Ln,{width:r,height:m,data:n,conf:e}),pt(e.stats.templates.bottom)&&t(l.Text,{ref:u,align:"left",size:"xs",pl:"sm",children:Object.values(p.bottom).map(d=>d)})]})}var R=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(R||{});function Fn({value:e}){return t(l.Text,{component:"span",children:e})}function $n({value:e}){return t(l.Text,{component:"span",children:e})}function Vn({value:e}){const n=oe.default(e).format({thousandSeparated:!0});return t(l.Text,{component:"span",children:n})}function En({value:e}){const n=oe.default(e).format({output:"percent",mantissa:3});return t(l.Text,{component:"span",children:n})}function Bn({value:e,type:n}){switch(n){case R.string:return t(Fn,{value:e});case R.eloc:return t($n,{value:e});case R.number:return t(Vn,{value:e});case R.percentage:return t(En,{value:e})}}function Rn({conf:e,data:n=[],width:r,height:i}){const{id_field:a,use_raw_columns:o,columns:u,...s}=e,p=c.default.useMemo(()=>o?Object.keys(n==null?void 0:n[0]):u.map(d=>d.label),[o,u,n]),m=c.default.useMemo(()=>o?Object.keys(n==null?void 0:n[0]).map(d=>({label:d,value_field:d,value_type:R.string})):u,[o,u,n]);return f(l.Table,{sx:{maxHeight:i},...s,children:[t("thead",{children:t("tr",{children:p.map(d=>t("th",{children:d},d))})}),t("tbody",{children:n.slice(0,30).map((d,h)=>t("tr",{children:m.map(({value_field:x,value_type:y})=>t("td",{children:t(l.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace",fontSize:s.fontSize}},children:t(Bn,{value:d[x],type:y})})},`${x}--${d[x]}`))},a?d[a]:`row-${h}`))}),n.length>100&&t("tfoot",{children:t("tr",{children:t("td",{colSpan:p.length,children:t(l.Text,{color:"red",size:"sm",children:"Showing only the first 30 rows to avoid causing slow performance"})})})})]})}V.use([Q.GridComponent,Q.VisualMapComponent,Q.LegendComponent,Q.TooltipComponent,ae.CanvasRenderer]);function Nn({conf:e,data:n,width:r,height:i}){const{x_axis_data_key:a,y_axis_data_key:o,z_axis_data_key:u,...s}=e,p=c.default.useMemo(()=>C.default.minBy(n,h=>h[u])[u],[n,u]),m=c.default.useMemo(()=>C.default.maxBy(n,h=>h[u])[u],[n,u]),d={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:p,max:m,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:{type:"value"},yAxis3D:{type:"value"},zAxis3D:{type:"value"},grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},...s,series:[{type:"bar3D",wireframe:{},data:n.map(h=>[h[a],h[o],h[u]])}]};return t(se.default,{echarts:V,option:d,style:{width:r,height:i}})}var Or="";V.use([H.PieChart,ae.CanvasRenderer]);const Qn={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
11
- {percentage|{d}%}`,minMargin:5,edgeDistance:10,lineHeight:15,rich:{percentage:{color:"#999"}},margin:20},labelLine:{length:15,length2:0,maxSurfaceAngle:80,showAbove:!0},top:10,bottom:10,left:10,right:10}};function jn({conf:e,data:n,width:r,height:i}){const{label_field:a="name",value_field:o="value",...u}=e,s=c.default.useMemo(()=>n.map(d=>({name:d[a],value:Number(d[o])})),[n,a,o]),p=c.default.useMemo(()=>({series:{labelLayout:function(d){const h=d.labelRect.x<r/2,x=d.labelLinePoints;return x[2][0]=h?d.labelRect.x:d.labelRect.x+d.labelRect.width,{labelLinePoints:x}}}}),[r]),m=C.default.merge({},Qn,p,u,{series:{data:s}});return t(se.default,{echarts:V,option:m,style:{width:r,height:i}})}function Wn({conf:{template:e,variables:n,align:r},data:i}){const a=c.default.useMemo(()=>De(e,n,i),[e,n,i]);return t(l.Text,{align:r,children:Object.values(a).map(o=>o)})}function Un({conf:e,width:n,height:r}){return!n||!r?null:t(Se.default,{readOnly:!0,value:e.content,onChange:C.default.noop,sx:{border:"none"}})}function ht(e,n,r,i){const a={width:e,height:n,data:r,conf:i.conf};switch(i.type){case"sunburst":return t(rn,{...a});case"cartesian":return t(On,{...a});case"table":return t(Rn,{...a});case"stats":return t(Wn,{...a});case"rich-text":return t(Un,{...a});case"bar-3d":return t(Nn,{...a});case"pie":return t(jn,{...a});default:return null}}const Yn=["rich-text"];function mt({viz:e,data:n,loading:r}){const{ref:i,width:a,height:o}=A.useElementSize(),u=c.default.useMemo(()=>!Array.isArray(n)||n.length===0,[n]);return Yn.includes(e.type)?t("div",{className:"viz-root",ref:i,children:t(fe,{children:ht(a,o,n,e)})}):r?t("div",{className:"viz-root",ref:i,children:t(l.LoadingOverlay,{visible:r,exitTransitionDuration:0})}):f("div",{className:"viz-root",ref:i,children:[u&&t(l.Text,{color:"gray",align:"center",children:"nothing to show"}),!u&&t(fe,{children:ht(a,o,n,e)})]})}function Jn({}){const{data:e,loading:n,viz:r}=c.default.useContext(G);return t(mt,{viz:r,data:e,loading:n})}function Xn({label:e,required:n,value:r,onChange:i,data:a,sx:o},u){const s=c.default.useMemo(()=>!Array.isArray(a)||a.length===0?[]:Object.keys(a[0]).map(m=>({label:m,value:m})),[a]);return t(l.Select,{ref:u,label:e,data:s,value:r,onChange:i,required:n,sx:o})}const k=c.default.forwardRef(Xn);function Kn({conf:e,setConf:n,data:r}){const i=C.default.assign({},{x_axis_data_key:"x",y_axis_data_key:"y",z_axis_data_key:"z",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}},e),{control:a,handleSubmit:o,formState:u}=b.useForm({defaultValues:i});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:o(n),children:[t(l.Text,{children:"X Axis"}),f(l.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(b.Controller,{name:"x_axis_data_key",control:a,render:({field:s})=>t(k,{label:"Data Field",required:!0,data:r,...s})}),t(b.Controller,{name:"xAxis3D.name",control:a,render:({field:s})=>t(l.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...s})})]}),t(l.Text,{mt:"lg",children:"Y Axis"}),f(l.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(b.Controller,{name:"y_axis_data_key",control:a,render:({field:s})=>t(k,{label:"Data Field",required:!0,data:r,...s})}),t(b.Controller,{name:"yAxis3D.name",control:a,render:({field:s})=>t(l.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...s})})]}),t(l.Text,{mt:"lg",children:"Z Axis"}),f(l.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(b.Controller,{name:"z_axis_data_key",control:a,render:({field:s})=>t(k,{label:"Data Field",required:!0,data:r,...s})}),t(b.Controller,{name:"zAxis3D.name",control:a,render:({field:s})=>t(l.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...s})})]}),t(l.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:f(l.Button,{color:"blue",type:"submit",children:[t(g.DeviceFloppy,{size:20}),t(l.Text,{ml:"md",children:"Save"})]})})]})})}function Zn({value:e,onChange:n},r){const i=l.useMantineTheme(),a=c.default.useMemo(()=>Object.entries(i.colors).map(([u,s])=>({label:u,value:s[6]})),[i]),o=c.default.useMemo(()=>a.some(u=>u.value===e),[e,a]);return f(l.Group,{position:"apart",spacing:4,children:[t(l.TextInput,{placeholder:"Set any color",value:o?"":e,onChange:u=>n(u.currentTarget.value),rightSection:t(l.ColorSwatch,{color:o?"transparent":e,radius:4}),variant:o?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),t(l.Text,{sx:{flexGrow:0},children:"or"}),t(l.Select,{data:a,value:e,onChange:n,variant:o?"default":"filled",placeholder:"Pick a theme color",icon:t(l.ColorSwatch,{color:o?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const ke=c.default.forwardRef(Zn);function Hn({control:e,index:n}){return f(l.Group,{grow:!0,align:"top",children:[t(b.Controller,{name:`series.${n}.stack`,control:e,render:({field:r})=>t(l.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...r})}),t(b.Controller,{name:`series.${n}.barWidth`,control:e,render:({field:r})=>t(l.TextInput,{label:"Bar Width",sx:{flexGrow:1},...r})})]})}const el=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function tl({control:e,index:n}){return f(l.Group,{grow:!0,align:"center",children:[t(b.Controller,{name:`series.${n}.step`,control:e,render:({field:r})=>t(l.Select,{label:"Step",data:el,sx:{flexGrow:1,maxWidth:"48%"},...r,value:String(r.value),onChange:i=>{const a=i==="false"?!1:i;r.onChange(a)}})}),t(b.Controller,{name:`series.${n}.smooth`,control:e,render:({field:r})=>t(l.Box,{sx:{flexGrow:1},children:t(l.Switch,{label:"Smooth Line",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})})})]})}const nl=Array.from(new Array(9),(e,n)=>({label:String(n+1),value:n+1}));function ll({control:e,index:n}){return t(l.Group,{grow:!0,align:"center",children:t(b.Controller,{name:`series.${n}.symbolSize`,control:e,render:({field:r})=>f(l.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[t(l.Text,{size:"sm",children:"Size"}),t(l.Slider,{min:1,max:10,marks:nl,...r,sx:{width:"100%"}})]})})})}const rl=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function il({control:e,index:n,remove:r,seriesItem:i,yAxisOptions:a,data:o}){const u=i.type;return f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(l.Stack,{children:t(b.Controller,{name:`series.${n}.type`,control:e,render:({field:s})=>t(l.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...s})})}),t(b.Controller,{name:`series.${n}.name`,control:e,render:({field:s})=>t(l.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:`series.${n}.y_axis_data_key`,control:e,render:({field:s})=>t(k,{label:"Value Field",required:!0,data:o,sx:{flex:1},...s})}),t(b.Controller,{name:`series.${n}.yAxisIndex`,control:e,render:({field:{value:s,onChange:p,...m}})=>{var d;return t(l.Select,{label:"Y Axis",data:a,disabled:a.length===0,...m,value:(d=s==null?void 0:s.toString())!=null?d:"",onChange:h=>{if(!h){p(0);return}p(Number(h))},sx:{flex:1}})}})]}),u==="line"&&t(tl,{index:n,control:e}),u==="bar"&&t(Hn,{index:n,control:e}),u==="scatter"&&t(ll,{index:n,control:e}),t(b.Controller,{name:`series.${n}.label_position`,control:e,render:({field:s})=>t(l.Select,{label:"Label Position",data:rl,...s})}),f(l.Stack,{spacing:4,children:[t(l.Text,{size:"sm",children:"Color"}),t(b.Controller,{name:`series.${n}.color`,control:e,render:({field:s})=>t(ke,{...s})})]}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},n)}function al({control:e,watch:n,getValues:r,data:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:e,name:"series"}),s=n("series"),p=a.map((h,x)=>({...h,...s[x]})),m=()=>o({type:"bar",name:A.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1}),d=c.default.useMemo(()=>r().y_axes.map(({name:h},x)=>({label:h,value:x.toString()})),[r]);return f(l.Stack,{children:[p.map((h,x)=>t(il,{control:e,index:x,remove:u,seriesItem:h,yAxisOptions:d,data:i})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:m,children:"Add a Series"})})]})}const xt={mantissa:0,output:"number"};function sl({value:e,onChange:n},r){const i=u=>{n({...e,output:u})},a=u=>{const s=u===0?!1:e.trimMantissa;n({...e,mantissa:u,trimMantissa:s})},o=u=>{n({...e,trimMantissa:u.currentTarget.checked})};return t(l.Stack,{ref:r,children:f(l.Group,{grow:!0,children:[t(l.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:i}),t(l.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:a}),t(l.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0})]})})}const bt=c.default.forwardRef(sl);function ol({control:e,index:n,remove:r}){return f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(l.Group,{grow:!0,noWrap:!0,children:t(b.Controller,{name:`y_axes.${n}.name`,control:e,render:({field:i})=>t(l.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})})}),t(l.Stack,{children:t(b.Controller,{name:`y_axes.${n}.label_formatter`,control:e,render:({field:i})=>t(bt,{...i})})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},disabled:n===0,children:t(g.Trash,{size:16})})]},n)}function ul({control:e,watch:n}){const{fields:r,append:i,remove:a}=b.useFieldArray({control:e,name:"y_axes"}),o=n("y_axes"),u=r.map((p,m)=>({...p,...o[m]})),s=()=>i({name:"",label_formatter:xt});return f(l.Stack,{children:[u.map((p,m)=>t(ol,{control:e,index:m,remove:a})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:s,children:"Add a Y Axis"})})]})}const dl=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function cl({control:e,regressionItem:n,index:r,remove:i,yAxisOptions:a,data:o}){const u=n.transform.config.method;return f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(b.Controller,{name:`regressions.${r}.name`,control:e,render:({field:s})=>t(l.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:`regressions.${r}.y_axis_data_key`,control:e,render:({field:s})=>t(k,{label:"Value Field",required:!0,data:o,sx:{flex:1},...s})}),t(b.Controller,{name:`regressions.${r}.plot.yAxisIndex`,control:e,render:({field:{value:s,onChange:p,...m}})=>{var d;return t(l.Select,{label:"Y Axis",data:a,disabled:a.length===0,...m,value:(d=s==null?void 0:s.toString())!=null?d:"",onChange:h=>{if(!h){p(0);return}p(Number(h))},sx:{flex:1}})}})]}),f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:`regressions.${r}.transform.config.method`,control:e,render:({field:s})=>t(l.Select,{label:"Method",data:dl,sx:{flex:1},...s})}),u==="polynomial"&&t(b.Controller,{name:`regressions.${r}.transform.config.order`,control:e,render:({field:s})=>t(l.NumberInput,{label:"Order",sx:{flex:1},...s})})]}),f(l.Stack,{spacing:4,children:[t(l.Text,{size:"sm",children:"Color"}),t(b.Controller,{name:`regressions.${r}.plot.color`,control:e,render:({field:s})=>t(ke,{...s})})]}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i(r),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},r)}function fl({control:e,watch:n,getValues:r,data:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:e,name:"regressions"}),s=n("regressions"),p=a.map((h,x)=>({...h,...s[x]})),m=c.default.useMemo(()=>r().y_axes.map(({name:h},x)=>({label:h,value:x.toString()})),[r]),d=()=>o({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return f(l.Stack,{children:[p.map((h,x)=>t(cl,{regressionItem:h,control:e,index:x,remove:u,yAxisOptions:m,data:i})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:d,children:"Add a Regression Line"})})]})}const pl=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"}];function hl({label:e,value:n,onChange:r},i){return t(l.Select,{ref:i,label:e,data:pl,value:n,onChange:r})}const ml=c.default.forwardRef(hl);function xl({label:e,value:n,onChange:r},i){const[a,o]=c.default.useState(Array.isArray(n)?[...n]:[]),u=c.default.useCallback(()=>{o(x=>[...x,""])},[o]),s=c.default.useCallback(x=>{o(y=>(y.splice(x,1),[...y]))},[o]),p=c.default.useMemo(()=>!C.default.isEqual(a,n),[a,n]),m=()=>{r(a.map(x=>x.toString()))},d=l.useMantineTheme(),h=c.default.useMemo(()=>Object.entries(d.colors).map(([x,y])=>y[6]),[d]);return f(D,{children:[f(l.Group,{position:"left",ref:i,children:[t(l.Text,{children:e}),t(l.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!p,onClick:m,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Group,{children:[a.map((x,y)=>t(l.ColorInput,{value:x,onChange:v=>{o(w=>(w.splice(y,1,v),[...w]))},swatches:h,rightSection:t(l.ActionIcon,{onClick:()=>s(y),color:"red",children:t(g.Trash,{size:14})}),sx:{width:"45%"}})),t(l.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(g.PlaylistAdd,{size:20})})]})]})}const bl=c.default.forwardRef(xl),xe=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function gl({label:e,value:n,onChange:r},i){var u,s;const[a,o]=c.default.useState((s=(u=xe.find(p=>p.label===n))==null?void 0:u.value)!=null?s:xe[0].value);return c.default.useEffect(()=>{const p=xe.find(m=>m.value===a);p&&r(p.label)},[a]),f(l.Stack,{spacing:0,mt:"sm",mb:"lg",children:[t(l.Text,{size:"sm",children:e}),t(l.Slider,{label:null,marks:xe,value:a,onChange:o,step:25,placeholder:"Pick a font size",ref:i})]})}const yl=c.default.forwardRef(gl);function Sl({label:e,value:n,onChange:r},i){const[a,o]=c.default.useState(Array.isArray(n)?[...n]:[]),u=c.default.useCallback(()=>{o(d=>[...d,""])},[o]),s=c.default.useCallback(d=>{o(h=>(h.splice(d,1),[...h]))},[o]),p=c.default.useMemo(()=>!C.default.isEqual(a,n),[a,n]),m=()=>{r(a.map(d=>d.toString()))};return f(D,{children:[f(l.Group,{position:"left",ref:i,children:[t(l.Text,{children:e}),t(l.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!p,onClick:m,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Group,{children:[a.map((d,h)=>t(l.TextInput,{value:d,onChange:x=>{const y=x.currentTarget.value;o(v=>(v.splice(h,1,y),[...v]))},rightSection:t(l.ActionIcon,{onClick:()=>s(h),color:"red",children:t(g.Trash,{size:14})}),sx:{width:"45%"}})),t(l.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(g.PlaylistAdd,{size:20})})]})]})}const Cl=c.default.forwardRef(Sl);function gt(){return{name:A.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}}const qe=c.default.forwardRef(function({value:n,onChange:r,...i},a){return t(l.TextInput,{ref:a,value:n,onChange:r,...i})}),yt=c.default.forwardRef(function({value:n,onChange:r,data:i},a){const o=n.color.type,u=(s,p)=>{const m=C.default.cloneDeep(n);C.default.set(m,s,p),r(m)};return f(l.Box,{px:"sm",py:"md",children:[t(l.Text,{weight:"bold",pb:0,children:n.name}),t(l.Divider,{my:"xs",label:"Data",labelPosition:"center"}),f(l.Group,{grow:!0,noWrap:!0,children:[t(l.TextInput,{label:"Name",required:!0,value:n.name,onChange:s=>u("name",s.currentTarget.value)}),t(k,{label:"Data Field",required:!0,data:i,value:n.data_field,onChange:s=>u("data_field",s)}),t(ml,{label:"Aggregation",value:n.aggregation,onChange:s=>u("aggregation",s)})]}),t(bt,{value:n.formatter,onChange:s=>u("formatter",s)}),t(l.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),t(l.Stack,{children:t(l.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:n.size,onChange:s=>u("size",s.currentTarget.value)})}),t(l.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:t(yl,{label:"Font Weight",value:n.weight,onChange:s=>u("weight",s)})}),t(l.Divider,{my:"xs",label:"Style",labelPosition:"center"}),f(l.Stack,{children:[t(l.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:n.color.type,onChange:s=>u("color.type",s)}),o==="static"&&t(ke,{value:n.color.staticColor,onChange:s=>u("color.staticColor",s)}),o==="continuous"&&f(D,{children:[t(Cl,{label:"Value Range",value:n.color.valueRange,onChange:s=>u("color.valueRange",s)}),t(bl,{label:"Color Range",value:n.color.colorRange,onChange:s=>u("color.colorRange",s)})]})]})]})});function vl({control:e,index:n,remove:r,data:i}){return f(l.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t(b.Controller,{name:`stats.variables.${n}`,control:e,render:({field:a})=>t(yt,{data:i,...a})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},n)}function wl({control:e,watch:n,data:r}){const{fields:i,append:a,remove:o}=b.useFieldArray({control:e,name:"stats.variables"});n("stats.templates");const u=n("stats.variables"),s=i.map((m,d)=>({...m,...u[d]})),p=()=>a(gt());return f(l.Stack,{children:[f(l.Stack,{spacing:0,children:[t(b.Controller,{name:"stats.templates.top",control:e,render:({field:m})=>t(qe,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...m})}),t(b.Controller,{name:"stats.templates.bottom",control:e,render:({field:m})=>t(qe,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...m})})]}),s.map((m,d)=>t(vl,{control:e,index:d,remove:o,data:r})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:p,children:"Add a Variable"})})]})}function Tl(e){function n({type:r,name:i,showSymbol:a,symbolSize:o=5,y_axis_data_key:u="value",yAxisIndex:s=0,label_position:p="top",stack:m="1",color:d="black",barWidth:h="30",smooth:x=!1,step:y=!1}){return{type:r,name:i,showSymbol:a,symbolSize:o,y_axis_data_key:u,yAxisIndex:s,label_position:p,stack:m,color:d,barWidth:h,smooth:x,step:y}}return e.map(n)}function _l(e){return e||{templates:{top:"",bottom:""},variables:[]}}function zl({conf:e,setConf:n,data:r}){const{series:i,y_axes:a,...o}=e,u=c.default.useMemo(()=>{const{x_axis_name:y="",stats:v,...w}=o;return{series:Tl(i!=null?i:[]),x_axis_name:y,y_axes:a!=null?a:[{name:"Y Axis",label_formatter:xt}],stats:_l(v),...w}},[i,o]);c.default.useEffect(()=>{!C.default.isEqual(e,u)&&n(u)},[e,u]);const{control:s,handleSubmit:p,watch:m,getValues:d}=b.useForm({defaultValues:u});m(["x_axis_data_key","x_axis_name"]);const h=d(),x=c.default.useMemo(()=>!C.default.isEqual(h,e),[h,e]);return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:p(n),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{children:"Chart Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!x,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Accordion,{multiple:!0,value:["X Axis","Y Axes"],children:[t(l.Accordion.Item,{value:"X Axis",children:f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:"x_axis_data_key",control:s,render:({field:y})=>t(k,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...y})}),t(b.Controller,{name:"x_axis_name",control:s,render:({field:y})=>t(l.TextInput,{label:"X Axis Name",sx:{flex:1},...y})})]})}),t(l.Accordion.Item,{value:"Y Axes",children:t(ul,{control:s,watch:m})}),t(l.Accordion.Item,{value:"Series",children:t(al,{control:s,watch:m,getValues:d,data:r})}),t(l.Accordion.Item,{value:"Regression Lines",children:t(fl,{control:s,watch:m,getValues:d,data:r})}),t(l.Accordion.Item,{value:"Stats",children:t(wl,{control:s,watch:m,data:r})})]})]})})}function Pl({conf:{label_field:e,value_field:n},setConf:r,data:i}){const a=ee.useForm({initialValues:{label_field:e,value_field:n}});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a.onSubmit(r),children:[f(l.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(l.Text,{children:"Pie Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(k,{label:"Label Field",required:!0,data:i,...a.getInputProps("label_field")}),t(k,{label:"Value Field",required:!0,data:i,...a.getInputProps("value_field")})]})]})})}function Al({conf:e,setConf:n}){const r=c.default.useMemo(()=>{const{content:m=""}=e;return{content:m}},[e]);c.default.useEffect(()=>{!C.default.isEqual(e,r)&&n(r)},[e,r]);const{control:i,handleSubmit:a,watch:o,getValues:u}=b.useForm({defaultValues:r});o("content");const s=u(),p=c.default.useMemo(()=>!C.default.isEqual(s,e),[s,e]);return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a(n),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{children:"Content"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:t(g.DeviceFloppy,{size:20})})]}),t(b.Controller,{name:"content",control:i,render:({field:m})=>t(Se.default,{sx:{flex:1},...m})})]})})}function Dl(e){if("variables"in e)return e;const{align:n,size:r,weight:i,color:a,content:{prefix:o="",data_field:u="value",formatter:s={output:"number",mantissa:0},postfix:p=""}={}}=e;return{align:n,template:`${o} \${value} ${p}`,variables:[{name:"value",data_field:u,aggregation:"none",formatter:s,color:a,weight:i,size:r}]}}function kl({control:e,index:n,remove:r,data:i}){return f(l.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t(b.Controller,{name:`variables.${n}`,control:e,render:({field:a})=>t(yt,{data:i,...a})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},n)}function ql({control:e,watch:n,data:r}){const{fields:i,append:a,remove:o}=b.useFieldArray({control:e,name:"variables"}),u=n("variables"),s=i.map((m,d)=>({...m,...u[d]})),p=()=>a(gt());return f(l.Stack,{children:[s.map((m,d)=>t(kl,{control:e,index:d,remove:o,data:r})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:p,children:"Add a Variable"})})]})}function Ml(){return{align:"center",template:"The variable ${value} is defined in Variables section",variables:[{name:"value",size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}]}}function Il({conf:e,setConf:n,data:r}){const i=c.default.useMemo(()=>{const{align:d,template:h="",variables:x=[]}=Dl(e);return d?{variables:x,template:h,align:d}:Ml()},[e]);c.default.useEffect(()=>{!C.default.isEqual(e,i)&&n(i)},[e,i]);const{control:a,handleSubmit:o,watch:u,getValues:s}=b.useForm({defaultValues:i});u(["variables","template"]);const p=s(),m=c.default.useMemo(()=>!C.default.isEqual(p,e),[p,e]);return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:o(n),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{weight:500,children:"Stats Configurations"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:t(g.DeviceFloppy,{size:20})})]}),t(b.Controller,{name:"template",control:a,render:({field:d})=>t(qe,{label:"Template",py:"md",sx:{flexGrow:1},...d})}),t(l.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),t(ql,{control:a,watch:u,data:r})]})})}function Gl({conf:{label_field:e,value_field:n},setConf:r,data:i}){const a=ee.useForm({initialValues:{label_field:e,value_field:n}});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a.onSubmit(r),children:[f(l.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(l.Text,{children:"Sunburst Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(k,{label:"Label Field",required:!0,data:i,...a.getInputProps("label_field")}),t(k,{label:"Value Field",required:!0,data:i,...a.getInputProps("value_field")})]})]})})}const Ll=Object.values(R).map(e=>({label:e,value:e}));function Ol({label:e,value:n,onChange:r,sx:i}){return t(l.Select,{label:e,data:Ll,value:n,onChange:r,sx:i})}function Fl({conf:{columns:e,...n},setConf:r,data:i}){const a=ee.useForm({initialValues:{id_field:"id",use_raw_columns:!0,columns:e!=null?e:[],fontSize:"sm",horizontalSpacing:"sm",verticalSpacing:"sm",striped:!1,highlightOnHover:!1,...n}}),o=()=>a.insertListItem("columns",{label:A.randomId(),value_field:"value",value_type:R.string});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a.onSubmit(r),children:[f(l.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(l.Text,{children:"Table Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(k,{label:"ID Field",required:!0,data:i,...a.getInputProps("id_field")}),f(l.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[t(l.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("horizontalSpacing")}),t(l.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("verticalSpacing")})]}),t(l.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:t(l.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("fontSize")})}),f(l.Stack,{children:[t(l.Text,{children:"Other"}),f(l.Group,{position:"apart",grow:!0,children:[t(l.Switch,{label:"Striped",...a.getInputProps("striped",{type:"checkbox"})}),t(l.Switch,{label:"Highlight on hover",...a.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),f(l.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(l.Switch,{label:"Use Original Data Columns",...a.getInputProps("use_raw_columns",{type:"checkbox"})}),!a.values.use_raw_columns&&f(l.Stack,{children:[t(l.Text,{mt:"xl",mb:0,children:"Custom Columns"}),a.values.columns.map((u,s)=>f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[f(l.Group,{position:"apart",grow:!0,children:[t(l.TextInput,{label:"Label",required:!0,sx:{flex:1},...a.getInputProps(`columns.${s}.label`)}),t(k,{label:"Value Field",required:!0,data:i,...a.getInputProps(`columns.${s}.value_field`)}),t(Ol,{label:"Value Type",sx:{flex:1},...a.getInputProps(`columns.${s}.value_type`)})]}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>a.removeListItem("columns",s),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},s)),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:o,children:"Add a Column"})})]})]}),t(l.Text,{weight:500,mb:"md",children:"Current Configuration:"}),t(X.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(a.values,null,2)})]})})}const Me=[{value:"stats",label:"Stats",Panel:Il},{value:"rich-text",label:"Rich Text",Panel:Al},{value:"table",label:"Table",Panel:Fl},{value:"sunburst",label:"Sunburst",Panel:Gl},{value:"bar-3d",label:"Bar Chart (3D)",Panel:Kn},{value:"cartesian",label:"Cartesian Chart",Panel:zl},{value:"pie",label:"Pie Chart",Panel:Pl}];function $l(){const{data:e,viz:n,setViz:r}=c.default.useContext(G),[i,a]=A.useInputState(n.type),o=n.type!==i,u=c.default.useCallback(()=>{!o||r(d=>({...d,type:i}))},[o,i]),s=d=>{r(h=>({...h,conf:d}))},p=d=>{try{s(JSON.parse(d))}catch(h){console.error(h)}},m=c.default.useMemo(()=>{var d;return(d=Me.find(h=>h.value===i))==null?void 0:d.Panel},[i,Me]);return f(D,{children:[t(l.Select,{label:"Visualization",value:i,onChange:a,data:Me,rightSection:t(l.ActionIcon,{disabled:!o,onClick:u,children:t(g.DeviceFloppy,{size:20})})}),m&&t(m,{conf:n.conf,setConf:s,data:e}),!m&&t(l.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(n.conf,null,2),onChange:p})]})}function Vl({}){return f(l.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[t(l.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0},children:t($l,{})}),t(l.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(Jn,{})})]})}function El({opened:e,close:n}){const{freezeLayout:r}=c.default.useContext(O),{data:i,loading:a,viz:o,title:u}=c.default.useContext(G);return c.default.useEffect(()=>{r(e)},[e]),t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:u,trapFocus:!0,onDragStart:s=>{s.stopPropagation()},children:t(l.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:"16px"}},padding:"md",children:f(l.Tabs,{defaultValue:"Visualization",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"Data",children:"Data"}),t(l.Tabs.Tab,{value:"Panel",children:"Panel"}),t(l.Tabs.Tab,{value:"Visualization",children:"Visualization"})]}),f(l.Tabs.Panel,{value:"Data",pt:"sm",children:[t(l.LoadingOverlay,{visible:a,exitTransitionDuration:0}),t(nn,{})]}),t(l.Tabs.Panel,{value:"Panel",pt:"sm",children:t(tn,{})}),t(l.Tabs.Panel,{value:"Visualization",pt:"sm",children:t(Vl,{})})]})})})}var Fr="";function Bl({}){const e=ye.useModals(),[n,r]=c.default.useState(!1),i=()=>r(!0),a=()=>r(!1),{id:o,title:u,refreshData:s}=c.default.useContext(G),{inEditMode:p}=c.default.useContext(O),{duplidatePanel:m,removePanelByID:d,viewPanelInFullScreen:h,inFullScreen:x}=c.default.useContext(ue),y=c.default.useCallback(()=>{m(o)},[m,o]),v=()=>e.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>d(o)}),w=c.default.useCallback(()=>{h(o)},[o,h]);return f(l.Box,{sx:{position:"relative"},children:[t(l.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:t(We,{})}),t(l.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:f(l.Menu,{children:[t(l.Menu.Target,{children:t(l.Text,{lineClamp:1,weight:"bold",children:u})}),f(l.Menu.Dropdown,{children:[t(l.Menu.Item,{onClick:s,icon:t(g.Refresh,{size:14}),children:"Refresh"}),!x&&t(l.Menu.Item,{onClick:w,icon:t(g.ArrowsMaximize,{size:14}),children:"Full Screen"}),p&&f(D,{children:[t(l.Divider,{label:"Edit",labelPosition:"center"}),t(l.Menu.Item,{onClick:i,icon:t(g.Settings,{size:14}),children:"Settings"}),t(l.Menu.Item,{onClick:y,icon:t(g.Copy,{size:14}),children:"Duplicate"}),t(l.Menu.Item,{color:"red",onClick:v,icon:t(g.Trash,{size:14}),children:"Delete"})]})]})]})}),p&&t(El,{opened:n,close:a})]})}var $r="";function be({viz:e,queryID:n,title:r,description:i,update:a,layout:o,id:u}){const s=c.default.useContext(E),p=c.default.useContext(U),m=c.default.useContext(L),[d,h]=c.default.useState(r),[x,y]=c.default.useState(i),[v,w]=c.default.useState(n),[_,q]=c.default.useState(e),T=c.default.useMemo(()=>{if(!!v)return m.queries.find(ie=>ie.id===v)},[v,m.queries]);c.default.useEffect(()=>{a==null||a({id:u,layout:o,title:d,description:x,queryID:v,viz:_})},[d,x,T,_,u,o,v]);const{data:z=[],loading:K,refresh:Z}=J.useRequest(Be({context:s,definitions:m,filterValues:p,title:d,query:T}),{refreshDeps:[s,m,T,p]}),re=Z;return t(G.Provider,{value:{id:u,data:z,loading:K,title:d,setTitle:h,description:x,setDescription:y,queryID:v,setQueryID:w,viz:_,setViz:q,refreshData:re},children:f(l.Container,{className:"panel-root",children:[t(Bl,{}),t(mt,{viz:_,data:z,loading:K})]})})}var Vr="";const Rl=ge.WidthProvider($e.default);function St({panels:e,setPanels:n,className:r="layout",rowHeight:i=10,isDraggable:a,isResizable:o}){const u=c.default.useCallback(s=>{const p=new Map;s.forEach(({i:d,...h})=>{p.set(d,h)});const m=e.map(d=>({...d,layout:p.get(d.id)}));n(m)},[e,n]);return t(Rl,{onLayoutChange:u,className:`dashboard-layout ${r}`,rowHeight:i,isDraggable:a,isResizable:o,children:e.map(({id:s,...p},m)=>t("div",{"data-grid":p.layout,children:t(be,{id:s,...p,update:d=>{n(h=>(h.splice(m,1,d),[...h]))}})},s))})}function Ie(e,n){return f(l.Text,{size:"xs",sx:{svg:{verticalAlign:"bottom"}},children:[e," ",n]})}function Nl({mode:e,setMode:n}){return t(l.SegmentedControl,{size:"xs",value:e,onChange:n,data:[{label:Ie(t(g.PlayerPlay,{size:20}),"Use"),value:I.Use},{label:Ie(t(g.Resize,{size:20}),"Edit Layout"),value:I.Layout},{label:Ie(t(g.Paint,{size:20}),"Edit Content"),value:I.Edit}]})}const Ql=`
9
+ */var cr;function Nn(){if(cr)return ht;cr=1;var t=V.default,e=Symbol.for("react.element"),r=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function o(i,d,v){var h,p={},b=null,m=null;v!==void 0&&(b=""+v),d.key!==void 0&&(b=""+d.key),d.ref!==void 0&&(m=d.ref);for(h in d)s.call(d,h)&&!l.hasOwnProperty(h)&&(p[h]=d[h]);if(i&&i.defaultProps)for(h in d=i.defaultProps,d)p[h]===void 0&&(p[h]=d[h]);return{$$typeof:e,type:i,key:b,ref:m,props:p,_owner:a.current}}return ht.Fragment=r,ht.jsx=o,ht.jsxs=o,ht}var pt={};/**
10
+ * @license React
11
+ * react-jsx-runtime.development.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var dr;function Gn(){return dr||(dr=1,process.env.NODE_ENV!=="production"&&function(){var t=V.default,e=Symbol.for("react.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),i=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),E=Symbol.iterator,g="@@iterator";function C(D){if(D===null||typeof D!="object")return null;var te=E&&D[E]||D[g];return typeof te=="function"?te:null}var _=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function T(D){{for(var te=arguments.length,oe=new Array(te>1?te-1:0),ve=1;ve<te;ve++)oe[ve-1]=arguments[ve];I("error",D,oe)}}function I(D,te,oe){{var ve=_.ReactDebugCurrentFrame,Ee=ve.getStackAddendum();Ee!==""&&(te+="%s",oe=oe.concat([Ee]));var Ae=oe.map(function(ke){return String(ke)});Ae.unshift("Warning: "+te),Function.prototype.apply.call(console[D],console,Ae)}}var L=!1,F=!1,Y=!1,$=!1,ee=!1,N;N=Symbol.for("react.module.reference");function ne(D){return!!(typeof D=="string"||typeof D=="function"||D===s||D===l||ee||D===a||D===v||D===h||$||D===m||L||F||Y||typeof D=="object"&&D!==null&&(D.$$typeof===b||D.$$typeof===p||D.$$typeof===o||D.$$typeof===i||D.$$typeof===d||D.$$typeof===N||D.getModuleId!==void 0))}function ce(D,te,oe){var ve=D.displayName;if(ve)return ve;var Ee=te.displayName||te.name||"";return Ee!==""?oe+"("+Ee+")":oe}function z(D){return D.displayName||"Context"}function U(D){if(D==null)return null;if(typeof D.tag=="number"&&T("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof D=="function")return D.displayName||D.name||null;if(typeof D=="string")return D;switch(D){case s:return"Fragment";case r:return"Portal";case l:return"Profiler";case a:return"StrictMode";case v:return"Suspense";case h:return"SuspenseList"}if(typeof D=="object")switch(D.$$typeof){case i:var te=D;return z(te)+".Consumer";case o:var oe=D;return z(oe._context)+".Provider";case d:return ce(D,D.render,"ForwardRef");case p:var ve=D.displayName||null;return ve!==null?ve:U(D.type)||"Memo";case b:{var Ee=D,Ae=Ee._payload,ke=Ee._init;try{return U(ke(Ae))}catch{return null}}}return null}var f=Object.assign,j=0,ge,H,y,w,O,x,S;function R(){}R.__reactDisabledLog=!0;function B(){{if(j===0){ge=console.log,H=console.info,y=console.warn,w=console.error,O=console.group,x=console.groupCollapsed,S=console.groupEnd;var D={configurable:!0,enumerable:!0,value:R,writable:!0};Object.defineProperties(console,{info:D,log:D,warn:D,error:D,group:D,groupCollapsed:D,groupEnd:D})}j++}}function M(){{if(j--,j===0){var D={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:f({},D,{value:ge}),info:f({},D,{value:H}),warn:f({},D,{value:y}),error:f({},D,{value:w}),group:f({},D,{value:O}),groupCollapsed:f({},D,{value:x}),groupEnd:f({},D,{value:S})})}j<0&&T("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Z=_.ReactCurrentDispatcher,K;function re(D,te,oe){{if(K===void 0)try{throw Error()}catch(Ee){var ve=Ee.stack.trim().match(/\n( *(at )?)/);K=ve&&ve[1]||""}return`
18
+ `+K+D}}var me=!1,fe;{var he=typeof WeakMap=="function"?WeakMap:Map;fe=new he}function _e(D,te){if(!D||me)return"";{var oe=fe.get(D);if(oe!==void 0)return oe}var ve;me=!0;var Ee=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ae;Ae=Z.current,Z.current=null,B();try{if(te){var ke=function(){throw Error()};if(Object.defineProperty(ke.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ke,[])}catch(Xe){ve=Xe}Reflect.construct(D,[],ke)}else{try{ke.call()}catch(Xe){ve=Xe}D.call(ke.prototype)}}else{try{throw Error()}catch(Xe){ve=Xe}D()}}catch(Xe){if(Xe&&ve&&typeof Xe.stack=="string"){for(var xe=Xe.stack.split(`
19
+ `),Pe=ve.stack.split(`
20
+ `),De=xe.length-1,Oe=Pe.length-1;De>=1&&Oe>=0&&xe[De]!==Pe[Oe];)Oe--;for(;De>=1&&Oe>=0;De--,Oe--)if(xe[De]!==Pe[Oe]){if(De!==1||Oe!==1)do if(De--,Oe--,Oe<0||xe[De]!==Pe[Oe]){var Ne=`
21
+ `+xe[De].replace(" at new "," at ");return D.displayName&&Ne.includes("<anonymous>")&&(Ne=Ne.replace("<anonymous>",D.displayName)),typeof D=="function"&&fe.set(D,Ne),Ne}while(De>=1&&Oe>=0);break}}}finally{me=!1,Z.current=Ae,M(),Error.prepareStackTrace=Ee}var dt=D?D.displayName||D.name:"",En=dt?re(dt):"";return typeof D=="function"&&fe.set(D,En),En}function Te(D,te,oe){return _e(D,!1)}function u(D){var te=D.prototype;return!!(te&&te.isReactComponent)}function Q(D,te,oe){if(D==null)return"";if(typeof D=="function")return _e(D,u(D));if(typeof D=="string")return re(D);switch(D){case v:return re("Suspense");case h:return re("SuspenseList")}if(typeof D=="object")switch(D.$$typeof){case d:return Te(D.render);case p:return Q(D.type,te,oe);case b:{var ve=D,Ee=ve._payload,Ae=ve._init;try{return Q(Ae(Ee),te,oe)}catch{}}}return""}var W=Object.prototype.hasOwnProperty,A={},k=_.ReactDebugCurrentFrame;function P(D){if(D){var te=D._owner,oe=Q(D.type,D._source,te?te.type:null);k.setExtraStackFrame(oe)}else k.setExtraStackFrame(null)}function X(D,te,oe,ve,Ee){{var Ae=Function.call.bind(W);for(var ke in D)if(Ae(D,ke)){var xe=void 0;try{if(typeof D[ke]!="function"){var Pe=Error((ve||"React class")+": "+oe+" type `"+ke+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof D[ke]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Pe.name="Invariant Violation",Pe}xe=D[ke](te,ke,ve,oe,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(De){xe=De}xe&&!(xe instanceof Error)&&(P(Ee),T("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",ve||"React class",oe,ke,typeof xe),P(null)),xe instanceof Error&&!(xe.message in A)&&(A[xe.message]=!0,P(Ee),T("Failed %s type: %s",oe,xe.message),P(null))}}}var J=Array.isArray;function q(D){return J(D)}function ie(D){{var te=typeof Symbol=="function"&&Symbol.toStringTag,oe=te&&D[Symbol.toStringTag]||D.constructor.name||"Object";return oe}}function le(D){try{return ae(D),!1}catch{return!0}}function ae(D){return""+D}function de(D){if(le(D))return T("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ie(D)),ae(D)}var Se=_.ReactCurrentOwner,we={key:!0,ref:!0,__self:!0,__source:!0},Ie,tt,Le;Le={};function lt(D){if(W.call(D,"ref")){var te=Object.getOwnPropertyDescriptor(D,"ref").get;if(te&&te.isReactWarning)return!1}return D.ref!==void 0}function ze(D){if(W.call(D,"key")){var te=Object.getOwnPropertyDescriptor(D,"key").get;if(te&&te.isReactWarning)return!1}return D.key!==void 0}function ct(D,te){if(typeof D.ref=="string"&&Se.current&&te&&Se.current.stateNode!==te){var oe=U(Se.current.type);Le[oe]||(T('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',U(Se.current.type),D.ref),Le[oe]=!0)}}function _t(D,te){{var oe=function(){Ie||(Ie=!0,T("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",te))};oe.isReactWarning=!0,Object.defineProperty(D,"key",{get:oe,configurable:!0})}}function We(D,te){{var oe=function(){tt||(tt=!0,T("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",te))};oe.isReactWarning=!0,Object.defineProperty(D,"ref",{get:oe,configurable:!0})}}var Ft=function(D,te,oe,ve,Ee,Ae,ke){var xe={$$typeof:e,type:D,key:te,ref:oe,props:ke,_owner:Ae};return xe._store={},Object.defineProperty(xe._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(xe,"_self",{configurable:!1,enumerable:!1,writable:!1,value:ve}),Object.defineProperty(xe,"_source",{configurable:!1,enumerable:!1,writable:!1,value:Ee}),Object.freeze&&(Object.freeze(xe.props),Object.freeze(xe)),xe};function sr(D,te,oe,ve,Ee){{var Ae,ke={},xe=null,Pe=null;oe!==void 0&&(de(oe),xe=""+oe),ze(te)&&(de(te.key),xe=""+te.key),lt(te)&&(Pe=te.ref,ct(te,Ee));for(Ae in te)W.call(te,Ae)&&!we.hasOwnProperty(Ae)&&(ke[Ae]=te[Ae]);if(D&&D.defaultProps){var De=D.defaultProps;for(Ae in De)ke[Ae]===void 0&&(ke[Ae]=De[Ae])}if(xe||Pe){var Oe=typeof D=="function"?D.displayName||D.name||"Unknown":D;xe&&_t(ke,Oe),Pe&&We(ke,Oe)}return Ft(D,xe,Pe,Ee,ve,Se.current,ke)}}var wt=_.ReactCurrentOwner,Rt=_.ReactDebugCurrentFrame;function Ye(D){if(D){var te=D._owner,oe=Q(D.type,D._source,te?te.type:null);Rt.setExtraStackFrame(oe)}else Rt.setExtraStackFrame(null)}var Ke;Ke=!1;function rt(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function wn(){{if(wt.current){var D=U(wt.current.type);if(D)return`
22
+
23
+ Check the render method of \``+D+"`."}return""}}function Fs(D){{if(D!==void 0){var te=D.fileName.replace(/^.*[\\\/]/,""),oe=D.lineNumber;return`
24
+
25
+ Check your code at `+te+":"+oe+"."}return""}}var xn={};function Rs(D){{var te=wn();if(!te){var oe=typeof D=="string"?D:D.displayName||D.name;oe&&(te=`
26
+
27
+ Check the top-level render call using <`+oe+">.")}return te}}function kn(D,te){{if(!D._store||D._store.validated||D.key!=null)return;D._store.validated=!0;var oe=Rs(te);if(xn[oe])return;xn[oe]=!0;var ve="";D&&D._owner&&D._owner!==wt.current&&(ve=" It was passed a child from "+U(D._owner.type)+"."),Ye(D),T('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',oe,ve),Ye(null)}}function Sn(D,te){{if(typeof D!="object")return;if(q(D))for(var oe=0;oe<D.length;oe++){var ve=D[oe];rt(ve)&&kn(ve,te)}else if(rt(D))D._store&&(D._store.validated=!0);else if(D){var Ee=C(D);if(typeof Ee=="function"&&Ee!==D.entries)for(var Ae=Ee.call(D),ke;!(ke=Ae.next()).done;)rt(ke.value)&&kn(ke.value,te)}}}function Ls(D){{var te=D.type;if(te==null||typeof te=="string")return;var oe;if(typeof te=="function")oe=te.propTypes;else if(typeof te=="object"&&(te.$$typeof===d||te.$$typeof===p))oe=te.propTypes;else return;if(oe){var ve=U(te);X(oe,D.props,"prop",ve,D)}else if(te.PropTypes!==void 0&&!Ke){Ke=!0;var Ee=U(te);T("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",Ee||"Unknown")}typeof te.getDefaultProps=="function"&&!te.getDefaultProps.isReactClassApproved&&T("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Bs(D){{for(var te=Object.keys(D.props),oe=0;oe<te.length;oe++){var ve=te[oe];if(ve!=="children"&&ve!=="key"){Ye(D),T("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",ve),Ye(null);break}}D.ref!==null&&(Ye(D),T("Invalid attribute `ref` supplied to `React.Fragment`."),Ye(null))}}function Cn(D,te,oe,ve,Ee,Ae){{var ke=ne(D);if(!ke){var xe="";(D===void 0||typeof D=="object"&&D!==null&&Object.keys(D).length===0)&&(xe+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Pe=Fs(Ee);Pe?xe+=Pe:xe+=wn();var De;D===null?De="null":q(D)?De="array":D!==void 0&&D.$$typeof===e?(De="<"+(U(D.type)||"Unknown")+" />",xe=" Did you accidentally export a JSX literal instead of a component?"):De=typeof D,T("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",De,xe)}var Oe=sr(D,te,oe,Ee,Ae);if(Oe==null)return Oe;if(ke){var Ne=te.children;if(Ne!==void 0)if(ve)if(q(Ne)){for(var dt=0;dt<Ne.length;dt++)Sn(Ne[dt],D);Object.freeze&&Object.freeze(Ne)}else T("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Sn(Ne,D)}return D===s?Bs(Oe):Ls(Oe),Oe}}function Ms(D,te,oe){return Cn(D,te,oe,!0)}function js(D,te,oe){return Cn(D,te,oe,!1)}var qs=js,Ns=Ms;pt.Fragment=s,pt.jsx=qs,pt.jsxs=Ns}()),pt}(function(t){process.env.NODE_ENV==="production"?t.exports=Nn():t.exports=Gn()})(Et);const n=Et.exports.jsx,G=Et.exports.jsxs,Me=Et.exports.Fragment;function fr({}){const{freezeLayout:t}=V.default.useContext(Ve),[e,r]=V.default.useState(!1),{title:s,description:a}=V.default.useContext(Ue);return V.default.useEffect(()=>{t(e)},[e]),!a||a==="<p><br></p>"?null:G(Me,{children:[n(c.Modal,{opened:e,onClose:()=>r(!1),title:s,withCloseButton:!1,children:n(jt.default,{readOnly:!0,value:a,onChange:ye.default.noop,sx:{border:"none"}})}),n(c.Tooltip,{label:"Click to see description",position:"top-start",children:n(c.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>r(l=>!l),sx:{verticalAlign:"baseline",cursor:"pointer"},children:n(pe.InfoCircle,{size:20})})})]})}function Un(){const{description:t,setDescription:e}=V.default.useContext(Ue),[r,s]=V.default.useState(t),a=t!==r,l=V.default.useCallback(()=>{!a||e(r)},[a,r]);return G(c.Stack,{sx:{flexGrow:1},children:[G(c.Group,{align:"end",children:[n(c.Text,{children:"Description"}),n(c.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:l,children:n(pe.DeviceFloppy,{size:20})})]}),n(or.RichTextEditor,{value:r,onChange:s,sx:{flexGrow:1},sticky:!0,p:"0"})]})}class Tt extends V.default.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}render(){var e;if(this.state.error){const r=()=>{this.setState({error:null})};return G(c.Box,{children:[n(c.Text,{size:"xs",children:(e=this.state.error)==null?void 0:e.message}),n(c.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:r,children:"Retry"})]})}return this.props.children}}function Wn(){const{title:t}=V.default.useContext(Ue);return n(Tt,{children:G(c.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[G(c.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[n(c.Group,{children:n(fr,{})}),n(c.Group,{grow:!0,position:"center",children:n(c.Text,{lineClamp:1,weight:"bold",children:t})}),n(c.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),n(c.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function Vn(){const{title:t,setTitle:e}=V.default.useContext(Ue),[r,s]=Be.useInputState(t),a=t!==r,l=V.default.useCallback(()=>{!a||e(r)},[a,r]);return n(c.TextInput,{value:r,onChange:s,label:G(c.Group,{align:"end",children:[n(c.Text,{children:"Panel Title"}),n(c.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:l,children:n(pe.DeviceFloppy,{size:20})})]})})}function $n({}){return G(c.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[G(c.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[n(Vn,{}),n(Un,{})]}),n(c.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:n(Wn,{})})]})}function Qn({data:t}){return t.length===0?n(c.Box,{sx:{height:"5em"}}):G(c.Table,{children:[n("thead",{children:n("tr",{children:Object.keys(t==null?void 0:t[0]).map(e=>n("th",{children:n(c.Text,{weight:700,color:"#000",children:e})},e))})}),n("tbody",{children:t.slice(0,10).map((e,r)=>n("tr",{children:Object.values(e).map((s,a)=>n("td",{children:n(c.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:n(c.Text,{children:s})})},`${s}--${a}`))},`row-${r}`))})]})}const hr=Ce.observer(function({id:e}){const r=Re(),{data:s,state:a,error:l}=r.getDataStuffByID(e),o=a==="loading",i=()=>{r.queries.refetchDataByQueryID(e)};return G(c.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[G(c.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[G(c.Group,{position:"left",children:[n(c.Text,{weight:500,children:"Preview Data"}),s.length>10&&G(c.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",s.length]})]}),n(c.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:o,onClick:i,children:n(pe.Refresh,{size:15})})]}),G(c.Box,{sx:{position:"relative"},children:[n(c.LoadingOverlay,{visible:o}),n(Qn,{data:s})]})]})}),Zn=Ce.observer(function({}){const e=Re(),{queryID:r,setQueryID:s}=V.default.useContext(Ue),a=V.default.useMemo(()=>e.queries.current.map(l=>({value:l.id,label:l.id})),[e.queries.current]);return G(c.Stack,{children:[G(c.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[n(c.Text,{children:"Select a Query"}),n(c.Select,{data:a,value:r,onChange:s,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),n(hr,{id:r})]})});Qe.use([ft.SunburstChart,xt.CanvasRenderer]);const Yn={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function Kn({conf:t,data:e,width:r,height:s}){const{label_field:a="name",value_field:l="value",...o}=t,i=V.default.useMemo(()=>e.map(p=>({name:p[a],value:Number(p[l])})),[e,a,l]),d=V.default.useMemo(()=>{var p,b;return(b=(p=ye.default.maxBy(i,m=>m.value))==null?void 0:p.value)!=null?b:1},[i]),v=V.default.useMemo(()=>({series:{label:{formatter:({name:p,value:b})=>b/d<.2?" ":p}}}),[d]),h=ye.default.merge({},Yn,v,o,{series:{data:i}});return n(kt.default,{echarts:Qe,option:h,style:{width:r,height:s}})}function Xn({regressions:t=[]},e){const r=[],s=[],a=[];return e.length===0?{regressionDataSets:r,regressionSeries:s,regressionXAxes:a}:(t.forEach(({transform:l,plot:o,name:i,y_axis_data_key:d})=>{const v=`x-axis-for-${i}`,h=`dataset-for-${i}--raw`,p=`dataset-for-${i}--transformed`;r.push({id:h,source:e.map((b,m)=>[m,b[d]])}),r.push({transform:l,id:p,fromDatasetId:h}),s.push({...o,name:i,datasetId:p,xAxisId:v,showSymbol:!1,tooltip:{show:!1}}),a.push({type:"category",id:v,datasetId:p,show:!1})}),{regressionDataSets:r,regressionSeries:s,regressionXAxes:a})}const Jn={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"axis"},xAxis:{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}},grid:{top:0,left:15,right:15,bottom:30,containLabel:!0}};function Hn(t,e){var v;const r=t.y_axes.reduce((h,{label_formatter:p},b)=>(h[b]=function(E){const g=typeof E=="object"?E.value:E;if(!p)return g;try{return St.default(g).format(p)}catch(C){return console.error(C),g}},h),{default:({value:h})=>h}),s=t.series.reduce((h,{yAxisIndex:p,name:b})=>(h[b]=p,h),{}),a=t.series.map(({y_axis_data_key:h,yAxisIndex:p,label_position:b,name:m,...E})=>({data:e.map(C=>C[h]),label:{show:!!b,position:b,formatter:r[p!=null?p:"default"]},name:m,xAxisId:"main-x-axis",yAxisIndex:p,...E})),{regressionDataSets:l,regressionSeries:o,regressionXAxes:i}=Xn(t,e),d={xAxis:[{data:e.map(h=>h[t.x_axis_data_key]),name:(v=t.x_axis_name)!=null?v:"",id:"main-x-axis"},...i],yAxis:t.y_axes.map(({label_formatter:h,...p},b)=>{var m;return{...p,axisLabel:{show:!0,formatter:(m=r[b])!=null?m:r.default}}}),dataset:[...l],series:[...a,...o],tooltip:{formatter:function(h){const p=Array.isArray(h)?h:[h];if(p.length===0)return"";const b=p.map(({seriesName:m,value:E})=>{var _;if(!m)return E;const g=s[m],C=(_=r[g])!=null?_:r.default;return`${m}: ${C({value:E})}`});return b.unshift(`<strong>${p[0].name}</strong>`),b.join("<br />")}}};return ye.default.merge({},Jn,d)}function ei(t){const e=Array.from(t).sort((s,a)=>s-a),r=Math.floor(e.length/2);return e.length%2===0?(e[r-1]+e[r])/2:e[r]}function ti(t,e,r){var a,l,o;const s=t.map(i=>i[e]);switch(r){case"sum":return ye.default.sum(s);case"mean":return ye.default.mean(s);case"median":return ei(s);case"max":return(a=ye.default.max(s))!=null?a:0;case"min":return(l=ye.default.min(s))!=null?l:0;default:return(o=t[0])==null?void 0:o[e]}}var pr=function(){},mt=function(){};process.env.NODE_ENV!=="production"&&(pr=function(t,e){!t&&typeof console<"u"&&console.warn(e)},mt=function(t,e){if(!t)throw new Error(e)});const ri=(t,e,r)=>Math.min(Math.max(r,t),e),mr=(t,e,r)=>{const s=e-t;return s===0?1:(r-t)/s},Nt=(t,e,r)=>-r*t+r*e+t,gr=(t,e)=>r=>Math.max(Math.min(r,e),t),gt=t=>t%1?Number(t.toFixed(5)):t,At=/(-)?([\d]*\.?[\d])+/g,Gt=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,ni=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function vt(t){return typeof t=="string"}const zt={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},vr=Object.assign(Object.assign({},zt),{transform:gr(0,1)});Object.assign(Object.assign({},zt),{default:1});const bt=(t=>({test:e=>vt(e)&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}))("%");Object.assign(Object.assign({},bt),{parse:t=>bt.parse(t)/100,transform:t=>bt.transform(t*100)});const Ut=(t,e)=>r=>Boolean(vt(r)&&ni.test(r)&&r.startsWith(t)||e&&Object.prototype.hasOwnProperty.call(r,e)),br=(t,e,r)=>s=>{if(!vt(s))return s;const[a,l,o,i]=s.match(At);return{[t]:parseFloat(a),[e]:parseFloat(l),[r]:parseFloat(o),alpha:i!==void 0?parseFloat(i):1}},st={test:Ut("hsl","hue"),parse:br("hue","saturation","lightness"),transform:({hue:t,saturation:e,lightness:r,alpha:s=1})=>"hsla("+Math.round(t)+", "+bt.transform(gt(e))+", "+bt.transform(gt(r))+", "+gt(vr.transform(s))+")"},ii=gr(0,255),Wt=Object.assign(Object.assign({},zt),{transform:t=>Math.round(ii(t))}),He={test:Ut("rgb","red"),parse:br("red","green","blue"),transform:({red:t,green:e,blue:r,alpha:s=1})=>"rgba("+Wt.transform(t)+", "+Wt.transform(e)+", "+Wt.transform(r)+", "+gt(vr.transform(s))+")"};function ai(t){let e="",r="",s="",a="";return t.length>5?(e=t.substr(1,2),r=t.substr(3,2),s=t.substr(5,2),a=t.substr(7,2)):(e=t.substr(1,1),r=t.substr(2,1),s=t.substr(3,1),a=t.substr(4,1),e+=e,r+=r,s+=s,a+=a),{red:parseInt(e,16),green:parseInt(r,16),blue:parseInt(s,16),alpha:a?parseInt(a,16)/255:1}}const Vt={test:Ut("#"),parse:ai,transform:He.transform},Dt={test:t=>He.test(t)||Vt.test(t)||st.test(t),parse:t=>He.test(t)?He.parse(t):st.test(t)?st.parse(t):Vt.parse(t),transform:t=>vt(t)?t:t.hasOwnProperty("red")?He.transform(t):st.transform(t)},yr="${c}",_r="${n}";function si(t){var e,r,s,a;return isNaN(t)&&vt(t)&&((r=(e=t.match(At))===null||e===void 0?void 0:e.length)!==null&&r!==void 0?r:0)+((a=(s=t.match(Gt))===null||s===void 0?void 0:s.length)!==null&&a!==void 0?a:0)>0}function wr(t){typeof t=="number"&&(t=`${t}`);const e=[];let r=0;const s=t.match(Gt);s&&(r=s.length,t=t.replace(Gt,yr),e.push(...s.map(Dt.parse)));const a=t.match(At);return a&&(t=t.replace(At,_r),e.push(...a.map(zt.parse))),{values:e,numColors:r,tokenised:t}}function xr(t){return wr(t).values}function kr(t){const{values:e,numColors:r,tokenised:s}=wr(t),a=e.length;return l=>{let o=s;for(let i=0;i<a;i++)o=o.replace(i<r?yr:_r,i<r?Dt.transform(l[i]):gt(l[i]));return o}}const oi=t=>typeof t=="number"?0:t;function li(t){const e=xr(t);return kr(t)(e.map(oi))}const Sr={test:si,parse:xr,createTransformer:kr,getAnimatableNone:li};function $t(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function Cr({hue:t,saturation:e,lightness:r,alpha:s}){t/=360,e/=100,r/=100;let a=0,l=0,o=0;if(!e)a=l=o=r;else{const i=r<.5?r*(1+e):r+e-r*e,d=2*r-i;a=$t(d,i,t+1/3),l=$t(d,i,t),o=$t(d,i,t-1/3)}return{red:Math.round(a*255),green:Math.round(l*255),blue:Math.round(o*255),alpha:s}}const ui=(t,e,r)=>{const s=t*t,a=e*e;return Math.sqrt(Math.max(0,r*(a-s)+s))},ci=[Vt,He,st],Er=t=>ci.find(e=>e.test(t)),Tr=t=>`'${t}' is not an animatable color. Use the equivalent color code instead.`,Ar=(t,e)=>{let r=Er(t),s=Er(e);mt(!!r,Tr(t)),mt(!!s,Tr(e));let a=r.parse(t),l=s.parse(e);r===st&&(a=Cr(a),r=He),s===st&&(l=Cr(l),s=He);const o=Object.assign({},a);return i=>{for(const d in o)d!=="alpha"&&(o[d]=ui(a[d],l[d],i));return o.alpha=Nt(a.alpha,l.alpha,i),r.transform(o)}},di=t=>typeof t=="number",fi=(t,e)=>r=>e(t(r)),zr=(...t)=>t.reduce(fi);function Dr(t,e){return di(t)?r=>Nt(t,e,r):Dt.test(t)?Ar(t,e):Pr(t,e)}const Or=(t,e)=>{const r=[...t],s=r.length,a=t.map((l,o)=>Dr(l,e[o]));return l=>{for(let o=0;o<s;o++)r[o]=a[o](l);return r}},hi=(t,e)=>{const r=Object.assign(Object.assign({},t),e),s={};for(const a in r)t[a]!==void 0&&e[a]!==void 0&&(s[a]=Dr(t[a],e[a]));return a=>{for(const l in s)r[l]=s[l](a);return r}};function Ir(t){const e=Sr.parse(t),r=e.length;let s=0,a=0,l=0;for(let o=0;o<r;o++)s||typeof e[o]=="number"?s++:e[o].hue!==void 0?l++:a++;return{parsed:e,numNumbers:s,numRGB:a,numHSL:l}}const Pr=(t,e)=>{const r=Sr.createTransformer(e),s=Ir(t),a=Ir(e);return s.numHSL===a.numHSL&&s.numRGB===a.numRGB&&s.numNumbers>=a.numNumbers?zr(Or(s.parsed,a.parsed),r):(pr(!0,`Complex values '${t}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),o=>`${o>0?e:t}`)},pi=(t,e)=>r=>Nt(t,e,r);function mi(t){if(typeof t=="number")return pi;if(typeof t=="string")return Dt.test(t)?Ar:Pr;if(Array.isArray(t))return Or;if(typeof t=="object")return hi}function gi(t,e,r){const s=[],a=r||mi(t[0]),l=t.length-1;for(let o=0;o<l;o++){let i=a(t[o],t[o+1]);if(e){const d=Array.isArray(e)?e[o]:e;i=zr(d,i)}s.push(i)}return s}function vi([t,e],[r]){return s=>r(mr(t,e,s))}function bi(t,e){const r=t.length,s=r-1;return a=>{let l=0,o=!1;if(a<=t[0]?o=!0:a>=t[s]&&(l=s-1,o=!0),!o){let d=1;for(;d<r&&!(t[d]>a||d===s);d++);l=d-1}const i=mr(t[l],t[l+1],a);return e[l](i)}}function yi(t,e,{clamp:r=!0,ease:s,mixer:a}={}){const l=t.length;mt(l===e.length,"Both input and output ranges must be the same length"),mt(!s||!Array.isArray(s)||s.length===l-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),t[0]>t[l-1]&&(t=[].concat(t),e=[].concat(e),t.reverse(),e.reverse());const o=gi(e,s,a),i=l===2?vi(t,o):bi(t,o);return r?d=>i(ri(t[0],t[l-1],d)):i}class _i{constructor({valueRange:e,colorRange:r}){nt(this,"mapper");this.mapper=yi(e,r)}getColor(e){return this.mapper(e)}}function wi(t,e){return t.type==="static"?t.staticColor:t.type==="continuous"?new _i(t).getColor(e):"black"}function xi(t){return t===null?"null":t===void 0?"undefined":Array.isArray(t)?`Array(${t.length})`:t.toString()}function ki(t,e){const r={};return t.forEach(({name:s,color:a,data_field:l,aggregation:o,size:i,weight:d,formatter:v})=>{const h=ti(e,l,o);let p="";["string","number"].includes(typeof h)?p=St.default(h).format(v):p=xi(h),r[s]=n(c.Text,{sx:{fontSize:i,display:"inline"},color:wi(a,h),weight:d,children:p})}),r}function Si(t){return t.split(" ").map(e=>G(Me,{children:[e,"\xA0"]}))}function Ci(t){const r=t.replaceAll("<br />","<br/>").replaceAll(`
28
+ `,"<br/>").split("<br/>");return r.map((a,l)=>{const o=[Si(a)];return l!==r.length-1&&o.push(n("br",{})),o}).flat().filter(a=>a!==void 0)}function Qt(t){return Ci(t)}function Zt(t,e,r){const s=ki(e,r),a=/^\{(.+)\}(.*)$/;return t.split("$").map(l=>{var v;const o=a.exec(l);if(!o)return Qt(l);const i=s[o[1]];if(!i)return Qt(l);const d=(v=o[2])!=null?v:"";return G(Me,{children:[i,Qt(d)]})})}Qe.use([ft.BarChart,ft.LineChart,ft.ScatterChart,it.GridComponent,it.LegendComponent,it.TooltipComponent,xt.CanvasRenderer]),Qe.registerTransform(zn.transform.regression);function Fr(t){return t.trim().length>0}function Ei({conf:t,data:e,width:r,height:s}){const a=V.default.useMemo(()=>Hn(t,e),[t,e]);return!r||!s?null:n(kt.default,{echarts:Qe,option:a,style:{width:r,height:s}})}function Ti({conf:t,data:e,width:r,height:s}){const{ref:a,height:l}=Be.useElementSize(),{ref:o,height:i}=Be.useElementSize(),d=V.default.useMemo(()=>{const{stats:{templates:h,variables:p}}=t;return{top:Zt(h.top,p,e),bottom:Zt(h.bottom,p,e)}},[t,e]),v=Math.max(0,s-l-i);return G(c.Box,{children:[Fr(t.stats.templates.top)&&n(c.Text,{ref:a,align:"left",size:"xs",pl:"sm",children:Object.values(d.top).map(h=>h)}),n(Ei,{width:r,height:v,data:e,conf:t}),Fr(t.stats.templates.bottom)&&n(c.Text,{ref:o,align:"left",size:"xs",pl:"sm",children:Object.values(d.bottom).map(h=>h)})]})}var et=(t=>(t.string="string",t.number="number",t.eloc="eloc",t.percentage="percentage",t))(et||{});function Ai({value:t}){return n(c.Text,{component:"span",children:t})}function zi({value:t}){return n(c.Text,{component:"span",children:t})}function Di({value:t}){const e=St.default(t).format({thousandSeparated:!0});return n(c.Text,{component:"span",children:e})}function Oi({value:t}){const e=St.default(t).format({output:"percent",mantissa:3});return n(c.Text,{component:"span",children:e})}function Ii({value:t,type:e}){switch(e){case et.string:return n(Ai,{value:t});case et.eloc:return n(zi,{value:t});case et.number:return n(Di,{value:t});case et.percentage:return n(Oi,{value:t})}}function Pi({conf:t,data:e=[],width:r,height:s}){const{id_field:a,use_raw_columns:l,columns:o,...i}=t,d=V.default.useMemo(()=>l?Object.keys(e==null?void 0:e[0]):o.map(h=>h.label),[l,o,e]),v=V.default.useMemo(()=>l?Object.keys(e==null?void 0:e[0]).map(h=>({label:h,value_field:h,value_type:et.string})):o,[l,o,e]);return G(c.Table,{sx:{maxHeight:s},...i,children:[n("thead",{children:n("tr",{children:d.map(h=>n("th",{children:h},h))})}),n("tbody",{children:e.slice(0,30).map((h,p)=>n("tr",{children:v.map(({value_field:b,value_type:m})=>n("td",{children:n(c.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace",fontSize:i.fontSize}},children:n(Ii,{value:h[b],type:m})})},`${b}--${h[b]}`))},a?h[a]:`row-${p}`))}),e.length>100&&n("tfoot",{children:n("tr",{children:n("td",{colSpan:d.length,children:n(c.Text,{color:"red",size:"sm",children:"Showing only the first 30 rows to avoid causing slow performance"})})})})]})}Qe.use([it.GridComponent,it.VisualMapComponent,it.LegendComponent,it.TooltipComponent,xt.CanvasRenderer]);function Fi({conf:t,data:e,width:r,height:s}){const{x_axis_data_key:a,y_axis_data_key:l,z_axis_data_key:o,...i}=t,d=V.default.useMemo(()=>ye.default.minBy(e,p=>p[o])[o],[e,o]),v=V.default.useMemo(()=>ye.default.maxBy(e,p=>p[o])[o],[e,o]),h={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:d,max:v,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:{type:"value"},yAxis3D:{type:"value"},zAxis3D:{type:"value"},grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},...i,series:[{type:"bar3D",wireframe:{},data:e.map(p=>[p[a],p[l],p[o]])}]};return n(kt.default,{echarts:Qe,option:h,style:{width:r,height:s}})}const $s="";Qe.use([ft.PieChart,xt.CanvasRenderer]);const Ri={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
29
+ {percentage|{d}%}`,minMargin:5,edgeDistance:10,lineHeight:15,rich:{percentage:{color:"#999"}},margin:20},labelLine:{length:15,length2:0,maxSurfaceAngle:80,showAbove:!0},top:10,bottom:10,left:10,right:10}};function Li({conf:t,data:e,width:r,height:s}){const{label_field:a="name",value_field:l="value",...o}=t,i=V.default.useMemo(()=>e.map(h=>({name:h[a],value:Number(h[l])})),[e,a,l]),d=V.default.useMemo(()=>({series:{labelLayout:function(h){const p=h.labelRect.x<r/2,b=h.labelLinePoints;return b[2][0]=p?h.labelRect.x:h.labelRect.x+h.labelRect.width,{labelLinePoints:b}}}}),[r]),v=ye.default.merge({},Ri,d,o,{series:{data:i}});return n(kt.default,{echarts:Qe,option:v,style:{width:r,height:s}})}function Bi({conf:{template:t,variables:e,align:r},data:s}){const a=V.default.useMemo(()=>Zt(t,e,s),[t,e,s]);return n(c.Text,{align:r,children:Object.values(a).map(l=>l)})}function Mi({conf:t,width:e,height:r}){return!e||!r?null:n(jt.default,{readOnly:!0,value:t.content,onChange:ye.default.noop,sx:{border:"none"}})}function Rr(t,e,r,s){const a={width:t,height:e,data:r,conf:s.conf};switch(s.type){case"sunburst":return n(Kn,{...a});case"cartesian":return n(Ti,{...a});case"table":return n(Pi,{...a});case"stats":return n(Bi,{...a});case"rich-text":return n(Mi,{...a});case"bar-3d":return n(Fi,{...a});case"pie":return n(Li,{...a});default:return null}}const ji=["rich-text"],Lr=Ce.observer(function({viz:e,data:r,loading:s}){const{ref:a,width:l,height:o}=Be.useElementSize(),i=V.default.useMemo(()=>!Array.isArray(r)||r.length===0,[r]);return ji.includes(e.type)?n("div",{className:"viz-root",ref:a,children:n(Tt,{children:Rr(l,o,r,e)})}):s?n("div",{className:"viz-root",ref:a,children:n(c.LoadingOverlay,{visible:s,exitTransitionDuration:0})}):G("div",{className:"viz-root",ref:a,children:[i&&n(c.Text,{color:"gray",align:"center",children:"nothing to show"}),!i&&n(Tt,{children:Rr(l,o,r,e)})]})});function qi({}){const{data:t,loading:e,viz:r}=V.default.useContext(Ue);return n(Lr,{viz:r,data:t,loading:e})}function Ni({label:t,required:e,value:r,onChange:s,data:a,sx:l},o){const i=V.default.useMemo(()=>!Array.isArray(a)||a.length===0?[]:Object.keys(a[0]).map(v=>({label:v,value:v})),[a]);return n(c.Select,{ref:o,label:t,data:i,value:r,onChange:s,required:e,sx:l})}const je=V.default.forwardRef(Ni);function Gi({conf:t,setConf:e,data:r}){const s=ye.default.assign({},{x_axis_data_key:"x",y_axis_data_key:"y",z_axis_data_key:"z",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}},t),{control:a,handleSubmit:l,formState:o}=be.useForm({defaultValues:s});return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:l(e),children:[n(c.Text,{children:"X Axis"}),G(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(be.Controller,{name:"x_axis_data_key",control:a,render:({field:i})=>n(je,{label:"Data Field",required:!0,data:r,...i})}),n(be.Controller,{name:"xAxis3D.name",control:a,render:({field:i})=>n(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...i})})]}),n(c.Text,{mt:"lg",children:"Y Axis"}),G(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(be.Controller,{name:"y_axis_data_key",control:a,render:({field:i})=>n(je,{label:"Data Field",required:!0,data:r,...i})}),n(be.Controller,{name:"yAxis3D.name",control:a,render:({field:i})=>n(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...i})})]}),n(c.Text,{mt:"lg",children:"Z Axis"}),G(c.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(be.Controller,{name:"z_axis_data_key",control:a,render:({field:i})=>n(je,{label:"Data Field",required:!0,data:r,...i})}),n(be.Controller,{name:"zAxis3D.name",control:a,render:({field:i})=>n(c.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...i})})]}),n(c.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:G(c.Button,{color:"blue",type:"submit",children:[n(pe.DeviceFloppy,{size:20}),n(c.Text,{ml:"md",children:"Save"})]})})]})})}function Ui({value:t,onChange:e},r){const s=c.useMantineTheme(),a=V.default.useMemo(()=>Object.entries(s.colors).map(([o,i])=>({label:o,value:i[6]})),[s]),l=V.default.useMemo(()=>a.some(o=>o.value===t),[t,a]);return G(c.Group,{position:"apart",spacing:4,children:[n(c.TextInput,{placeholder:"Set any color",value:l?"":t,onChange:o=>e(o.currentTarget.value),rightSection:n(c.ColorSwatch,{color:l?"transparent":t,radius:4}),variant:l?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),n(c.Text,{sx:{flexGrow:0},children:"or"}),n(c.Select,{data:a,value:t,onChange:e,variant:l?"default":"filled",placeholder:"Pick a theme color",icon:n(c.ColorSwatch,{color:l?t:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const Yt=V.default.forwardRef(Ui);function Wi({control:t,index:e}){return G(c.Group,{grow:!0,align:"top",children:[n(be.Controller,{name:`series.${e}.stack`,control:t,render:({field:r})=>n(c.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...r})}),n(be.Controller,{name:`series.${e}.barWidth`,control:t,render:({field:r})=>n(c.TextInput,{label:"Bar Width",sx:{flexGrow:1},...r})})]})}const Vi=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function $i({control:t,index:e}){return G(c.Group,{grow:!0,align:"center",children:[n(be.Controller,{name:`series.${e}.step`,control:t,render:({field:r})=>n(c.Select,{label:"Step",data:Vi,sx:{flexGrow:1,maxWidth:"48%"},...r,value:String(r.value),onChange:s=>{const a=s==="false"?!1:s;r.onChange(a)}})}),n(be.Controller,{name:`series.${e}.smooth`,control:t,render:({field:r})=>n(c.Box,{sx:{flexGrow:1},children:n(c.Switch,{label:"Smooth Line",checked:r.value,onChange:s=>r.onChange(s.currentTarget.checked)})})})]})}const Qi=Array.from(new Array(9),(t,e)=>({label:String(e+1),value:e+1}));function Zi({control:t,index:e}){return n(c.Group,{grow:!0,align:"center",children:n(be.Controller,{name:`series.${e}.symbolSize`,control:t,render:({field:r})=>G(c.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[n(c.Text,{size:"sm",children:"Size"}),n(c.Slider,{min:1,max:10,marks:Qi,...r,sx:{width:"100%"}})]})})})}const Yi=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function Ki({control:t,index:e,remove:r,seriesItem:s,yAxisOptions:a,data:l}){const o=s.type;return G(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[n(c.Stack,{children:n(be.Controller,{name:`series.${e}.type`,control:t,render:({field:i})=>n(c.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...i})})}),n(be.Controller,{name:`series.${e}.name`,control:t,render:({field:i})=>n(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),G(c.Group,{grow:!0,noWrap:!0,children:[n(be.Controller,{name:`series.${e}.y_axis_data_key`,control:t,render:({field:i})=>n(je,{label:"Value Field",required:!0,data:l,sx:{flex:1},...i})}),n(be.Controller,{name:`series.${e}.yAxisIndex`,control:t,render:({field:{value:i,onChange:d,...v}})=>{var h;return n(c.Select,{label:"Y Axis",data:a,disabled:a.length===0,...v,value:(h=i==null?void 0:i.toString())!=null?h:"",onChange:p=>{if(!p){d(0);return}d(Number(p))},sx:{flex:1}})}})]}),o==="line"&&n($i,{index:e,control:t}),o==="bar"&&n(Wi,{index:e,control:t}),o==="scatter"&&n(Zi,{index:e,control:t}),n(be.Controller,{name:`series.${e}.label_position`,control:t,render:({field:i})=>n(c.Select,{label:"Label Position",data:Yi,...i})}),G(c.Stack,{spacing:4,children:[n(c.Text,{size:"sm",children:"Color"}),n(be.Controller,{name:`series.${e}.color`,control:t,render:({field:i})=>n(Yt,{...i})})]}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(e),sx:{position:"absolute",top:15,right:5},children:n(pe.Trash,{size:16})})]},e)}function Xi({control:t,watch:e,getValues:r,data:s}){const{fields:a,append:l,remove:o}=be.useFieldArray({control:t,name:"series"}),i=e("series"),d=a.map((p,b)=>({...p,...i[b]})),v=()=>l({type:"bar",name:Be.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1}),h=V.default.useMemo(()=>r().y_axes.map(({name:p},b)=>({label:p,value:b.toString()})),[r]);return G(c.Stack,{children:[d.map((p,b)=>n(Ki,{control:t,index:b,remove:o,seriesItem:p,yAxisOptions:h,data:s})),n(c.Group,{position:"center",mt:"xs",children:n(c.Button,{onClick:v,children:"Add a Series"})})]})}const Br={mantissa:0,output:"number"};function Ji({value:t,onChange:e},r){const s=o=>{e({...t,output:o})},a=o=>{const i=o===0?!1:t.trimMantissa;e({...t,mantissa:o,trimMantissa:i})},l=o=>{e({...t,trimMantissa:o.currentTarget.checked})};return n(c.Stack,{ref:r,children:G(c.Group,{grow:!0,children:[n(c.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:t.output,onChange:s}),n(c.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:t.mantissa,onChange:a}),n(c.Switch,{label:"Trim mantissa",checked:t.trimMantissa,onChange:l,disabled:t.mantissa===0})]})})}const Mr=V.default.forwardRef(Ji);function Hi({control:t,index:e,remove:r}){return G(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[n(c.Group,{grow:!0,noWrap:!0,children:n(be.Controller,{name:`y_axes.${e}.name`,control:t,render:({field:s})=>n(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})})}),n(c.Stack,{children:n(be.Controller,{name:`y_axes.${e}.label_formatter`,control:t,render:({field:s})=>n(Mr,{...s})})}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(e),sx:{position:"absolute",top:15,right:5},disabled:e===0,children:n(pe.Trash,{size:16})})]},e)}function ea({control:t,watch:e}){const{fields:r,append:s,remove:a}=be.useFieldArray({control:t,name:"y_axes"}),l=e("y_axes"),o=r.map((d,v)=>({...d,...l[v]})),i=()=>s({name:"",label_formatter:Br});return G(c.Stack,{children:[o.map((d,v)=>n(Hi,{control:t,index:v,remove:a})),n(c.Group,{position:"center",mt:"xs",children:n(c.Button,{onClick:i,children:"Add a Y Axis"})})]})}const ta=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function ra({control:t,regressionItem:e,index:r,remove:s,yAxisOptions:a,data:l}){const o=e.transform.config.method;return G(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[n(be.Controller,{name:`regressions.${r}.name`,control:t,render:({field:i})=>n(c.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})}),G(c.Group,{grow:!0,noWrap:!0,children:[n(be.Controller,{name:`regressions.${r}.y_axis_data_key`,control:t,render:({field:i})=>n(je,{label:"Value Field",required:!0,data:l,sx:{flex:1},...i})}),n(be.Controller,{name:`regressions.${r}.plot.yAxisIndex`,control:t,render:({field:{value:i,onChange:d,...v}})=>{var h;return n(c.Select,{label:"Y Axis",data:a,disabled:a.length===0,...v,value:(h=i==null?void 0:i.toString())!=null?h:"",onChange:p=>{if(!p){d(0);return}d(Number(p))},sx:{flex:1}})}})]}),G(c.Group,{grow:!0,noWrap:!0,children:[n(be.Controller,{name:`regressions.${r}.transform.config.method`,control:t,render:({field:i})=>n(c.Select,{label:"Method",data:ta,sx:{flex:1},...i})}),o==="polynomial"&&n(be.Controller,{name:`regressions.${r}.transform.config.order`,control:t,render:({field:i})=>n(c.NumberInput,{label:"Order",sx:{flex:1},...i})})]}),G(c.Stack,{spacing:4,children:[n(c.Text,{size:"sm",children:"Color"}),n(be.Controller,{name:`regressions.${r}.plot.color`,control:t,render:({field:i})=>n(Yt,{...i})})]}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>s(r),sx:{position:"absolute",top:15,right:5},children:n(pe.Trash,{size:16})})]},r)}function na({control:t,watch:e,getValues:r,data:s}){const{fields:a,append:l,remove:o}=be.useFieldArray({control:t,name:"regressions"}),i=e("regressions"),d=a.map((p,b)=>({...p,...i[b]})),v=V.default.useMemo(()=>r().y_axes.map(({name:p},b)=>({label:p,value:b.toString()})),[r]),h=()=>l({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return G(c.Stack,{children:[d.map((p,b)=>n(ra,{regressionItem:p,control:t,index:b,remove:o,yAxisOptions:v,data:s})),n(c.Group,{position:"center",mt:"xs",children:n(c.Button,{onClick:h,children:"Add a Regression Line"})})]})}const ia=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"}];function aa({label:t,value:e,onChange:r},s){return n(c.Select,{ref:s,label:t,data:ia,value:e,onChange:r})}const sa=V.default.forwardRef(aa);function oa({label:t,value:e,onChange:r},s){const[a,l]=V.default.useState(Array.isArray(e)?[...e]:[]),o=V.default.useCallback(()=>{l(b=>[...b,""])},[l]),i=V.default.useCallback(b=>{l(m=>(m.splice(b,1),[...m]))},[l]),d=V.default.useMemo(()=>!ye.default.isEqual(a,e),[a,e]),v=()=>{r(a.map(b=>b.toString()))},h=c.useMantineTheme(),p=V.default.useMemo(()=>Object.entries(h.colors).map(([b,m])=>m[6]),[h]);return G(Me,{children:[G(c.Group,{position:"left",ref:s,children:[n(c.Text,{children:t}),n(c.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:v,children:n(pe.DeviceFloppy,{size:20})})]}),G(c.Group,{children:[a.map((b,m)=>n(c.ColorInput,{value:b,onChange:E=>{l(g=>(g.splice(m,1,E),[...g]))},swatches:p,rightSection:n(c.ActionIcon,{onClick:()=>i(m),color:"red",children:n(pe.Trash,{size:14})}),sx:{width:"45%"}})),n(c.ActionIcon,{onClick:o,color:"blue",variant:"outline",children:n(pe.PlaylistAdd,{size:20})})]})]})}const la=V.default.forwardRef(oa),Ot=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function ua({label:t,value:e,onChange:r},s){var o,i;const[a,l]=V.default.useState((i=(o=Ot.find(d=>d.label===e))==null?void 0:o.value)!=null?i:Ot[0].value);return V.default.useEffect(()=>{const d=Ot.find(v=>v.value===a);d&&r(d.label)},[a]),G(c.Stack,{spacing:0,mt:"sm",mb:"lg",children:[n(c.Text,{size:"sm",children:t}),n(c.Slider,{label:null,marks:Ot,value:a,onChange:l,step:25,placeholder:"Pick a font size",ref:s})]})}const ca=V.default.forwardRef(ua);function da({label:t,value:e,onChange:r},s){const[a,l]=V.default.useState(Array.isArray(e)?[...e]:[]),o=V.default.useCallback(()=>{l(h=>[...h,""])},[l]),i=V.default.useCallback(h=>{l(p=>(p.splice(h,1),[...p]))},[l]),d=V.default.useMemo(()=>!ye.default.isEqual(a,e),[a,e]),v=()=>{r(a.map(h=>h.toString()))};return G(Me,{children:[G(c.Group,{position:"left",ref:s,children:[n(c.Text,{children:t}),n(c.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:v,children:n(pe.DeviceFloppy,{size:20})})]}),G(c.Group,{children:[a.map((h,p)=>n(c.TextInput,{value:h,onChange:b=>{const m=b.currentTarget.value;l(E=>(E.splice(p,1,m),[...E]))},rightSection:n(c.ActionIcon,{onClick:()=>i(p),color:"red",children:n(pe.Trash,{size:14})}),sx:{width:"45%"}})),n(c.ActionIcon,{onClick:o,color:"blue",variant:"outline",children:n(pe.PlaylistAdd,{size:20})})]})]})}const fa=V.default.forwardRef(da);function jr(){return{name:Be.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}}const Kt=V.default.forwardRef(function({value:e,onChange:r,...s},a){return n(c.TextInput,{ref:a,value:e,onChange:r,...s})}),qr=V.default.forwardRef(function({value:e,onChange:r,data:s},a){const l=e.color.type,o=(i,d)=>{const v=ye.default.cloneDeep(e);ye.default.set(v,i,d),r(v)};return G(c.Box,{px:"sm",py:"md",children:[n(c.Text,{weight:"bold",pb:0,children:e.name}),n(c.Divider,{my:"xs",label:"Data",labelPosition:"center"}),G(c.Group,{grow:!0,noWrap:!0,children:[n(c.TextInput,{label:"Name",required:!0,value:e.name,onChange:i=>o("name",i.currentTarget.value)}),n(je,{label:"Data Field",required:!0,data:s,value:e.data_field,onChange:i=>o("data_field",i)}),n(sa,{label:"Aggregation",value:e.aggregation,onChange:i=>o("aggregation",i)})]}),n(Mr,{value:e.formatter,onChange:i=>o("formatter",i)}),n(c.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),n(c.Stack,{children:n(c.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:e.size,onChange:i=>o("size",i.currentTarget.value)})}),n(c.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:n(ca,{label:"Font Weight",value:e.weight,onChange:i=>o("weight",i)})}),n(c.Divider,{my:"xs",label:"Style",labelPosition:"center"}),G(c.Stack,{children:[n(c.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:e.color.type,onChange:i=>o("color.type",i)}),l==="static"&&n(Yt,{value:e.color.staticColor,onChange:i=>o("color.staticColor",i)}),l==="continuous"&&G(Me,{children:[n(fa,{label:"Value Range",value:e.color.valueRange,onChange:i=>o("color.valueRange",i)}),n(la,{label:"Color Range",value:e.color.colorRange,onChange:i=>o("color.colorRange",i)})]})]})]})});function ha({control:t,index:e,remove:r,data:s}){return G(c.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[n(be.Controller,{name:`stats.variables.${e}`,control:t,render:({field:a})=>n(qr,{data:s,...a})}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(e),sx:{position:"absolute",top:15,right:5},children:n(pe.Trash,{size:16})})]},e)}function pa({control:t,watch:e,data:r}){const{fields:s,append:a,remove:l}=be.useFieldArray({control:t,name:"stats.variables"});e("stats.templates");const o=e("stats.variables"),i=s.map((v,h)=>({...v,...o[h]})),d=()=>a(jr());return G(c.Stack,{children:[G(c.Stack,{spacing:0,children:[n(be.Controller,{name:"stats.templates.top",control:t,render:({field:v})=>n(Kt,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...v})}),n(be.Controller,{name:"stats.templates.bottom",control:t,render:({field:v})=>n(Kt,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...v})})]}),i.map((v,h)=>n(ha,{control:t,index:h,remove:l,data:r})),n(c.Group,{position:"center",mt:"xs",children:n(c.Button,{onClick:d,children:"Add a Variable"})})]})}function ma(t){function e({type:r,name:s,showSymbol:a,symbolSize:l=5,y_axis_data_key:o="value",yAxisIndex:i=0,label_position:d="top",stack:v="1",color:h="black",barWidth:p="30",smooth:b=!1,step:m=!1}){return{type:r,name:s,showSymbol:a,symbolSize:l,y_axis_data_key:o,yAxisIndex:i,label_position:d,stack:v,color:h,barWidth:p,smooth:b,step:m}}return t.map(e)}function ga(t){return t||{templates:{top:"",bottom:""},variables:[]}}function va({conf:t,setConf:e,data:r}){const{series:s,y_axes:a,...l}=t,o=V.default.useMemo(()=>{const{x_axis_name:m="",stats:E,...g}=l;return{series:ma(s!=null?s:[]),x_axis_name:m,y_axes:a!=null?a:[{name:"Y Axis",label_formatter:Br}],stats:ga(E),...g}},[s,l]);V.default.useEffect(()=>{!ye.default.isEqual(t,o)&&e(o)},[t,o]);const{control:i,handleSubmit:d,watch:v,getValues:h}=be.useForm({defaultValues:o});v(["x_axis_data_key","x_axis_name"]);const p=h(),b=V.default.useMemo(()=>!ye.default.isEqual(p,t),[p,t]);return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:d(e),children:[G(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[n(c.Text,{children:"Chart Config"}),n(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!b,children:n(pe.DeviceFloppy,{size:20})})]}),G(c.Accordion,{multiple:!0,value:["X Axis","Y Axes"],children:[n(c.Accordion.Item,{value:"X Axis",children:G(c.Group,{grow:!0,noWrap:!0,children:[n(be.Controller,{name:"x_axis_data_key",control:i,render:({field:m})=>n(je,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...m})}),n(be.Controller,{name:"x_axis_name",control:i,render:({field:m})=>n(c.TextInput,{label:"X Axis Name",sx:{flex:1},...m})})]})}),n(c.Accordion.Item,{value:"Y Axes",children:n(ea,{control:i,watch:v})}),n(c.Accordion.Item,{value:"Series",children:n(Xi,{control:i,watch:v,getValues:h,data:r})}),n(c.Accordion.Item,{value:"Regression Lines",children:n(na,{control:i,watch:v,getValues:h,data:r})}),n(c.Accordion.Item,{value:"Stats",children:n(pa,{control:i,watch:v,data:r})})]})]})})}function ba({conf:{label_field:t,value_field:e},setConf:r,data:s}){const a=Mt.useForm({initialValues:{label_field:t,value_field:e}});return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:a.onSubmit(r),children:[G(c.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[n(c.Text,{children:"Pie Config"}),n(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:n(pe.DeviceFloppy,{size:20})})]}),G(c.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[n(je,{label:"Label Field",required:!0,data:s,...a.getInputProps("label_field")}),n(je,{label:"Value Field",required:!0,data:s,...a.getInputProps("value_field")})]})]})})}function ya({conf:t,setConf:e}){const r=V.default.useMemo(()=>{const{content:v=""}=t;return{content:v}},[t]);V.default.useEffect(()=>{!ye.default.isEqual(t,r)&&e(r)},[t,r]);const{control:s,handleSubmit:a,watch:l,getValues:o}=be.useForm({defaultValues:r});l("content");const i=o(),d=V.default.useMemo(()=>!ye.default.isEqual(i,t),[i,t]);return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:a(e),children:[G(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[n(c.Text,{children:"Content"}),n(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!d,children:n(pe.DeviceFloppy,{size:20})})]}),n(be.Controller,{name:"content",control:s,render:({field:v})=>n(jt.default,{sx:{flex:1},...v})})]})})}function _a(t){if("variables"in t)return t;const{align:e,size:r,weight:s,color:a,content:{prefix:l="",data_field:o="value",formatter:i={output:"number",mantissa:0},postfix:d=""}={}}=t;return{align:e,template:`${l} \${value} ${d}`,variables:[{name:"value",data_field:o,aggregation:"none",formatter:i,color:a,weight:s,size:r}]}}function wa({control:t,index:e,remove:r,data:s}){return G(c.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[n(be.Controller,{name:`variables.${e}`,control:t,render:({field:a})=>n(qr,{data:s,...a})}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(e),sx:{position:"absolute",top:15,right:5},children:n(pe.Trash,{size:16})})]},e)}function xa({control:t,watch:e,data:r}){const{fields:s,append:a,remove:l}=be.useFieldArray({control:t,name:"variables"}),o=e("variables"),i=s.map((v,h)=>({...v,...o[h]})),d=()=>a(jr());return G(c.Stack,{children:[i.map((v,h)=>n(wa,{control:t,index:h,remove:l,data:r})),n(c.Group,{position:"center",mt:"xs",children:n(c.Button,{onClick:d,children:"Add a Variable"})})]})}function ka(){return{align:"center",template:"The variable ${value} is defined in Variables section",variables:[{name:"value",size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}]}}function Sa({conf:t,setConf:e,data:r}){const s=V.default.useMemo(()=>{const{align:h,template:p="",variables:b=[]}=_a(t);return h?{variables:b,template:p,align:h}:ka()},[t]);V.default.useEffect(()=>{!ye.default.isEqual(t,s)&&e(s)},[t,s]);const{control:a,handleSubmit:l,watch:o,getValues:i}=be.useForm({defaultValues:s});o(["variables","template"]);const d=i(),v=V.default.useMemo(()=>!ye.default.isEqual(d,t),[d,t]);return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:l(e),children:[G(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[n(c.Text,{weight:500,children:"Stats Configurations"}),n(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:n(pe.DeviceFloppy,{size:20})})]}),n(be.Controller,{name:"template",control:a,render:({field:h})=>n(Kt,{label:"Template",py:"md",sx:{flexGrow:1},...h})}),n(c.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),n(xa,{control:a,watch:o,data:r})]})})}function Ca({conf:{label_field:t,value_field:e},setConf:r,data:s}){const a=Mt.useForm({initialValues:{label_field:t,value_field:e}});return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:a.onSubmit(r),children:[G(c.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[n(c.Text,{children:"Sunburst Config"}),n(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:n(pe.DeviceFloppy,{size:20})})]}),G(c.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[n(je,{label:"Label Field",required:!0,data:s,...a.getInputProps("label_field")}),n(je,{label:"Value Field",required:!0,data:s,...a.getInputProps("value_field")})]})]})})}const Ea=Object.values(et).map(t=>({label:t,value:t}));function Ta({label:t,value:e,onChange:r,sx:s}){return n(c.Select,{label:t,data:Ea,value:e,onChange:r,sx:s})}function Aa({conf:{columns:t,...e},setConf:r,data:s}){const a=Mt.useForm({initialValues:{id_field:"id",use_raw_columns:!0,columns:t!=null?t:[],fontSize:"sm",horizontalSpacing:"sm",verticalSpacing:"sm",striped:!1,highlightOnHover:!1,...e}}),l=()=>a.insertListItem("columns",{label:Be.randomId(),value_field:"value",value_type:et.string});return n(c.Stack,{mt:"md",spacing:"xs",children:G("form",{onSubmit:a.onSubmit(r),children:[G(c.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[n(c.Text,{children:"Table Config"}),n(c.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:n(pe.DeviceFloppy,{size:20})})]}),G(c.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[n(je,{label:"ID Field",required:!0,data:s,...a.getInputProps("id_field")}),G(c.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[n(c.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("horizontalSpacing")}),n(c.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("verticalSpacing")})]}),n(c.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:n(c.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("fontSize")})}),G(c.Stack,{children:[n(c.Text,{children:"Other"}),G(c.Group,{position:"apart",grow:!0,children:[n(c.Switch,{label:"Striped",...a.getInputProps("striped",{type:"checkbox"})}),n(c.Switch,{label:"Highlight on hover",...a.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),G(c.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[n(c.Switch,{label:"Use Original Data Columns",...a.getInputProps("use_raw_columns",{type:"checkbox"})}),!a.values.use_raw_columns&&G(c.Stack,{children:[n(c.Text,{mt:"xl",mb:0,children:"Custom Columns"}),a.values.columns.map((o,i)=>G(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[G(c.Group,{position:"apart",grow:!0,children:[n(c.TextInput,{label:"Label",required:!0,sx:{flex:1},...a.getInputProps(`columns.${i}.label`)}),n(je,{label:"Value Field",required:!0,data:s,...a.getInputProps(`columns.${i}.value_field`)}),n(Ta,{label:"Value Type",sx:{flex:1},...a.getInputProps(`columns.${i}.value_type`)})]}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>a.removeListItem("columns",i),sx:{position:"absolute",top:15,right:5},children:n(pe.Trash,{size:16})})]},i)),n(c.Group,{position:"center",mt:"xs",children:n(c.Button,{onClick:l,children:"Add a Column"})})]})]}),n(c.Text,{weight:500,mb:"md",children:"Current Configuration:"}),n(at.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(a.values,null,2)})]})})}const Xt=[{value:"stats",label:"Stats",Panel:Sa},{value:"rich-text",label:"Rich Text",Panel:ya},{value:"table",label:"Table",Panel:Aa},{value:"sunburst",label:"Sunburst",Panel:Ca},{value:"bar-3d",label:"Bar Chart (3D)",Panel:Gi},{value:"cartesian",label:"Cartesian Chart",Panel:va},{value:"pie",label:"Pie Chart",Panel:ba}];function za(){const{data:t,viz:e,setViz:r}=V.default.useContext(Ue),[s,a]=Be.useInputState(e.type),l=e.type!==s,o=V.default.useCallback(()=>{!l||r(h=>({...h,type:s}))},[l,s]),i=h=>{r(p=>({...p,conf:h}))},d=h=>{try{i(JSON.parse(h))}catch(p){console.error(p)}},v=V.default.useMemo(()=>{var h;return(h=Xt.find(p=>p.value===s))==null?void 0:h.Panel},[s,Xt]);return G(Me,{children:[n(c.Select,{label:"Visualization",value:s,onChange:a,data:Xt,rightSection:n(c.ActionIcon,{disabled:!l,onClick:o,children:n(pe.DeviceFloppy,{size:20})})}),v&&n(v,{conf:e.conf,setConf:i,data:t}),!v&&n(c.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(e.conf,null,2),onChange:d})]})}function Da({}){return G(c.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[n(c.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,overflow:"scroll",height:"100%"},children:n(za,{})}),n(c.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:n(qi,{})})]})}const Oa=Ce.observer(function({opened:e,close:r}){const{freezeLayout:s}=V.default.useContext(Ve),{data:a,loading:l,viz:o,title:i}=V.default.useContext(Ue);return V.default.useEffect(()=>{s(e)},[e]),n(c.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:i,trapFocus:!0,onDragStart:d=>{d.stopPropagation()},children:n(c.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",minHeight:"unset",maxHeight:"100%",width:"100%",padding:"16px"}},padding:"md",children:G(c.Tabs,{defaultValue:"Visualization",className:"panel-settings-tabs",children:[G(c.Tabs.List,{children:[n(c.Tabs.Tab,{value:"Data",children:"Data"}),n(c.Tabs.Tab,{value:"Panel",children:"Panel"}),n(c.Tabs.Tab,{value:"Visualization",children:"Visualization"})]}),G(c.Tabs.Panel,{value:"Data",pt:"sm",children:[n(c.LoadingOverlay,{visible:l,exitTransitionDuration:0}),n(Zn,{})]}),n(c.Tabs.Panel,{value:"Panel",pt:"sm",children:n($n,{})}),n(c.Tabs.Panel,{value:"Visualization",pt:"sm",children:n(Da,{})})]})})})}),Qs="",Ia=Ce.observer(function({}){const e=Re(),r=Bt.useModals(),[s,a]=V.default.useState(!1),l=()=>a(!0),o=()=>a(!1),{id:i,title:d,queryID:v}=V.default.useContext(Ue),{inEditMode:h}=V.default.useContext(Ve),p=()=>e.queries.refetchDataByQueryID(v),{duplidatePanel:b,removePanelByID:m,viewPanelInFullScreen:E,inFullScreen:g}=V.default.useContext(Ct),C=V.default.useCallback(()=>{b(i)},[b,i]),_=()=>r.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>m(i)}),T=V.default.useCallback(()=>{E(i)},[i,E]);return G(c.Box,{sx:{position:"relative"},children:[n(c.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:n(fr,{})}),n(c.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:G(c.Menu,{children:[n(c.Menu.Target,{children:n(c.Text,{lineClamp:1,weight:"bold",children:d})}),G(c.Menu.Dropdown,{children:[n(c.Menu.Item,{onClick:p,icon:n(pe.Refresh,{size:14}),children:"Refresh"}),n(c.Menu.Item,{onClick:()=>e.queries.downloadDataByQueryID(v),icon:n(pe.Download,{size:14}),children:"Download Data"}),!g&&n(c.Menu.Item,{onClick:T,icon:n(pe.ArrowsMaximize,{size:14}),children:"Full Screen"}),h&&G(Me,{children:[n(c.Divider,{label:"Edit",labelPosition:"center"}),n(c.Menu.Item,{onClick:l,icon:n(pe.Settings,{size:14}),children:"Settings"}),n(c.Menu.Item,{onClick:C,icon:n(pe.Copy,{size:14}),children:"Duplicate"}),n(c.Menu.Item,{color:"red",onClick:_,icon:n(pe.Trash,{size:14}),children:"Delete"})]})]})]})}),h&&n(Oa,{opened:s,close:o})]})}),Zs="",It=Ce.observer(function({viz:e,queryID:r,title:s,description:a,update:l,layout:o,id:i}){const d=Re(),[v,h]=V.default.useState(s),[p,b]=V.default.useState(a),[m,E]=V.default.useState(r),[g,C]=V.default.useState(e);V.default.useEffect(()=>{l==null||l({id:i,layout:o,title:v,description:p,queryID:m,viz:g})},[v,p,g,i,o,m]);const{data:_,state:T,error:I}=d.getDataStuffByID(m),L=T==="loading";return n(Ue.Provider,{value:{id:i,data:_,loading:L,title:v,setTitle:h,description:p,setDescription:b,queryID:m,setQueryID:E,viz:g,setViz:C},children:G(c.Container,{className:"panel-root",children:[n(Ia,{}),n(Lr,{viz:g,data:_,loading:L})]})})}),Ys="",Pa=Lt.WidthProvider(lr.default),Nr=Ce.observer(function({panels:e,setPanels:r,className:s="layout",rowHeight:a=10,isDraggable:l,isResizable:o}){const i=V.default.useCallback(d=>{const v=new Map;d.forEach(({i:p,...b})=>{v.set(p,b)});const h=e.map(p=>({...p,layout:v.get(p.id)}));r(h)},[e,r]);return n(Pa,{onLayoutChange:i,className:`dashboard-layout ${s}`,rowHeight:a,isDraggable:l,isResizable:o,children:e.map(({id:d,...v},h)=>n("div",{"data-grid":v.layout,children:n(It,{id:d,...v,update:p=>{r(b=>(b.splice(h,1,p),[...b]))}})},d))})});function Jt(t,e){return G(c.Text,{size:"xs",sx:{svg:{verticalAlign:"bottom"}},children:[t," ",e]})}function Fa({mode:t,setMode:e}){return n(c.SegmentedControl,{size:"xs",value:t,onChange:e,data:[{label:Jt(n(pe.PlayerPlay,{size:20}),"Use"),value:Ge.Use},{label:Jt(n(pe.Resize,{size:20}),"Edit Layout"),value:Ge.Layout},{label:Jt(n(pe.Paint,{size:20}),"Edit Content"),value:Ge.Edit}]})}const Ra=`
12
30
  -- You may reference global variables in SQL or VizConfig.
13
31
  SELECT *
14
32
  FROM commit
@@ -20,4 +38,22 @@ WHERE
20
38
  -- SQL snippets
21
39
  AND \${sql_snippets.author_email_condition}
22
40
  \${sql_snippets.order_by_clause}
23
- `;function Ct({showSQLSnippets:e=!0,sx:n={}}){const r=c.default.useContext(E),i=c.default.useContext(U),{sqlSnippets:a}=c.default.useContext(L),o=c.default.useMemo(()=>{const u={context:r,filters:i};if(e){const s=a.reduce((p,m)=>(p[m.key]=m.value,p),{});u.sql_snippets=s}return JSON.stringify(u,null,2)},[r,a,i,e]);return f(l.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...n},children:[t(l.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(l.Text,{weight:500,children:"Global Variables"})}),f(l.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[t(X.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:Ql}),t(l.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),t(X.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:o})]})]})}function vt({value:e}){const n=c.default.useContext(E),r=c.default.useContext(U),i=c.default.useContext(L),a=c.default.useMemo(()=>Et(e,n,i,r),[e,n,i,r]);return t(X.Prism,{language:"sql",colorScheme:"light",children:a})}function jl({value:e,onChange:n}){const r=ee.useForm({initialValues:e}),i=c.default.useCallback(m=>{n(m)},[n]),a=c.default.useMemo(()=>!C.default.isEqual(e,r.values),[e,r.values]);c.default.useEffect(()=>{r.reset()},[e]);const{data:o=[],loading:u}=J.useRequest(Re,{refreshDeps:[]},[]),s=c.default.useMemo(()=>Array.from(new Set(o.map(({type:d})=>d))).map(d=>({label:d,value:d})),[o]),p=c.default.useMemo(()=>{const m=o.filter(({type:d})=>d===r.values.type);return m?m.map(({key:d})=>({label:d,value:d})):[]},[o,r.values.type]);return t(l.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:f("form",{onSubmit:r.onSubmit(i),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{weight:500,children:"Edit Query"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!a||u,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{my:0,p:"md",pr:40,children:[f(l.Group,{grow:!0,children:[t(l.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},disabled:u,...r.getInputProps("id")}),t(l.Select,{label:"Data Source Type",data:s,sx:{flex:1},disabled:u,...r.getInputProps("type")}),t(l.Select,{label:"Data Source Key",data:p,sx:{flex:1},disabled:u,...r.getInputProps("key")})]}),f(l.Tabs,{defaultValue:"SQL",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"SQL",children:"SQL"}),t(l.Tabs.Tab,{value:"Preview",children:"Preview"})]}),t(l.Tabs.Panel,{value:"SQL",pt:"sm",children:t(l.Textarea,{autosize:!0,minRows:12,maxRows:24,...r.getInputProps("sql"),className:"code-textarea"})}),t(l.Tabs.Panel,{value:"Preview",pt:"sm",children:t(vt,{value:r.values.sql})})]})]})]})})}function Wl({id:e,setID:n}){const{queries:r,setQueries:i}=c.default.useContext(L),a=c.default.useMemo(()=>r.find(u=>u.id===e),[r,e]),o=c.default.useCallback(u=>{if(r.findIndex(p=>p.id===e)===-1){console.error(new Error("Invalid data source id when updating by id"));return}i(p=>{const m=p.findIndex(d=>d.id===e);return p.splice(m,1,u),[...p]}),n(u.id)},[e,r,i,n]);return e?a?t(jl,{value:a,onChange:o}):t("span",{children:"Invalid Data Source ID"}):null}function Ul({id:e,setID:n}){const{queries:r,setQueries:i}=c.default.useContext(L),a=c.default.useCallback(()=>{var s,p;n((p=(s=r[0])==null?void 0:s.id)!=null?p:"")},[n,r]);c.default.useEffect(()=>{if(!e){a();return}r.findIndex(p=>p.id===e)===-1&&a()},[e,r,a]);const o=c.default.useMemo(()=>r.map(s=>({value:s.id,label:s.id})),[r]),u=c.default.useCallback(()=>{const s={id:A.randomId(),type:"postgresql",key:"",sql:""};i(p=>[...p,s]),n(s.id)},[i,n]);return t(l.Group,{pb:"xl",children:f(l.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(l.Text,{children:"Select a Query"}),t(l.Select,{data:o,value:e,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),t(l.Text,{children:"or"}),t(l.Group,{position:"center",mt:"md",children:t(l.Button,{onClick:u,children:"Add a Query"})})]})})}function Yl({}){const[e,n]=c.default.useState("");return f(l.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:[f(l.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[f(l.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[t(Ul,{id:e,setID:n}),t(Wl,{id:e,setID:n})]}),t(Ct,{})]}),t(Ue,{id:e})]})}function Jl({value:e}){const n=c.default.useContext(E),r=c.default.useMemo(()=>Vt(e,n),[e,n]);return f(l.Stack,{children:[t(l.Text,{children:"Preview"}),t(X.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:r})]})}function Xl({}){const{sqlSnippets:e,setSQLSnippets:n}=c.default.useContext(L),r=c.default.useMemo(()=>({snippets:e!=null?e:[]}),[e]),i=ee.useForm({initialValues:r}),a=()=>i.insertListItem("snippets",{key:A.randomId(),value:""}),o=c.default.useMemo(()=>!C.default.isEqual(i.values,r),[i.values,r]),u=({snippets:s})=>{n(s)};return t(l.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:f("form",{onSubmit:i.onSubmit(u),children:[f(l.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:[t(l.Text,{weight:500,children:"SQL Snippets"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!o,children:t(g.DeviceFloppy,{size:20})})]}),t(l.Group,{px:"md",pb:"md",pt:"md",children:f(l.Stack,{sx:{width:"100%",position:"relative"},children:[i.values.snippets.map((s,p)=>f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(l.TextInput,{label:"Key",required:!0,...i.getInputProps(`snippets.${p}.key`)}),t(l.Textarea,{minRows:3,label:"Value",required:!0,...i.getInputProps(`snippets.${p}.value`),className:"code-textarea"}),t(Jl,{value:i.values.snippets[p].value}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i.removeListItem("snippets",p),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},p)),t(l.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:t(l.Button,{variant:"default",onClick:a,children:"Add a snippet"})})]})})]})})}function Kl({}){return t(l.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:f(l.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[t(Xl,{}),t(Ct,{showSQLSnippets:!1})]})})}function Zl({opened:e,close:n}){const{freezeLayout:r}=c.default.useContext(O);return c.default.useEffect(()=>{r(e)},[e]),t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"Data Settings",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},children:f(l.Tabs,{defaultValue:"Queries",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"SQL Snippet",children:"SQL Snippet"}),t(l.Tabs.Tab,{value:"Queries",children:"Queries"})]}),t(l.Tabs.Panel,{value:"SQL Snippet",pt:"sm",children:t(Kl,{})}),t(l.Tabs.Panel,{value:"Queries",pt:"sm",children:t(Yl,{})})]})})}function Hl({opened:e,close:n,getCurrentSchema:r}){const{freezeLayout:i}=c.default.useContext(O);c.default.useEffect(()=>{i(e)},[e]);const a=c.default.useMemo(()=>JSON.stringify(r(),null,2),[e]);return t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"This dashboard is described by this schema",trapFocus:!0,onDragStart:o=>{o.stopPropagation()},children:t(X.Prism,{language:"json",sx:{width:"100%"},colorScheme:"dark",children:a})})}function er({field:e,index:n,control:r}){return t(D,{children:t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Default Checked"})})})}const tr=[{label:"2022",value:"YYYY"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}];function nr({field:e,index:n,control:r}){return f(D,{children:[f(l.Group,{children:[t(b.Controller,{name:`filters.${n}.config.required`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Required"})}),t(b.Controller,{name:`filters.${n}.config.clearable`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Clearable"})})]}),t(b.Controller,{name:`filters.${n}.config.inputFormat`,control:r,render:({field:i})=>t(l.Select,{data:tr,label:"Display Format",...i})})]})}function lr({value:e,onChange:n}){const{data:r=[],loading:i}=J.useRequest(Re,{refreshDeps:[]},[]),a=c.default.useMemo(()=>Array.from(new Set(r.map(({type:s})=>s))).map(s=>({label:s,value:s})),[r]),o=c.default.useMemo(()=>{const u=r.filter(({type:s})=>s===e.type);return u?u.map(({key:s})=>({label:s,value:s})):[]},[r,e.type]);return f(l.Group,{grow:!0,children:[t(l.Select,{label:"Data Source Type",data:a,sx:{flex:1},disabled:i,value:e.type,onChange:u=>{n({...e,type:u})}}),t(l.Select,{label:"Data Source Key",data:o,sx:{flex:1},disabled:i,value:e.key,onChange:u=>{n({...e,key:u})}})]})}const wt=c.default.forwardRef(function({value:n,onChange:r},i){return f(l.Stack,{my:0,children:[t(lr,{value:n,onChange:r}),f(l.Tabs,{defaultValue:"SQL",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"SQL",children:"SQL"}),t(l.Tabs.Tab,{value:"Preview",children:"Preview"})]}),t(l.Tabs.Panel,{value:"SQL",pt:"sm",children:t(l.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:n.sql,onChange:a=>{r({...n,sql:a.currentTarget.value})},placeholder:"SELECT name AS label, id AS value"})}),t(l.Tabs.Panel,{value:"Preview",pt:"sm",children:t(vt,{value:n.sql})})]})]})});function rr({field:e,index:n,control:r,watch:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:r,name:`filters.${n}.config.static_options`}),s=i(`filters.${n}.config.static_options`),p=()=>{o({label:"",value:""})},m=[{label:"No default selection",value:""},...s];return f(D,{children:[t(l.Divider,{label:"Configure options",labelPosition:"center"}),a.length>0&&t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:d})=>t(l.MultiSelect,{label:"Default Selection",data:m,...d})}),a.map((d,h)=>f(l.Group,{sx:{position:"relative"},pr:"40px",children:[t(b.Controller,{name:`filters.${n}.config.static_options.${h}.label`,control:r,render:({field:x})=>t(l.TextInput,{label:"Label",required:!0,...x,sx:{flexGrow:1}})}),t(b.Controller,{name:`filters.${n}.config.static_options.${h}.value`,control:r,render:({field:x})=>t(l.TextInput,{label:"Value",required:!0,...x,sx:{flexGrow:1}})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>u(h),sx:{position:"absolute",top:28,right:5},children:t(g.Trash,{size:16})})]})),t(l.Button,{size:"xs",color:"blue",leftIcon:t(g.PlaylistAdd,{size:20}),onClick:p,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),t(l.Divider,{label:"Or fetch options from database",labelPosition:"center"}),t(b.Controller,{name:`filters.${n}.config.options_query`,control:r,render:({field:d})=>t(wt,{...d})})]})}function ir({field:e,index:n,control:r,watch:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:r,name:`filters.${n}.config.static_options`}),s=i(`filters.${n}.config.static_options`),p=()=>{o({label:"",value:""})},m=[{label:"No default selection",value:""},...s];return f(D,{children:[t(b.Controller,{name:`filters.${n}.config.required`,control:r,render:({field:d})=>t(l.Checkbox,{checked:d.value,onChange:h=>d.onChange(h.currentTarget.checked),label:"Required"})}),t(l.Divider,{label:"Configure options",labelPosition:"center"}),a.length>0&&t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:d})=>t(l.Select,{label:"Default Selection",data:m,...d})}),a.map((d,h)=>f(l.Group,{sx:{position:"relative"},pr:"40px",children:[t(b.Controller,{name:`filters.${n}.config.static_options.${h}.label`,control:r,render:({field:x})=>t(l.TextInput,{label:"Label",required:!0,...x,sx:{flexGrow:1}})}),t(b.Controller,{name:`filters.${n}.config.static_options.${h}.value`,control:r,render:({field:x})=>t(l.TextInput,{label:"Value",required:!0,...x,sx:{flexGrow:1}})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>u(h),sx:{position:"absolute",top:28,right:5},children:t(g.Trash,{size:16})})]})),t(l.Button,{size:"xs",color:"blue",leftIcon:t(g.PlaylistAdd,{size:20}),onClick:p,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),t(l.Divider,{label:"Or fetch options from database",labelPosition:"center"}),t(b.Controller,{name:`filters.${n}.config.options_query`,control:r,render:({field:d})=>t(wt,{...d})})]})}function ar({field:e,index:n,control:r}){return f(D,{children:[t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:i})=>t(l.TextInput,{label:"Default Value",...i})}),t(b.Controller,{name:`filters.${n}.config.required`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Required"})})]})}function sr({label:e,config:{default_value:n,...r},value:i,onChange:a}){return f(l.Box,{children:[t(l.Text,{children:"\xA0"}),t(l.Checkbox,{label:e,checked:i,onChange:o=>a(o.currentTarget.checked),...r})]})}function or({label:e,config:n,value:r,onChange:i}){return t(Lt.DateRangePicker,{label:e,value:r,onChange:i,icon:t(g.Calendar,{size:16}),sx:{minWidth:"14em"},...n})}function ur({label:e,config:n,value:r,onChange:i}){const a=!!n.options_query.sql,{data:o=[],loading:u}=J.useRequest(Ee(n.options_query),{refreshDeps:[n.options_query,a]});return t(l.MultiSelect,{label:e,data:a?o:n.static_options,disabled:a?u:!1,value:r,onChange:i})}function dr({label:e,config:n,value:r,onChange:i}){const a=!!n.options_query.sql,{data:o=[],loading:u}=J.useRequest(Ee(n.options_query),{refreshDeps:[n.options_query,a]});return t(l.Select,{label:e,data:a?o:n.static_options,disabled:a?u:!1,value:r,onChange:i})}function cr({label:e,config:n,value:r,onChange:i}){return t(l.TextInput,{label:e,value:r,onChange:i,...n})}function fr({type:e,config:n,...r},i){switch(e){case"select":return t(dr,{...r,...i,config:n});case"multi-select":return t(ur,{...r,...i,config:n});case"text-input":return t(cr,{...r,...i,config:n});case"date-range":return t(or,{...r,...i,config:n});case"checkbox":return t(sr,{...r,...i,config:n});default:return null}}const Tt=c.default.forwardRef(function({filter:n,...r},i){return t("div",{className:"filter-root",ref:i,children:t(fe,{children:fr(n,r)})})});function pr({filter:e,index:n,watch:r}){const i=e.config.default_value,[a,o]=c.default.useState(i);return c.default.useEffect(()=>{o(i)},[i]),f(l.Box,{sx:{maxWidth:"30em"},children:[t(l.Text,{pb:"md",color:"gray",children:"Preview"}),t(Tt,{filter:e,value:a,onChange:o}),t("pre",{children:JSON.stringify(e,null,4)})]})}const hr={select:ir,"multi-select":rr,"text-input":ar,checkbox:er,"date-range":nr},mr=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}];function xr({field:e,index:n,control:r,watch:i}){const a=c.default.useMemo(()=>hr[e.type],[e.type]);return f(l.SimpleGrid,{cols:2,children:[f(l.Box,{pl:"md",children:[t(l.Text,{pb:"md",color:"gray",children:"Edit"}),f(l.Stack,{sx:{maxWidth:"30em"},children:[t(b.Controller,{name:`filters.${n}.order`,control:r,render:({field:o})=>t(l.TextInput,{label:"Placement Order",required:!0,...o})}),t(b.Controller,{name:`filters.${n}.key`,control:r,render:({field:o})=>t(l.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,...o})}),t(b.Controller,{name:`filters.${n}.label`,control:r,render:({field:o})=>t(l.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,...o})}),t(b.Controller,{name:`filters.${n}.type`,control:r,render:({field:o})=>t(l.Select,{label:"Widget",data:mr,required:!0,...o})}),t(a,{field:e,index:n,control:r,watch:i})]})]}),t(pr,{filter:e,index:n,watch:i})]})}function br({filters:e,setFilters:n}){var q;const{control:r,handleSubmit:i,watch:a,setValue:o}=b.useForm({defaultValues:{filters:e!=null?e:[]}}),{fields:u,append:s,remove:p,replace:m}=b.useFieldArray({control:r,name:"filters"}),d=a("filters"),h=u.map((T,z)=>({...T,...d[z]})),x=()=>{const T=A.randomId(),z={key:T,label:T,order:e.length+1,type:"text-input",config:{required:!1,default_value:""}};s(z)},y=T=>{p(T)},v=c.default.useCallback(()=>{m(e)},[e]),w=C.default.isEqual(e,d),_=c.default.useCallback(({filters:T})=>{n(T)},[n]);return t(l.Group,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:f("form",{onSubmit:i(_),style:{height:"100%",width:"100%"},children:[f(l.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:[t(l.Button,{size:"xs",color:"green",leftIcon:t(g.DeviceFloppy,{size:20}),type:"submit",disabled:w,children:"Save Changes"}),t(l.Button,{size:"xs",color:"red",leftIcon:t(g.Recycle,{size:20}),disabled:w,onClick:v,children:"Revert Changes"})]}),t(l.Tabs,{orientation:"vertical",defaultValue:(q=h[0])==null?void 0:q.id,children:f(l.Group,{sx:{height:"100%"},children:[f(l.Stack,{sx:{height:"100%"},children:[t(l.Tabs.List,{position:"left",sx:{flexGrow:1},children:h.map((T,z)=>t(l.Tabs.Tab,{value:T.id,children:T.label},T.id))}),t(l.Button,{size:"xs",color:"blue",leftIcon:t(g.PlaylistAdd,{size:20}),onClick:x,children:"Add a Filter"})]}),t(l.Box,{sx:{flexGrow:1,height:"100%"},children:h.map((T,z)=>t(l.Tabs.Panel,{value:T.id,sx:{height:"100%"},children:f(l.Stack,{sx:{height:"100%"},spacing:"sm",children:[t(l.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:t(xr,{field:T,index:z,control:r,watch:a})}),t(l.Group,{position:"right",pt:10,children:t(l.Button,{size:"xs",color:"red",leftIcon:t(g.Trash,{size:20}),onClick:()=>y(z),children:"Delete this filter"})})]})},T.id))})]})})]})})}function gr({opened:e,close:n,filters:r,setFilters:i}){const{freezeLayout:a}=c.default.useContext(O);return c.default.useEffect(()=>{a(e)},[e]),t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"Filters",trapFocus:!0,onDragStart:o=>{o.stopPropagation()},withCloseButton:!1,children:t(br,{filters:r,setFilters:i})})}function yr({mode:e,setMode:n,hasChanges:r,saveChanges:i,revertChanges:a,getCurrentSchema:o,filters:u,setFilters:s}){const{addPanel:p}=c.default.useContext(ue),{inLayoutMode:m,inEditMode:d,inUseMode:h}=c.default.useContext(O),[x,y]=c.default.useState(!1),v=()=>y(!0),w=()=>y(!1),[_,q]=c.default.useState(!1),T=()=>q(!0),z=()=>q(!1),[K,Z]=c.default.useState(!1),re=()=>Z(!0),ie=()=>Z(!1);return f(l.Group,{position:"apart",pt:0,pb:"xs",children:[t(l.Group,{position:"left",children:t(Nl,{mode:e,setMode:n})}),f(l.Group,{position:"right",children:[!h&&t(l.Button,{variant:"default",size:"xs",onClick:p,leftIcon:t(g.PlaylistAdd,{size:20}),children:"Add a Panel"}),d&&t(l.Button,{variant:"default",size:"xs",onClick:T,leftIcon:t(g.Filter,{size:20}),children:"Filters"}),d&&t(l.Button,{variant:"default",size:"xs",onClick:v,leftIcon:t(g.Database,{size:20}),children:"Data Settings"}),!h&&t(l.Button,{variant:"default",size:"xs",onClick:i,disabled:!r,leftIcon:t(g.DeviceFloppy,{size:20}),children:"Save Changes"}),!h&&t(l.Button,{color:"red",size:"xs",disabled:!r,onClick:a,leftIcon:t(g.Recycle,{size:20}),children:"Revert Changes"}),f(l.Menu,{children:[t(l.Menu.Target,{children:t(l.Button,{variant:"default",size:"xs",leftIcon:t(g.Share,{size:20}),children:"Export"})}),f(l.Menu.Dropdown,{children:[t(l.Menu.Item,{disabled:!0,children:"Download Data"}),t(l.Menu.Item,{onClick:re,children:"View Schema"})]})]})]}),t(gr,{opened:_,close:z,filters:u,setFilters:s}),t(Zl,{opened:x,close:w}),t(Hl,{opened:K,close:ie,getCurrentSchema:o})]})}function _t({panel:e,exitFullScreen:n}){return f(l.Stack,{sx:{flexGrow:1,justifyContent:"flex-start"},children:[t(l.Group,{sx:{flexGrow:0},children:t(l.Button,{variant:"default",size:"sm",onClick:n,leftIcon:t(g.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),t(l.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:t(be,{...e})})]})}function zt(e){const[n,r]=c.default.useState(null),i=c.default.useCallback(s=>{r(s)},[]),a=c.default.useCallback(()=>{r(null)},[]),o=c.default.useMemo(()=>e.find(s=>s.id===n),[n,e]);return{viewPanelInFullScreen:i,exitFullScreen:a,inFullScreen:!!o,fullScreenPanel:o}}function Pt({filters:e,filterValues:n,setFilterValues:r}){const{control:i,handleSubmit:a}=b.useForm({defaultValues:n}),o=c.default.useMemo(()=>C.default.sortBy(e,"order"),[e]);return e.length===0?null:t("form",{onSubmit:a(r),children:f(l.Group,{className:"dashboard-filters",position:"apart",p:"md",mb:"md",noWrap:!0,sx:{boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[t(l.Group,{align:"flex-start",children:o.map(u=>t(b.Controller,{name:u.key,control:i,render:({field:s})=>t(Tt,{filter:u,...s})},u.key))}),t(l.Group,{sx:{alignSelf:"flex-end"},children:t(l.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})}function At(e){const[n,r]=c.default.useState(e.filters),[i,a]=c.default.useState(()=>e.filters.reduce((u,s)=>{var p;return u[s.key]=(p=s.config.default_value)!=null?p:"",u},{}));return{filters:n,setFilters:r,filterValues:i,setFilterValues:a}}function Sr({context:e,dashboard:n,update:r,className:i="dashboard",config:a}){W.baseURL!==a.apiBaseURL&&(W.baseURL=a.apiBaseURL);const[o,u]=c.default.useState(!1),[s,p]=c.default.useState(I.Edit),[m,d]=c.default.useState(n.panels),[h,x]=c.default.useState(n.definition.sqlSnippets),[y,v]=c.default.useState(n.definition.queries),{filters:w,setFilters:_,filterValues:q,setFilterValues:T}=At(n),z=c.default.useMemo(()=>{if(!C.default.isEqual(w,n.filters))return!0;const M=$=>JSON.parse(JSON.stringify($));return!C.default.isEqual(M(m),M(n.panels))||!C.default.isEqual(h,n.definition.sqlSnippets)?!0:!C.default.isEqual(y,n.definition.queries)},[n,w,m,h,y]),K=async()=>{const M={...n,filters:w,panels:m,definition:{sqlSnippets:h,queries:y}};await r(M)},Z=()=>{_(n.filters),d(n.panels),x(n.definition.sqlSnippets),v(n.definition.queries)},re=()=>{const M=A.randomId(),F={id:M,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${M}`,description:"<p><br></p>",queryID:"",viz:{type:"table",conf:{}}};d($=>[...$,F])},ie=M=>{try{const F=m.find(Oe=>Oe.id===M);if(!F)throw new Error(`[duplicate panel] Can't find a panel by id[${M}]`);const $={...F,id:A.randomId(),layout:{...F.layout,x:0,y:1/0}};d(Oe=>[...Oe,$])}catch(F){console.error(F)}},Tr=M=>{const F=m.findIndex($=>$.id===M);d($=>($.splice(F,1),[...$]))},_r=s===I.Edit,Ge=s===I.Layout,zr=s===I.Use,Pr=c.default.useMemo(()=>({sqlSnippets:h,setSQLSnippets:x,queries:y,setQueries:v}),[h,x,y,v]),Ar=c.default.useCallback(()=>({panels:m,definition:{sqlSnippets:h,queries:y}}),[h,y,m]),{viewPanelInFullScreen:Dr,exitFullScreen:kr,inFullScreen:Le,fullScreenPanel:qr}=zt(m);return t(ye.ModalsProvider,{children:t(E.Provider,{value:e,children:t(U.Provider,{value:q,children:t(ue.Provider,{value:{addPanel:re,duplidatePanel:ie,removePanelByID:Tr,viewPanelInFullScreen:Dr,inFullScreen:Le},children:t(L.Provider,{value:Pr,children:f(O.Provider,{value:{layoutFrozen:o,freezeLayout:u,mode:s,inEditMode:_r,inLayoutMode:Ge,inUseMode:zr},children:[Le&&t(_t,{panel:qr,exitFullScreen:kr}),f(l.Box,{className:i,sx:{position:"relative",display:Le?"none":"block"},children:[t(yr,{mode:s,setMode:p,hasChanges:z,saveChanges:K,revertChanges:Z,getCurrentSchema:Ar,filters:w,setFilters:_}),t(Pt,{filters:w,filterValues:q,setFilterValues:T}),t(St,{panels:m,setPanels:d,isDraggable:Ge,isResizable:Ge})]})]})})})})})})}const Cr=ge.WidthProvider($e.default);function vr({panels:e,className:n="layout",rowHeight:r=10}){return t(Cr,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,children:e.map(({id:i,...a})=>t("div",{"data-grid":a.layout,children:t(be,{id:i,...a})},i))})}function wr({context:e,dashboard:n,className:r="dashboard",config:i}){W.baseURL!==i.apiBaseURL&&(W.baseURL=i.apiBaseURL);const{filters:a,filterValues:o,setFilterValues:u}=At(n),s=c.default.useMemo(()=>({...n.definition,setSQLSnippets:()=>{},setQueries:()=>{}}),[n]),{viewPanelInFullScreen:p,exitFullScreen:m,inFullScreen:d,fullScreenPanel:h}=zt(n.panels);return t(ye.ModalsProvider,{children:t(E.Provider,{value:e,children:t(U.Provider,{value:o,children:t(ue.Provider,{value:{addPanel:C.default.noop,duplidatePanel:C.default.noop,removePanelByID:C.default.noop,viewPanelInFullScreen:p,inFullScreen:d},children:t(L.Provider,{value:s,children:f(O.Provider,{value:{layoutFrozen:!0,freezeLayout:()=>{},mode:I.Use,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},children:[d&&t(_t,{panel:h,exitFullScreen:m}),f(l.Box,{className:r,sx:{display:d?"none":"block"},children:[t(Pt,{filters:a,filterValues:o,setFilterValues:u}),t(vr,{panels:n.panels})]})]})})})})})})}S.ContextInfoContext=E,S.Dashboard=Sr,S.DashboardLayout=St,S.DashboardMode=I,S.DefinitionContext=L,S.FilterValuesContext=U,S.LayoutStateContext=O,S.Panel=be,S.PanelContext=G,S.ReadOnlyDashboard=wr,S.initialContextInfoContext=Bt,S.initialFilterValuesContext=jt,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
41
+ `,Gr=Ce.observer(function({showSQLSnippets:e=!0,sx:r={}}){const s=Re(),a=s.context.current,l=V.default.useMemo(()=>{const o={context:a,filters:s.filters.values};if(e){const i=s.sqlSnippets.current.reduce((d,v)=>(d[v.key]=v.value,d),{});o.sql_snippets=i}return JSON.stringify(o,null,2)},[a,s.sqlSnippets.current,s.filters.values,e]);return G(c.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...r},children:[n(c.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:n(c.Text,{weight:500,children:"Global Variables"})}),G(c.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[n(at.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:Ra}),n(c.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),n(at.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:l})]})]})});function La(t,e){const r=Object.keys(e),s=Object.values(e);try{return new Function(...r,`return \`${t}\`;`)(...s)}catch(a){return console.error(a),a.message}}function Ht(t,e){const r=Object.keys(e),s=Object.values(e);try{return new Function(...r,`return \`${t}\`;`)(...s)}catch(a){throw r.length===0&&t.includes("$")?new Error("[formatSQL] insufficient params"):a}}function Ur(t,e,r){const s=e.reduce((a,l)=>(a[l.key]=Ht(l.value,t),a),{});return ye.default.merge({},s,t,{filters:r})}function Wr(t,e,r,s){try{const a=Ur(e,r,s);return Ht(t,a)}catch(a){return console.error(a),a.message}}const ot={baseURL:"http://localhost:31200",getRequest(t){return(e,r,s={})=>{const a={"X-Requested-With":"XMLHttpRequest","Content-Type":s.string?"application/x-www-form-urlencoded":"application/json",...s.headers},l={baseURL:this.baseURL,method:t,url:e,params:t==="GET"?r:s.params,headers:a};return t==="POST"&&(l.data=s.string?JSON.stringify(r):r),Ln.default(l).then(o=>o.data).catch(o=>Promise.reject(o))}}},er=({type:t,key:e,sql:r})=>async()=>{if(!t||!e||!r)return[];try{return await ot.getRequest("POST")("/query",{type:t,key:e,query:r})}catch(s){return console.error(s),[]}};async function Ba({context:t,sqlSnippets:e,title:r,query:s,filterValues:a}){if(!s.sql)return[];const{type:l,key:o,sql:i}=s,d=i.includes("$");try{const v=Ur(t,e,a),h=Ht(i,v);return d&&(console.groupCollapsed(`Final SQL for: ${r}`),console.log(h),console.groupEnd()),await ot.getRequest("POST")("/query",{type:l,key:o,query:h})}catch(v){return console.error(v),[]}}async function Vr(){try{return(await ot.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(t){return console.error(t),[]}}function $r({value:t}){const e=Re(),r=e.context.current,s=V.default.useMemo(()=>Wr(t,r,e.sqlSnippets.current,e.filters.values),[t,r,e.sqlSnippets.current,e.filters.values]);return n(at.Prism,{language:"sql",colorScheme:"light",children:s})}const Ma=Ce.observer(function({queryModel:e}){const{data:r=[],loading:s}=ut.useRequest(Vr,{refreshDeps:[]},[]),a=V.default.useMemo(()=>Array.from(new Set(r.map(({type:p})=>p))).map(p=>({label:p,value:p})),[r]),l=V.default.useMemo(()=>{const h=r.filter(({type:p})=>p===e.type);return h?h.map(({key:p})=>({label:p,value:p})):[]},[r,e.type]),[o,i]=V.default.useState(e.sql);V.default.useEffect(()=>{i(h=>h!==e.sql?e.sql:h)},[e.sql]);const d=o!==e.sql,v=()=>{e.setSQL(o)};return G(c.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[n(c.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:n(c.Text,{weight:500,children:"Edit Query"})}),G(c.Stack,{my:0,p:"md",pr:40,children:[G(c.Group,{grow:!0,children:[n(c.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},disabled:s,value:e.id,onChange:h=>{e.setID(h.currentTarget.value)}}),n(c.Select,{label:"Data Source Type",data:a,sx:{flex:1},disabled:s,value:e.type,onChange:e.setType}),n(c.Select,{label:"Data Source Key",data:l,sx:{flex:1},disabled:s,value:e.key,onChange:e.setKey})]}),G(c.Tabs,{defaultValue:"SQL",children:[G(c.Tabs.List,{children:[n(c.Tabs.Tab,{value:"SQL",children:"SQL"}),n(c.Tabs.Tab,{value:"Preview",children:"Preview"})]}),n(c.Tabs.Panel,{value:"SQL",pt:"sm",children:G(c.Box,{sx:{position:"relative"},children:[n(c.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:o,onChange:h=>{i(h.currentTarget.value)}}),n(c.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:10,top:10},disabled:!d,onClick:v,children:n(pe.DeviceFloppy,{size:20})})]})}),n(c.Tabs.Panel,{value:"Preview",pt:"sm",children:n($r,{value:e.sql})})]})]})]})}),ja=Ce.observer(function({id:e,setID:r}){const s=Re(),a=V.default.useMemo(()=>s.queries.findByID(e),[s.queries,e]);return e?a?n(Ma,{queryModel:a}):n("span",{children:"Invalid Query ID"}):null});var yt=(t=>(t.Postgresql="postgresql",t.MySQL="mysql",t.HTTP="http",t))(yt||{});const qa=Ce.observer(function({id:e,setID:r}){const s=Re(),a=()=>{var o;r((o=s.queries.firstID)!=null?o:"")};V.default.useEffect(()=>{if(!e){a();return}s.queries.current.findIndex(i=>i.id===e)===-1&&a()},[e,s.queries.current,a]);const l=()=>{const o=Be.randomId();s.queries.append(se.cast({id:o,type:yt.Postgresql,key:"",sql:""})),r(o)};return n(c.Group,{pb:"xl",children:G(c.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[n(c.Text,{children:"Select a Query"}),n(c.Select,{data:s.queries.options,value:e,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),n(c.Text,{children:"or"}),n(c.Group,{position:"center",mt:"md",children:n(c.Button,{onClick:l,children:"Add a Query"})})]})})}),Na=Ce.observer(function({}){const[e,r]=V.default.useState("");return G(c.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:[G(c.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[G(c.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[n(qa,{id:e,setID:r}),n(ja,{id:e,setID:r})]}),n(Gr,{})]}),n(hr,{id:e})]})});function Ga({value:t}){const r=Re().context.current,s=V.default.useMemo(()=>La(t,r),[t,r]);return G(c.Stack,{children:[n(c.Text,{children:"Preview"}),n(at.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:s})]})}const Ua=Ce.observer(function({}){const e=Re(),r=()=>e.sqlSnippets.append(se.cast({key:Be.randomId(),value:""}));return G(c.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:[n(c.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:n(c.Text,{weight:500,children:"SQL Snippets"})}),n(c.Group,{px:"md",pb:"md",pt:"md",children:G(c.Stack,{sx:{width:"100%",position:"relative"},children:[e.sqlSnippets.current.map((s,a)=>G(c.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[n(c.TextInput,{label:"Key",required:!0,value:s.key,onChange:l=>{s.setKey(l.currentTarget.value)}}),n(c.Textarea,{minRows:3,label:"Value",required:!0,value:s.value,onChange:l=>{s.setValue(l.currentTarget.value)},className:"code-textarea"}),n(Ga,{value:s.value}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>e.sqlSnippets.remove(a),sx:{position:"absolute",top:15,right:5},children:n(pe.Trash,{size:16})})]},a)),n(c.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:n(c.Button,{variant:"default",onClick:r,children:"Add a snippet"})})]})})]})});function Wa({}){return n(c.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:G(c.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[n(Ua,{}),n(Gr,{showSQLSnippets:!1})]})})}const Va=Ce.observer(function({opened:e,close:r}){const{freezeLayout:s}=V.default.useContext(Ve);return V.default.useEffect(()=>{s(e)},[e]),n(c.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"Data Settings",trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:G(c.Tabs,{defaultValue:"Queries",children:[G(c.Tabs.List,{children:[n(c.Tabs.Tab,{value:"SQL Snippet",children:"SQL Snippet"}),n(c.Tabs.Tab,{value:"Queries",children:"Queries"})]}),n(c.Tabs.Panel,{value:"SQL Snippet",pt:"sm",children:n(Wa,{})}),n(c.Tabs.Panel,{value:"Queries",pt:"sm",children:n(Na,{})})]})})});function $a({opened:t,close:e,getCurrentSchema:r}){const{freezeLayout:s}=V.default.useContext(Ve);V.default.useEffect(()=>{s(t)},[t]);const a=V.default.useMemo(()=>JSON.stringify(r(),null,2),[t]);return n(c.Modal,{size:"96vw",overflow:"inside",opened:t,onClose:e,title:"This dashboard is described by this schema",trapFocus:!0,onDragStart:l=>{l.stopPropagation()},children:n(at.Prism,{language:"json",sx:{width:"100%"},colorScheme:"dark",children:a})})}var qe=(t=>(t.Select="select",t.MultiSelect="multi-select",t.TextInput="text-input",t.Checkbox="checkbox",t.DateRange="date-range",t))(qe||{});const Qr=se.types.model({type:se.types.enumeration("DataSourceType",["postgresql"]),key:se.types.string,sql:se.types.string}),Zr=se.types.model("FilterConfigModel_TextInput",{required:se.types.boolean,default_value:se.types.string}).actions(t=>({setRequired(e){t.required=e},setDefaultValue(e){t.default_value=e}})),Yr=()=>Zr.create({required:!1,default_value:""}),Qa=Ce.observer(function({config:e}){return n(Me,{children:n(c.Checkbox,{checked:e.default_value,onChange:r=>e.setDefaultValue(r.currentTarget.checked),label:"Default Checked"})})}),Za=[{label:"2022",value:"YYYY"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],Ya=Ce.observer(function({config:e}){return G(Me,{children:[G(c.Group,{children:[n(c.Checkbox,{checked:e.required,onChange:r=>e.setRequired(r.currentTarget.checked),label:"Required"}),n(c.Checkbox,{checked:e.clearable,onChange:r=>e.setClearable(r.currentTarget.checked),label:"Clearable"})]}),n(c.Select,{data:Za,label:"Display Format",value:e.inputFormat,onChange:e.setInputFormat})]})}),Ka=Ce.observer(function({value:e,onChange:r}){const{data:s=[],loading:a}=ut.useRequest(Vr,{refreshDeps:[]},[]),l=V.default.useMemo(()=>Array.from(new Set(s.map(({type:d})=>d))).map(d=>({label:d,value:d})),[s]),o=V.default.useMemo(()=>{const i=s.filter(({type:d})=>d===e.type);return i?i.map(({key:d})=>({label:d,value:d})):[]},[s,e.type]);return G(c.Group,{grow:!0,children:[n(c.Select,{label:"Data Source Type",data:l,sx:{flex:1},disabled:a,value:e.type,onChange:i=>{r({...e,type:i})}}),n(c.Select,{label:"Data Source Key",data:o,sx:{flex:1},disabled:a,value:e.key,onChange:i=>{r({...e,key:i})}})]})});function Xa({data:t}){return t.length===0?n(c.Box,{sx:{height:"5em"}}):G(c.Table,{children:[n("thead",{children:n("tr",{children:Object.keys(t==null?void 0:t[0]).map(e=>n("th",{children:n(c.Text,{weight:700,color:"#000",children:e})},e))})}),n("tbody",{children:t.slice(0,3).map((e,r)=>n("tr",{children:Object.values(e).map((s,a)=>n("td",{children:n(c.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:n(c.Text,{children:s})})},`${s}--${a}`))},`row-${r}`))}),t.length>3&&n("tfoot",{children:n("tr",{children:n("td",{colSpan:Object.keys(t==null?void 0:t[0]).length,children:G(c.Text,{color:"gray",size:"sm",children:[t.length-3," more row(s) hidden"]})})})})]})}const Ja=Ce.observer(function({query:e}){const{data:r=[],loading:s,refresh:a}=ut.useRequest(er(e),{refreshDeps:[e]});return G(c.Stack,{my:0,children:[G(c.Group,{position:"apart",children:[n(c.Text,{size:"md",pl:"sm",children:"Fetched Data"}),n(c.Button,{size:"xs",onClick:a,disabled:!e.sql||!e.key,children:"Retry"})]}),G(c.Box,{sx:{position:"relative"},children:[n(c.LoadingOverlay,{visible:s,exitTransitionDuration:0}),n(Xa,{data:r})]})]})}),Kr=Ce.observer(function({value:e,onChange:r}){return G(c.Stack,{my:0,children:[n(Ka,{value:e,onChange:r}),G(c.Tabs,{defaultValue:"SQL",children:[G(c.Tabs.List,{children:[n(c.Tabs.Tab,{value:"SQL",children:"SQL"}),n(c.Tabs.Tab,{value:"Preview",children:"Preview"}),n(c.Tabs.Tab,{value:"Data",children:"Data"})]}),n(c.Tabs.Panel,{value:"SQL",pt:"sm",children:n(c.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:e.sql,onChange:s=>{r({...e,sql:s.currentTarget.value})},placeholder:"SELECT name AS label, id AS value"})}),n(c.Tabs.Panel,{value:"Preview",pt:"sm",children:n($r,{value:e.sql})}),n(c.Tabs.Panel,{value:"Data",pt:"sm",children:n(Ja,{query:e})})]})]})}),Ha=Ce.observer(function({config:e}){const r=()=>{e.addStaticOption({label:"",value:""})},s=e.static_options,a=[...s];return G(Me,{children:[n(c.Divider,{label:"Configure options",labelPosition:"center"}),s.length>0&&n(c.MultiSelect,{label:"Default Selection",data:a,value:e.default_value,onChange:e.setDefaultValue}),s.map((l,o)=>G(c.Group,{sx:{position:"relative"},pr:"40px",children:[n(c.TextInput,{label:"Label",required:!0,value:e.static_options[o].label,onChange:i=>{e.static_options[o].setLabel(i.currentTarget.value)},sx:{flexGrow:1}}),n(c.TextInput,{label:"Value",required:!0,value:e.static_options[o].value,onChange:i=>{e.static_options[o].setValue(i.currentTarget.value)},sx:{flexGrow:1}}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>e.removeStaticOption(o),sx:{position:"absolute",top:28,right:5},children:n(pe.Trash,{size:16})})]})),n(c.Button,{size:"xs",color:"blue",leftIcon:n(pe.PlaylistAdd,{size:20}),onClick:r,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),n(c.Divider,{label:"Or fetch options from database",labelPosition:"center"}),n(Kr,{value:e.options_query,onChange:e.setOptionsQuery})]})}),es=Ce.observer(function({config:e}){const r=()=>{e.addStaticOption({label:"",value:""})},s=e.static_options,a=[{label:"No default selection",value:""},...s];return G(Me,{children:[n(c.Checkbox,{checked:e.required,onChange:l=>e.setRequired(l.currentTarget.checked),label:"Required"}),n(c.Divider,{label:"Configure options",labelPosition:"center"}),s.length>0&&n(c.Select,{label:"Default Selection",data:a,value:e.default_value,onChange:e.setDefaultValue}),s.map((l,o)=>G(c.Group,{sx:{position:"relative"},pr:"40px",children:[n(c.TextInput,{label:"Label",required:!0,value:e.static_options[o].label,onChange:i=>{e.static_options[o].setLabel(i.currentTarget.value)},sx:{flexGrow:1}}),n(c.TextInput,{label:"Value",required:!0,value:e.static_options[o].value,onChange:i=>{e.static_options[o].setValue(i.currentTarget.value)},sx:{flexGrow:1}}),n(c.ActionIcon,{color:"red",variant:"subtle",onClick:()=>e.removeStaticOption(o),sx:{position:"absolute",top:28,right:5},children:n(pe.Trash,{size:16})})]})),n(c.Button,{size:"xs",color:"blue",leftIcon:n(pe.PlaylistAdd,{size:20}),onClick:r,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),n(c.Divider,{label:"Or fetch options from database",labelPosition:"center"}),n(Kr,{value:e.options_query,onChange:e.setOptionsQuery})]})}),ts=Ce.observer(function({config:e}){return G(Me,{children:[n(c.TextInput,{label:"Default Value",value:e.default_value,onChange:r=>{e.setDefaultValue(r.currentTarget.value)}}),n(c.Checkbox,{checked:e.required,onChange:r=>e.setRequired(r.currentTarget.checked),label:"Required"})]})});function rs({label:t,config:{default_value:e,...r},value:s,onChange:a}){return G(c.Box,{children:[n(c.Text,{children:"\xA0"}),n(c.Checkbox,{label:t,checked:s,onChange:l=>a(l.currentTarget.checked),...r})]})}function ns({label:t,config:e,value:r,onChange:s}){return n(In.DateRangePicker,{label:t,value:r,onChange:s,icon:n(pe.Calendar,{size:16}),sx:{minWidth:"14em"},...e})}function is({label:t,config:e,value:r,onChange:s}){const a=!!e.options_query.sql,{data:l=[],loading:o}=ut.useRequest(er(e.options_query),{refreshDeps:[e.options_query,a]});return n(c.MultiSelect,{label:t,data:a?l:e.static_options,disabled:a?o:!1,value:r,onChange:s,sx:{minWidth:"14em"}})}function as({label:t,config:e,value:r,onChange:s}){const a=!!e.options_query.sql,{data:l=[],loading:o}=ut.useRequest(er(e.options_query),{refreshDeps:[e.options_query,a]});return n(c.Select,{label:t,data:a?l:e.static_options,disabled:a?o:!1,value:r,onChange:s})}function ss({label:t,config:e,value:r,onChange:s}){return n(c.TextInput,{label:t,value:r,onChange:s,...e})}function os({type:t,config:e,key:r,...s},a){switch(t){case"select":return n(as,{...s,...a,config:e});case"multi-select":return n(is,{...s,...a,config:e});case"text-input":return n(ss,{...s,...a,config:e});case"date-range":return n(ns,{...s,...a,config:e});case"checkbox":return n(rs,{...s,...a,config:e});default:return null}}const Xr=V.default.forwardRef(function({filter:e,...r},s){return n("div",{className:"filter-root",ref:s,children:n(Tt,{children:os(e,r)})})}),ls=Ce.observer(function({filter:e}){const r=e.config.default_value,[s,a]=V.default.useState(r);return V.default.useEffect(()=>{a(r)},[r]),G(c.Box,{sx:{maxWidth:"30em"},children:[n(c.Text,{pb:"md",color:"gray",children:"Preview"}),n(Xr,{filter:e,value:s,onChange:a}),n(c.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),n(at.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(e,null,4)})]})}),us={select:es,"multi-select":Ha,"text-input":ts,checkbox:Qa,"date-range":Ya},cs=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}],ds=Ce.observer(function({filter:e,index:r}){const s=V.default.useMemo(()=>us[e.type],[e.type]);return G(c.SimpleGrid,{cols:2,children:[G(c.Box,{pl:"md",children:[n(c.Text,{pb:"md",color:"gray",children:"Edit"}),G(c.Stack,{sx:{maxWidth:"30em"},children:[n(c.NumberInput,{label:"Placement Order",required:!0,value:e.order,onChange:e.setOrder,hideControls:!0}),n(c.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:e.key,onChange:a=>{e.setKey(a.currentTarget.value)}}),n(c.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:e.label,onChange:a=>{e.setLabel(a.currentTarget.value)}}),n(c.Select,{label:"Widget",data:cs,required:!0,value:e.type,onChange:e.setType}),n(s,{config:e.config,index:r})]})]}),n(ls,{filter:e})]})}),Ks="",fs=Ce.observer(function({}){const e=Re(),r=e.filters.current,s=()=>{const a=Be.randomId(),l={id:a,key:a,label:a,order:r.length+1,type:qe.TextInput,config:Yr()};e.filters.append(l)};return G(c.Group,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:[n(c.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:n(c.Button,{size:"xs",color:"red",leftIcon:n(pe.Recycle,{size:20}),disabled:!e.filters.changed,onClick:e.filters.reset,children:"Revert Changes"})}),n(c.Tabs,{className:"filter-settings-tabs",orientation:"vertical",defaultValue:e.filters.firstID,children:G(c.Group,{sx:{height:"100%"},children:[G(c.Stack,{sx:{height:"100%"},children:[n(c.Tabs.List,{position:"left",sx:{flexGrow:1,width:"200px"},children:e.filters.current.map((a,l)=>n(c.Tabs.Tab,{value:a.id,children:a.label},a.id))}),n(c.Button,{size:"xs",color:"blue",leftIcon:n(pe.PlaylistAdd,{size:20}),onClick:s,children:"Add a Filter"})]}),n(c.Box,{sx:{flexGrow:1,height:"100%"},children:e.filters.current.map((a,l)=>n(c.Tabs.Panel,{value:a.id,sx:{height:"100%"},children:G(c.Stack,{sx:{height:"100%"},spacing:"sm",children:[n(c.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:n(ds,{filter:a,index:l})}),n(c.Group,{position:"right",pt:10,children:n(c.Button,{size:"xs",color:"red",leftIcon:n(pe.Trash,{size:20}),onClick:()=>e.filters.remove(l),children:"Delete this filter"})})]})},a.id))})]})})]})}),hs=Ce.observer(function({opened:e,close:r}){const{freezeLayout:s}=V.default.useContext(Ve);return V.default.useEffect(()=>{s(e)},[e]),n(c.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"Filters",trapFocus:!0,onDragStart:a=>{a.stopPropagation()},withCloseButton:!1,children:n(fs,{})})}),ps=Ce.observer(function({mode:e,setMode:r,hasChanges:s,saveChanges:a,revertChanges:l,getCurrentSchema:o}){const i=Re(),{addPanel:d}=V.default.useContext(Ct),{inLayoutMode:v,inEditMode:h,inUseMode:p}=V.default.useContext(Ve),[b,m]=V.default.useState(!1),E=()=>m(!0),g=()=>m(!1),[C,_]=V.default.useState(!1),T=()=>_(!0),I=()=>_(!1),[L,F]=V.default.useState(!1),Y=()=>F(!0),$=()=>F(!1);return G(c.Group,{position:"apart",pt:0,pb:"xs",children:[n(c.Group,{position:"left",children:n(Fa,{mode:e,setMode:r})}),G(c.Group,{position:"right",children:[!p&&n(c.Button,{variant:"default",size:"xs",onClick:d,leftIcon:n(pe.PlaylistAdd,{size:20}),children:"Add a Panel"}),h&&n(c.Button,{variant:"default",size:"xs",onClick:T,leftIcon:n(pe.Filter,{size:20}),children:"Filters"}),h&&n(c.Button,{variant:"default",size:"xs",onClick:E,leftIcon:n(pe.Database,{size:20}),children:"Data Settings"}),!p&&n(c.Button,{variant:"default",size:"xs",onClick:a,disabled:!s,leftIcon:n(pe.DeviceFloppy,{size:20}),children:"Save Changes"}),!p&&n(c.Button,{color:"red",size:"xs",disabled:!s,onClick:l,leftIcon:n(pe.Recycle,{size:20}),children:"Revert Changes"}),G(c.Menu,{width:180,children:[n(c.Menu.Target,{children:n(c.Button,{variant:"default",size:"xs",leftIcon:n(pe.Share,{size:20}),children:"Export"})}),G(c.Menu.Dropdown,{children:[n(c.Menu.Item,{icon:n(pe.Download,{size:14}),onClick:i.queries.downloadAllData,children:"Download Data"}),n(c.Menu.Item,{icon:n(pe.Code,{size:14}),onClick:Y,children:"View Schema"})]})]})]}),n(hs,{opened:C,close:I}),n(Va,{opened:b,close:g}),n($a,{opened:L,close:$,getCurrentSchema:o})]})}),Jr=Ce.observer(function({panel:e,exitFullScreen:r}){return G(c.Stack,{px:"10px",pb:"5px",sx:{flexGrow:1,justifyContent:"flex-start"},children:[n(c.Group,{mx:"-5px",sx:{flexGrow:0},children:n(c.Button,{variant:"default",size:"sm",onClick:r,leftIcon:n(pe.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),n(c.Group,{mx:"-5px",grow:!0,sx:{flexGrow:1,flexShrink:0},children:n(It,{...e})})]})});function Hr(t){const[e,r]=V.default.useState(null),s=V.default.useCallback(i=>{r(i)},[]),a=V.default.useCallback(()=>{r(null)},[]),l=V.default.useMemo(()=>t.find(i=>i.id===e),[e,t]);return{viewPanelInFullScreen:s,exitFullScreen:a,inFullScreen:!!l,fullScreenPanel:l}}const en=Ce.observer(function({}){const e=Re(),{control:r,handleSubmit:s}=be.useForm({defaultValues:e.filters.values});return e.filters.empty?null:n("form",{onSubmit:s(e.filters.setValues),children:G(c.Group,{className:"dashboard-filters",position:"apart",p:"md",noWrap:!0,sx:{boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[n(c.Group,{align:"flex-start",children:e.filters.inOrder.map(a=>n(be.Controller,{name:a.key,control:r,render:({field:l})=>n(Xr,{filter:a,...l})},a.id))}),n(c.Group,{sx:{alignSelf:"flex-end"},children:n(c.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})}),tn=se.types.model({label:se.types.string,value:se.types.string}).actions(t=>({setLabel(e){t.label=e},setValue(e){t.value=e}})),rn=se.types.model("FilterConfigModel_Select",{required:se.types.boolean,default_value:se.types.string,static_options:se.types.optional(se.types.array(tn),[]),options_query:Qr}).actions(t=>({addStaticOption(e){t.static_options.push(e)},removeStaticOption(e){t.static_options.splice(e,1)},setRequired(e){t.required=e},setDefaultValue(e){t.default_value=e},setOptionsQuery(e){t.options_query=e}})),ms=()=>rn.create({required:!1,default_value:"",static_options:[],options_query:{type:"postgresql",key:"",sql:""}}),nn=se.types.model("FilterConfigModel_MultiSelect",{default_value:se.types.optional(se.types.array(se.types.string),[]),static_options:se.types.optional(se.types.array(tn),[]),options_query:Qr}).actions(t=>({addStaticOption(e){t.static_options.push(e)},removeStaticOption(e){t.static_options.splice(e,1)},setDefaultValue(e){t.default_value=se.cast(e)},setOptionsQuery(e){t.options_query=e}})),gs=()=>nn.create({default_value:[],static_options:[],options_query:{type:"postgresql",key:"",sql:""}}),an=se.types.model("FilterConfigModel_Checkbox",{default_value:se.types.boolean}).actions(t=>({setDefaultValue(e){t.default_value=e}})),vs=()=>an.create({default_value:!1}),sn=se.types.model("FilterConfigModel_DateRange",{required:se.types.boolean,inputFormat:se.types.enumeration("DateRangeInputFormat",["YYYY","YYYY-MM","YYYY-MM-DD"]),clearable:se.types.boolean}).actions(t=>({setRequired(e){t.required=e},setClearable(e){t.clearable=e},setInputFormat(e){t.inputFormat=e}})),bs=()=>sn.create({required:!1,inputFormat:"YYYY-MM-DD",clearable:!1}),tr=se.types.model("FilterModel",{id:se.types.identifier,key:se.types.string,label:se.types.string,order:se.types.number,type:se.types.enumeration("DashboardFilterType",[qe.Select,qe.MultiSelect,qe.TextInput,qe.Checkbox,qe.DateRange]),config:se.types.union(rn,nn,Zr,an,sn)}).actions(t=>({setKey(e){t.key=e},setLabel(e){t.label=e},setOrder(e){t.order=e},setType(e){switch(e){case qe.Select:t.config=ms();break;case qe.MultiSelect:t.config=gs();break;case qe.TextInput:t.config=Yr();break;case qe.Checkbox:t.config=vs();break;case qe.DateRange:t.config=bs();break}t.type=e}})),on=se.types.model("FiltersModel",{original:se.types.optional(se.types.array(tr),[]),current:se.types.optional(se.types.array(tr),[]),values:se.types.optional(se.types.frozen(),{})}).views(t=>({get changed(){return!ye.default.isEqual(t.original,t.current)},get firstID(){if(t.current.length!==0)return t.current[0].id},get inOrder(){return ye.default.sortBy(t.current,"order")},get empty(){return t.current.length===0}})).actions(t=>({reset(){t.current=ye.default.cloneDeep(t.original)},replace(e){t.current=se.cast(e)},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},setValues(e){t.values=e},setValueByKey(e,r){t.values[e]=r},getValueByKey(e){return t.values[e]}}));function ln(t){const e=t.reduce((r,s)=>{var a;return r[s.key]=(a=s.config.default_value)!=null?a:"",r},{});return{original:t,current:t,values:e}}function Pt(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var un={exports:{}};/*!
42
+
43
+ JSZip v3.10.1 - A JavaScript class for generating and reading zip files
44
+ <http://stuartk.com/jszip>
45
+
46
+ (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
47
+ Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
48
+
49
+ JSZip uses the library pako released under the MIT license :
50
+ https://github.com/nodeca/pako/blob/main/LICENSE
51
+ */(function(t,e){(function(r){t.exports=r()})(function(){return function r(s,a,l){function o(v,h){if(!a[v]){if(!s[v]){var p=typeof Pt=="function"&&Pt;if(!h&&p)return p(v,!0);if(i)return i(v,!0);var b=new Error("Cannot find module '"+v+"'");throw b.code="MODULE_NOT_FOUND",b}var m=a[v]={exports:{}};s[v][0].call(m.exports,function(E){var g=s[v][1][E];return o(g||E)},m,m.exports,r,s,a,l)}return a[v].exports}for(var i=typeof Pt=="function"&&Pt,d=0;d<l.length;d++)o(l[d]);return o}({1:[function(r,s,a){var l=r("./utils"),o=r("./support"),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";a.encode=function(d){for(var v,h,p,b,m,E,g,C=[],_=0,T=d.length,I=T,L=l.getTypeOf(d)!=="string";_<d.length;)I=T-_,p=L?(v=d[_++],h=_<T?d[_++]:0,_<T?d[_++]:0):(v=d.charCodeAt(_++),h=_<T?d.charCodeAt(_++):0,_<T?d.charCodeAt(_++):0),b=v>>2,m=(3&v)<<4|h>>4,E=1<I?(15&h)<<2|p>>6:64,g=2<I?63&p:64,C.push(i.charAt(b)+i.charAt(m)+i.charAt(E)+i.charAt(g));return C.join("")},a.decode=function(d){var v,h,p,b,m,E,g=0,C=0,_="data:";if(d.substr(0,_.length)===_)throw new Error("Invalid base64 input, it looks like a data url.");var T,I=3*(d=d.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(d.charAt(d.length-1)===i.charAt(64)&&I--,d.charAt(d.length-2)===i.charAt(64)&&I--,I%1!=0)throw new Error("Invalid base64 input, bad content length.");for(T=o.uint8array?new Uint8Array(0|I):new Array(0|I);g<d.length;)v=i.indexOf(d.charAt(g++))<<2|(b=i.indexOf(d.charAt(g++)))>>4,h=(15&b)<<4|(m=i.indexOf(d.charAt(g++)))>>2,p=(3&m)<<6|(E=i.indexOf(d.charAt(g++))),T[C++]=v,m!==64&&(T[C++]=h),E!==64&&(T[C++]=p);return T}},{"./support":30,"./utils":32}],2:[function(r,s,a){var l=r("./external"),o=r("./stream/DataWorker"),i=r("./stream/Crc32Probe"),d=r("./stream/DataLengthProbe");function v(h,p,b,m,E){this.compressedSize=h,this.uncompressedSize=p,this.crc32=b,this.compression=m,this.compressedContent=E}v.prototype={getContentWorker:function(){var h=new o(l.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new d("data_length")),p=this;return h.on("end",function(){if(this.streamInfo.data_length!==p.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),h},getCompressedWorker:function(){return new o(l.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},v.createWorkerFrom=function(h,p,b){return h.pipe(new i).pipe(new d("uncompressedSize")).pipe(p.compressWorker(b)).pipe(new d("compressedSize")).withStreamInfo("compression",p)},s.exports=v},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(r,s,a){var l=r("./stream/GenericWorker");a.STORE={magic:"\0\0",compressWorker:function(){return new l("STORE compression")},uncompressWorker:function(){return new l("STORE decompression")}},a.DEFLATE=r("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(r,s,a){var l=r("./utils"),o=function(){for(var i,d=[],v=0;v<256;v++){i=v;for(var h=0;h<8;h++)i=1&i?3988292384^i>>>1:i>>>1;d[v]=i}return d}();s.exports=function(i,d){return i!==void 0&&i.length?l.getTypeOf(i)!=="string"?function(v,h,p,b){var m=o,E=b+p;v^=-1;for(var g=b;g<E;g++)v=v>>>8^m[255&(v^h[g])];return-1^v}(0|d,i,i.length,0):function(v,h,p,b){var m=o,E=b+p;v^=-1;for(var g=b;g<E;g++)v=v>>>8^m[255&(v^h.charCodeAt(g))];return-1^v}(0|d,i,i.length,0):0}},{"./utils":32}],5:[function(r,s,a){a.base64=!1,a.binary=!1,a.dir=!1,a.createFolders=!0,a.date=null,a.compression=null,a.compressionOptions=null,a.comment=null,a.unixPermissions=null,a.dosPermissions=null},{}],6:[function(r,s,a){var l=null;l=typeof Promise<"u"?Promise:r("lie"),s.exports={Promise:l}},{lie:37}],7:[function(r,s,a){var l=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",o=r("pako"),i=r("./utils"),d=r("./stream/GenericWorker"),v=l?"uint8array":"array";function h(p,b){d.call(this,"FlateWorker/"+p),this._pako=null,this._pakoAction=p,this._pakoOptions=b,this.meta={}}a.magic="\b\0",i.inherits(h,d),h.prototype.processChunk=function(p){this.meta=p.meta,this._pako===null&&this._createPako(),this._pako.push(i.transformTo(v,p.data),!1)},h.prototype.flush=function(){d.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){d.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new o[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var p=this;this._pako.onData=function(b){p.push({data:b,meta:p.meta})}},a.compressWorker=function(p){return new h("Deflate",p)},a.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(r,s,a){function l(m,E){var g,C="";for(g=0;g<E;g++)C+=String.fromCharCode(255&m),m>>>=8;return C}function o(m,E,g,C,_,T){var I,L,F=m.file,Y=m.compression,$=T!==v.utf8encode,ee=i.transformTo("string",T(F.name)),N=i.transformTo("string",v.utf8encode(F.name)),ne=F.comment,ce=i.transformTo("string",T(ne)),z=i.transformTo("string",v.utf8encode(ne)),U=N.length!==F.name.length,f=z.length!==ne.length,j="",ge="",H="",y=F.dir,w=F.date,O={crc32:0,compressedSize:0,uncompressedSize:0};E&&!g||(O.crc32=m.crc32,O.compressedSize=m.compressedSize,O.uncompressedSize=m.uncompressedSize);var x=0;E&&(x|=8),$||!U&&!f||(x|=2048);var S=0,R=0;y&&(S|=16),_==="UNIX"?(R=798,S|=function(M,Z){var K=M;return M||(K=Z?16893:33204),(65535&K)<<16}(F.unixPermissions,y)):(R=20,S|=function(M){return 63&(M||0)}(F.dosPermissions)),I=w.getUTCHours(),I<<=6,I|=w.getUTCMinutes(),I<<=5,I|=w.getUTCSeconds()/2,L=w.getUTCFullYear()-1980,L<<=4,L|=w.getUTCMonth()+1,L<<=5,L|=w.getUTCDate(),U&&(ge=l(1,1)+l(h(ee),4)+N,j+="up"+l(ge.length,2)+ge),f&&(H=l(1,1)+l(h(ce),4)+z,j+="uc"+l(H.length,2)+H);var B="";return B+=`
52
+ \0`,B+=l(x,2),B+=Y.magic,B+=l(I,2),B+=l(L,2),B+=l(O.crc32,4),B+=l(O.compressedSize,4),B+=l(O.uncompressedSize,4),B+=l(ee.length,2),B+=l(j.length,2),{fileRecord:p.LOCAL_FILE_HEADER+B+ee+j,dirRecord:p.CENTRAL_FILE_HEADER+l(R,2)+B+l(ce.length,2)+"\0\0\0\0"+l(S,4)+l(C,4)+ee+j+ce}}var i=r("../utils"),d=r("../stream/GenericWorker"),v=r("../utf8"),h=r("../crc32"),p=r("../signature");function b(m,E,g,C){d.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=E,this.zipPlatform=g,this.encodeFileName=C,this.streamFiles=m,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}i.inherits(b,d),b.prototype.push=function(m){var E=m.meta.percent||0,g=this.entriesCount,C=this._sources.length;this.accumulate?this.contentBuffer.push(m):(this.bytesWritten+=m.data.length,d.prototype.push.call(this,{data:m.data,meta:{currentFile:this.currentFile,percent:g?(E+100*(g-C-1))/g:100}}))},b.prototype.openedSource=function(m){this.currentSourceOffset=this.bytesWritten,this.currentFile=m.file.name;var E=this.streamFiles&&!m.file.dir;if(E){var g=o(m,E,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:g.fileRecord,meta:{percent:0}})}else this.accumulate=!0},b.prototype.closedSource=function(m){this.accumulate=!1;var E=this.streamFiles&&!m.file.dir,g=o(m,E,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(g.dirRecord),E)this.push({data:function(C){return p.DATA_DESCRIPTOR+l(C.crc32,4)+l(C.compressedSize,4)+l(C.uncompressedSize,4)}(m),meta:{percent:100}});else for(this.push({data:g.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},b.prototype.flush=function(){for(var m=this.bytesWritten,E=0;E<this.dirRecords.length;E++)this.push({data:this.dirRecords[E],meta:{percent:100}});var g=this.bytesWritten-m,C=function(_,T,I,L,F){var Y=i.transformTo("string",F(L));return p.CENTRAL_DIRECTORY_END+"\0\0\0\0"+l(_,2)+l(_,2)+l(T,4)+l(I,4)+l(Y.length,2)+Y}(this.dirRecords.length,g,m,this.zipComment,this.encodeFileName);this.push({data:C,meta:{percent:100}})},b.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},b.prototype.registerPrevious=function(m){this._sources.push(m);var E=this;return m.on("data",function(g){E.processChunk(g)}),m.on("end",function(){E.closedSource(E.previous.streamInfo),E._sources.length?E.prepareNextSource():E.end()}),m.on("error",function(g){E.error(g)}),this},b.prototype.resume=function(){return!!d.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},b.prototype.error=function(m){var E=this._sources;if(!d.prototype.error.call(this,m))return!1;for(var g=0;g<E.length;g++)try{E[g].error(m)}catch{}return!0},b.prototype.lock=function(){d.prototype.lock.call(this);for(var m=this._sources,E=0;E<m.length;E++)m[E].lock()},s.exports=b},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(r,s,a){var l=r("../compressions"),o=r("./ZipFileWorker");a.generateWorker=function(i,d,v){var h=new o(d.streamFiles,v,d.platform,d.encodeFileName),p=0;try{i.forEach(function(b,m){p++;var E=function(T,I){var L=T||I,F=l[L];if(!F)throw new Error(L+" is not a valid compression method !");return F}(m.options.compression,d.compression),g=m.options.compressionOptions||d.compressionOptions||{},C=m.dir,_=m.date;m._compressWorker(E,g).withStreamInfo("file",{name:b,dir:C,date:_,comment:m.comment||"",unixPermissions:m.unixPermissions,dosPermissions:m.dosPermissions}).pipe(h)}),h.entriesCount=p}catch(b){h.error(b)}return h}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(r,s,a){function l(){if(!(this instanceof l))return new l;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var o=new l;for(var i in this)typeof this[i]!="function"&&(o[i]=this[i]);return o}}(l.prototype=r("./object")).loadAsync=r("./load"),l.support=r("./support"),l.defaults=r("./defaults"),l.version="3.10.1",l.loadAsync=function(o,i){return new l().loadAsync(o,i)},l.external=r("./external"),s.exports=l},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(r,s,a){var l=r("./utils"),o=r("./external"),i=r("./utf8"),d=r("./zipEntries"),v=r("./stream/Crc32Probe"),h=r("./nodejsUtils");function p(b){return new o.Promise(function(m,E){var g=b.decompressed.getContentWorker().pipe(new v);g.on("error",function(C){E(C)}).on("end",function(){g.streamInfo.crc32!==b.decompressed.crc32?E(new Error("Corrupted zip : CRC32 mismatch")):m()}).resume()})}s.exports=function(b,m){var E=this;return m=l.extend(m||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:i.utf8decode}),h.isNode&&h.isStream(b)?o.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):l.prepareContent("the loaded zip file",b,!0,m.optimizedBinaryString,m.base64).then(function(g){var C=new d(m);return C.load(g),C}).then(function(g){var C=[o.Promise.resolve(g)],_=g.files;if(m.checkCRC32)for(var T=0;T<_.length;T++)C.push(p(_[T]));return o.Promise.all(C)}).then(function(g){for(var C=g.shift(),_=C.files,T=0;T<_.length;T++){var I=_[T],L=I.fileNameStr,F=l.resolve(I.fileNameStr);E.file(F,I.decompressed,{binary:!0,optimizedBinaryString:!0,date:I.date,dir:I.dir,comment:I.fileCommentStr.length?I.fileCommentStr:null,unixPermissions:I.unixPermissions,dosPermissions:I.dosPermissions,createFolders:m.createFolders}),I.dir||(E.file(F).unsafeOriginalName=L)}return C.zipComment.length&&(E.comment=C.zipComment),E})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(r,s,a){var l=r("../utils"),o=r("../stream/GenericWorker");function i(d,v){o.call(this,"Nodejs stream input adapter for "+d),this._upstreamEnded=!1,this._bindStream(v)}l.inherits(i,o),i.prototype._bindStream=function(d){var v=this;(this._stream=d).pause(),d.on("data",function(h){v.push({data:h,meta:{percent:0}})}).on("error",function(h){v.isPaused?this.generatedError=h:v.error(h)}).on("end",function(){v.isPaused?v._upstreamEnded=!0:v.end()})},i.prototype.pause=function(){return!!o.prototype.pause.call(this)&&(this._stream.pause(),!0)},i.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},s.exports=i},{"../stream/GenericWorker":28,"../utils":32}],13:[function(r,s,a){var l=r("readable-stream").Readable;function o(i,d,v){l.call(this,d),this._helper=i;var h=this;i.on("data",function(p,b){h.push(p)||h._helper.pause(),v&&v(b)}).on("error",function(p){h.emit("error",p)}).on("end",function(){h.push(null)})}r("../utils").inherits(o,l),o.prototype._read=function(){this._helper.resume()},s.exports=o},{"../utils":32,"readable-stream":16}],14:[function(r,s,a){s.exports={isNode:typeof Buffer<"u",newBufferFrom:function(l,o){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(l,o);if(typeof l=="number")throw new Error('The "data" argument must not be a number');return new Buffer(l,o)},allocBuffer:function(l){if(Buffer.alloc)return Buffer.alloc(l);var o=new Buffer(l);return o.fill(0),o},isBuffer:function(l){return Buffer.isBuffer(l)},isStream:function(l){return l&&typeof l.on=="function"&&typeof l.pause=="function"&&typeof l.resume=="function"}}},{}],15:[function(r,s,a){function l(F,Y,$){var ee,N=i.getTypeOf(Y),ne=i.extend($||{},h);ne.date=ne.date||new Date,ne.compression!==null&&(ne.compression=ne.compression.toUpperCase()),typeof ne.unixPermissions=="string"&&(ne.unixPermissions=parseInt(ne.unixPermissions,8)),ne.unixPermissions&&16384&ne.unixPermissions&&(ne.dir=!0),ne.dosPermissions&&16&ne.dosPermissions&&(ne.dir=!0),ne.dir&&(F=_(F)),ne.createFolders&&(ee=C(F))&&T.call(this,ee,!0);var ce=N==="string"&&ne.binary===!1&&ne.base64===!1;$&&$.binary!==void 0||(ne.binary=!ce),(Y instanceof p&&Y.uncompressedSize===0||ne.dir||!Y||Y.length===0)&&(ne.base64=!1,ne.binary=!0,Y="",ne.compression="STORE",N="string");var z=null;z=Y instanceof p||Y instanceof d?Y:E.isNode&&E.isStream(Y)?new g(F,Y):i.prepareContent(F,Y,ne.binary,ne.optimizedBinaryString,ne.base64);var U=new b(F,z,ne);this.files[F]=U}var o=r("./utf8"),i=r("./utils"),d=r("./stream/GenericWorker"),v=r("./stream/StreamHelper"),h=r("./defaults"),p=r("./compressedObject"),b=r("./zipObject"),m=r("./generate"),E=r("./nodejsUtils"),g=r("./nodejs/NodejsStreamInputAdapter"),C=function(F){F.slice(-1)==="/"&&(F=F.substring(0,F.length-1));var Y=F.lastIndexOf("/");return 0<Y?F.substring(0,Y):""},_=function(F){return F.slice(-1)!=="/"&&(F+="/"),F},T=function(F,Y){return Y=Y!==void 0?Y:h.createFolders,F=_(F),this.files[F]||l.call(this,F,null,{dir:!0,createFolders:Y}),this.files[F]};function I(F){return Object.prototype.toString.call(F)==="[object RegExp]"}var L={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(F){var Y,$,ee;for(Y in this.files)ee=this.files[Y],($=Y.slice(this.root.length,Y.length))&&Y.slice(0,this.root.length)===this.root&&F($,ee)},filter:function(F){var Y=[];return this.forEach(function($,ee){F($,ee)&&Y.push(ee)}),Y},file:function(F,Y,$){if(arguments.length!==1)return F=this.root+F,l.call(this,F,Y,$),this;if(I(F)){var ee=F;return this.filter(function(ne,ce){return!ce.dir&&ee.test(ne)})}var N=this.files[this.root+F];return N&&!N.dir?N:null},folder:function(F){if(!F)return this;if(I(F))return this.filter(function(N,ne){return ne.dir&&F.test(N)});var Y=this.root+F,$=T.call(this,Y),ee=this.clone();return ee.root=$.name,ee},remove:function(F){F=this.root+F;var Y=this.files[F];if(Y||(F.slice(-1)!=="/"&&(F+="/"),Y=this.files[F]),Y&&!Y.dir)delete this.files[F];else for(var $=this.filter(function(N,ne){return ne.name.slice(0,F.length)===F}),ee=0;ee<$.length;ee++)delete this.files[$[ee].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(F){var Y,$={};try{if(($=i.extend(F||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:o.utf8encode})).type=$.type.toLowerCase(),$.compression=$.compression.toUpperCase(),$.type==="binarystring"&&($.type="string"),!$.type)throw new Error("No output type specified.");i.checkSupport($.type),$.platform!=="darwin"&&$.platform!=="freebsd"&&$.platform!=="linux"&&$.platform!=="sunos"||($.platform="UNIX"),$.platform==="win32"&&($.platform="DOS");var ee=$.comment||this.comment||"";Y=m.generateWorker(this,$,ee)}catch(N){(Y=new d("error")).error(N)}return new v(Y,$.type||"string",$.mimeType)},generateAsync:function(F,Y){return this.generateInternalStream(F).accumulate(Y)},generateNodeStream:function(F,Y){return(F=F||{}).type||(F.type="nodebuffer"),this.generateInternalStream(F).toNodejsStream(Y)}};s.exports=L},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(r,s,a){s.exports=r("stream")},{stream:void 0}],17:[function(r,s,a){var l=r("./DataReader");function o(i){l.call(this,i);for(var d=0;d<this.data.length;d++)i[d]=255&i[d]}r("../utils").inherits(o,l),o.prototype.byteAt=function(i){return this.data[this.zero+i]},o.prototype.lastIndexOfSignature=function(i){for(var d=i.charCodeAt(0),v=i.charCodeAt(1),h=i.charCodeAt(2),p=i.charCodeAt(3),b=this.length-4;0<=b;--b)if(this.data[b]===d&&this.data[b+1]===v&&this.data[b+2]===h&&this.data[b+3]===p)return b-this.zero;return-1},o.prototype.readAndCheckSignature=function(i){var d=i.charCodeAt(0),v=i.charCodeAt(1),h=i.charCodeAt(2),p=i.charCodeAt(3),b=this.readData(4);return d===b[0]&&v===b[1]&&h===b[2]&&p===b[3]},o.prototype.readData=function(i){if(this.checkOffset(i),i===0)return[];var d=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,d},s.exports=o},{"../utils":32,"./DataReader":18}],18:[function(r,s,a){var l=r("../utils");function o(i){this.data=i,this.length=i.length,this.index=0,this.zero=0}o.prototype={checkOffset:function(i){this.checkIndex(this.index+i)},checkIndex:function(i){if(this.length<this.zero+i||i<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+i+"). Corrupted zip ?")},setIndex:function(i){this.checkIndex(i),this.index=i},skip:function(i){this.setIndex(this.index+i)},byteAt:function(){},readInt:function(i){var d,v=0;for(this.checkOffset(i),d=this.index+i-1;d>=this.index;d--)v=(v<<8)+this.byteAt(d);return this.index+=i,v},readString:function(i){return l.transformTo("string",this.readData(i))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var i=this.readInt(4);return new Date(Date.UTC(1980+(i>>25&127),(i>>21&15)-1,i>>16&31,i>>11&31,i>>5&63,(31&i)<<1))}},s.exports=o},{"../utils":32}],19:[function(r,s,a){var l=r("./Uint8ArrayReader");function o(i){l.call(this,i)}r("../utils").inherits(o,l),o.prototype.readData=function(i){this.checkOffset(i);var d=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,d},s.exports=o},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(r,s,a){var l=r("./DataReader");function o(i){l.call(this,i)}r("../utils").inherits(o,l),o.prototype.byteAt=function(i){return this.data.charCodeAt(this.zero+i)},o.prototype.lastIndexOfSignature=function(i){return this.data.lastIndexOf(i)-this.zero},o.prototype.readAndCheckSignature=function(i){return i===this.readData(4)},o.prototype.readData=function(i){this.checkOffset(i);var d=this.data.slice(this.zero+this.index,this.zero+this.index+i);return this.index+=i,d},s.exports=o},{"../utils":32,"./DataReader":18}],21:[function(r,s,a){var l=r("./ArrayReader");function o(i){l.call(this,i)}r("../utils").inherits(o,l),o.prototype.readData=function(i){if(this.checkOffset(i),i===0)return new Uint8Array(0);var d=this.data.subarray(this.zero+this.index,this.zero+this.index+i);return this.index+=i,d},s.exports=o},{"../utils":32,"./ArrayReader":17}],22:[function(r,s,a){var l=r("../utils"),o=r("../support"),i=r("./ArrayReader"),d=r("./StringReader"),v=r("./NodeBufferReader"),h=r("./Uint8ArrayReader");s.exports=function(p){var b=l.getTypeOf(p);return l.checkSupport(b),b!=="string"||o.uint8array?b==="nodebuffer"?new v(p):o.uint8array?new h(l.transformTo("uint8array",p)):new i(l.transformTo("array",p)):new d(p)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(r,s,a){a.LOCAL_FILE_HEADER="PK",a.CENTRAL_FILE_HEADER="PK",a.CENTRAL_DIRECTORY_END="PK",a.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",a.ZIP64_CENTRAL_DIRECTORY_END="PK",a.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(r,s,a){var l=r("./GenericWorker"),o=r("../utils");function i(d){l.call(this,"ConvertWorker to "+d),this.destType=d}o.inherits(i,l),i.prototype.processChunk=function(d){this.push({data:o.transformTo(this.destType,d.data),meta:d.meta})},s.exports=i},{"../utils":32,"./GenericWorker":28}],25:[function(r,s,a){var l=r("./GenericWorker"),o=r("../crc32");function i(){l.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}r("../utils").inherits(i,l),i.prototype.processChunk=function(d){this.streamInfo.crc32=o(d.data,this.streamInfo.crc32||0),this.push(d)},s.exports=i},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(r,s,a){var l=r("../utils"),o=r("./GenericWorker");function i(d){o.call(this,"DataLengthProbe for "+d),this.propName=d,this.withStreamInfo(d,0)}l.inherits(i,o),i.prototype.processChunk=function(d){if(d){var v=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=v+d.data.length}o.prototype.processChunk.call(this,d)},s.exports=i},{"../utils":32,"./GenericWorker":28}],27:[function(r,s,a){var l=r("../utils"),o=r("./GenericWorker");function i(d){o.call(this,"DataWorker");var v=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,d.then(function(h){v.dataIsReady=!0,v.data=h,v.max=h&&h.length||0,v.type=l.getTypeOf(h),v.isPaused||v._tickAndRepeat()},function(h){v.error(h)})}l.inherits(i,o),i.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},i.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,l.delay(this._tickAndRepeat,[],this)),!0)},i.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(l.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},i.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var d=null,v=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":d=this.data.substring(this.index,v);break;case"uint8array":d=this.data.subarray(this.index,v);break;case"array":case"nodebuffer":d=this.data.slice(this.index,v)}return this.index=v,this.push({data:d,meta:{percent:this.max?this.index/this.max*100:0}})},s.exports=i},{"../utils":32,"./GenericWorker":28}],28:[function(r,s,a){function l(o){this.name=o||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}l.prototype={push:function(o){this.emit("data",o)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(o){this.emit("error",o)}return!0},error:function(o){return!this.isFinished&&(this.isPaused?this.generatedError=o:(this.isFinished=!0,this.emit("error",o),this.previous&&this.previous.error(o),this.cleanUp()),!0)},on:function(o,i){return this._listeners[o].push(i),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(o,i){if(this._listeners[o])for(var d=0;d<this._listeners[o].length;d++)this._listeners[o][d].call(this,i)},pipe:function(o){return o.registerPrevious(this)},registerPrevious:function(o){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=o.streamInfo,this.mergeStreamInfo(),this.previous=o;var i=this;return o.on("data",function(d){i.processChunk(d)}),o.on("end",function(){i.end()}),o.on("error",function(d){i.error(d)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var o=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),o=!0),this.previous&&this.previous.resume(),!o},flush:function(){},processChunk:function(o){this.push(o)},withStreamInfo:function(o,i){return this.extraStreamInfo[o]=i,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var o in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,o)&&(this.streamInfo[o]=this.extraStreamInfo[o])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var o="Worker "+this.name;return this.previous?this.previous+" -> "+o:o}},s.exports=l},{}],29:[function(r,s,a){var l=r("../utils"),o=r("./ConvertWorker"),i=r("./GenericWorker"),d=r("../base64"),v=r("../support"),h=r("../external"),p=null;if(v.nodestream)try{p=r("../nodejs/NodejsStreamOutputAdapter")}catch{}function b(E,g){return new h.Promise(function(C,_){var T=[],I=E._internalType,L=E._outputType,F=E._mimeType;E.on("data",function(Y,$){T.push(Y),g&&g($)}).on("error",function(Y){T=[],_(Y)}).on("end",function(){try{var Y=function($,ee,N){switch($){case"blob":return l.newBlob(l.transformTo("arraybuffer",ee),N);case"base64":return d.encode(ee);default:return l.transformTo($,ee)}}(L,function($,ee){var N,ne=0,ce=null,z=0;for(N=0;N<ee.length;N++)z+=ee[N].length;switch($){case"string":return ee.join("");case"array":return Array.prototype.concat.apply([],ee);case"uint8array":for(ce=new Uint8Array(z),N=0;N<ee.length;N++)ce.set(ee[N],ne),ne+=ee[N].length;return ce;case"nodebuffer":return Buffer.concat(ee);default:throw new Error("concat : unsupported type '"+$+"'")}}(I,T),F);C(Y)}catch($){_($)}T=[]}).resume()})}function m(E,g,C){var _=g;switch(g){case"blob":case"arraybuffer":_="uint8array";break;case"base64":_="string"}try{this._internalType=_,this._outputType=g,this._mimeType=C,l.checkSupport(_),this._worker=E.pipe(new o(_)),E.lock()}catch(T){this._worker=new i("error"),this._worker.error(T)}}m.prototype={accumulate:function(E){return b(this,E)},on:function(E,g){var C=this;return E==="data"?this._worker.on(E,function(_){g.call(C,_.data,_.meta)}):this._worker.on(E,function(){l.delay(g,arguments,C)}),this},resume:function(){return l.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(E){if(l.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new p(this,{objectMode:this._outputType!=="nodebuffer"},E)}},s.exports=m},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(r,s,a){if(a.base64=!0,a.array=!0,a.string=!0,a.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",a.nodebuffer=typeof Buffer<"u",a.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")a.blob=!1;else{var l=new ArrayBuffer(0);try{a.blob=new Blob([l],{type:"application/zip"}).size===0}catch{try{var o=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);o.append(l),a.blob=o.getBlob("application/zip").size===0}catch{a.blob=!1}}}try{a.nodestream=!!r("readable-stream").Readable}catch{a.nodestream=!1}},{"readable-stream":16}],31:[function(r,s,a){for(var l=r("./utils"),o=r("./support"),i=r("./nodejsUtils"),d=r("./stream/GenericWorker"),v=new Array(256),h=0;h<256;h++)v[h]=252<=h?6:248<=h?5:240<=h?4:224<=h?3:192<=h?2:1;v[254]=v[254]=1;function p(){d.call(this,"utf-8 decode"),this.leftOver=null}function b(){d.call(this,"utf-8 encode")}a.utf8encode=function(m){return o.nodebuffer?i.newBufferFrom(m,"utf-8"):function(E){var g,C,_,T,I,L=E.length,F=0;for(T=0;T<L;T++)(64512&(C=E.charCodeAt(T)))==55296&&T+1<L&&(64512&(_=E.charCodeAt(T+1)))==56320&&(C=65536+(C-55296<<10)+(_-56320),T++),F+=C<128?1:C<2048?2:C<65536?3:4;for(g=o.uint8array?new Uint8Array(F):new Array(F),T=I=0;I<F;T++)(64512&(C=E.charCodeAt(T)))==55296&&T+1<L&&(64512&(_=E.charCodeAt(T+1)))==56320&&(C=65536+(C-55296<<10)+(_-56320),T++),C<128?g[I++]=C:(C<2048?g[I++]=192|C>>>6:(C<65536?g[I++]=224|C>>>12:(g[I++]=240|C>>>18,g[I++]=128|C>>>12&63),g[I++]=128|C>>>6&63),g[I++]=128|63&C);return g}(m)},a.utf8decode=function(m){return o.nodebuffer?l.transformTo("nodebuffer",m).toString("utf-8"):function(E){var g,C,_,T,I=E.length,L=new Array(2*I);for(g=C=0;g<I;)if((_=E[g++])<128)L[C++]=_;else if(4<(T=v[_]))L[C++]=65533,g+=T-1;else{for(_&=T===2?31:T===3?15:7;1<T&&g<I;)_=_<<6|63&E[g++],T--;1<T?L[C++]=65533:_<65536?L[C++]=_:(_-=65536,L[C++]=55296|_>>10&1023,L[C++]=56320|1023&_)}return L.length!==C&&(L.subarray?L=L.subarray(0,C):L.length=C),l.applyFromCharCode(L)}(m=l.transformTo(o.uint8array?"uint8array":"array",m))},l.inherits(p,d),p.prototype.processChunk=function(m){var E=l.transformTo(o.uint8array?"uint8array":"array",m.data);if(this.leftOver&&this.leftOver.length){if(o.uint8array){var g=E;(E=new Uint8Array(g.length+this.leftOver.length)).set(this.leftOver,0),E.set(g,this.leftOver.length)}else E=this.leftOver.concat(E);this.leftOver=null}var C=function(T,I){var L;for((I=I||T.length)>T.length&&(I=T.length),L=I-1;0<=L&&(192&T[L])==128;)L--;return L<0||L===0?I:L+v[T[L]]>I?L:I}(E),_=E;C!==E.length&&(o.uint8array?(_=E.subarray(0,C),this.leftOver=E.subarray(C,E.length)):(_=E.slice(0,C),this.leftOver=E.slice(C,E.length))),this.push({data:a.utf8decode(_),meta:m.meta})},p.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:a.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},a.Utf8DecodeWorker=p,l.inherits(b,d),b.prototype.processChunk=function(m){this.push({data:a.utf8encode(m.data),meta:m.meta})},a.Utf8EncodeWorker=b},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(r,s,a){var l=r("./support"),o=r("./base64"),i=r("./nodejsUtils"),d=r("./external");function v(g){return g}function h(g,C){for(var _=0;_<g.length;++_)C[_]=255&g.charCodeAt(_);return C}r("setimmediate"),a.newBlob=function(g,C){a.checkSupport("blob");try{return new Blob([g],{type:C})}catch{try{var _=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return _.append(g),_.getBlob(C)}catch{throw new Error("Bug : can't construct the Blob.")}}};var p={stringifyByChunk:function(g,C,_){var T=[],I=0,L=g.length;if(L<=_)return String.fromCharCode.apply(null,g);for(;I<L;)C==="array"||C==="nodebuffer"?T.push(String.fromCharCode.apply(null,g.slice(I,Math.min(I+_,L)))):T.push(String.fromCharCode.apply(null,g.subarray(I,Math.min(I+_,L)))),I+=_;return T.join("")},stringifyByChar:function(g){for(var C="",_=0;_<g.length;_++)C+=String.fromCharCode(g[_]);return C},applyCanBeUsed:{uint8array:function(){try{return l.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}}(),nodebuffer:function(){try{return l.nodebuffer&&String.fromCharCode.apply(null,i.allocBuffer(1)).length===1}catch{return!1}}()}};function b(g){var C=65536,_=a.getTypeOf(g),T=!0;if(_==="uint8array"?T=p.applyCanBeUsed.uint8array:_==="nodebuffer"&&(T=p.applyCanBeUsed.nodebuffer),T)for(;1<C;)try{return p.stringifyByChunk(g,_,C)}catch{C=Math.floor(C/2)}return p.stringifyByChar(g)}function m(g,C){for(var _=0;_<g.length;_++)C[_]=g[_];return C}a.applyFromCharCode=b;var E={};E.string={string:v,array:function(g){return h(g,new Array(g.length))},arraybuffer:function(g){return E.string.uint8array(g).buffer},uint8array:function(g){return h(g,new Uint8Array(g.length))},nodebuffer:function(g){return h(g,i.allocBuffer(g.length))}},E.array={string:b,array:v,arraybuffer:function(g){return new Uint8Array(g).buffer},uint8array:function(g){return new Uint8Array(g)},nodebuffer:function(g){return i.newBufferFrom(g)}},E.arraybuffer={string:function(g){return b(new Uint8Array(g))},array:function(g){return m(new Uint8Array(g),new Array(g.byteLength))},arraybuffer:v,uint8array:function(g){return new Uint8Array(g)},nodebuffer:function(g){return i.newBufferFrom(new Uint8Array(g))}},E.uint8array={string:b,array:function(g){return m(g,new Array(g.length))},arraybuffer:function(g){return g.buffer},uint8array:v,nodebuffer:function(g){return i.newBufferFrom(g)}},E.nodebuffer={string:b,array:function(g){return m(g,new Array(g.length))},arraybuffer:function(g){return E.nodebuffer.uint8array(g).buffer},uint8array:function(g){return m(g,new Uint8Array(g.length))},nodebuffer:v},a.transformTo=function(g,C){if(C=C||"",!g)return C;a.checkSupport(g);var _=a.getTypeOf(C);return E[_][g](C)},a.resolve=function(g){for(var C=g.split("/"),_=[],T=0;T<C.length;T++){var I=C[T];I==="."||I===""&&T!==0&&T!==C.length-1||(I===".."?_.pop():_.push(I))}return _.join("/")},a.getTypeOf=function(g){return typeof g=="string"?"string":Object.prototype.toString.call(g)==="[object Array]"?"array":l.nodebuffer&&i.isBuffer(g)?"nodebuffer":l.uint8array&&g instanceof Uint8Array?"uint8array":l.arraybuffer&&g instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(g){if(!l[g.toLowerCase()])throw new Error(g+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(g){var C,_,T="";for(_=0;_<(g||"").length;_++)T+="\\x"+((C=g.charCodeAt(_))<16?"0":"")+C.toString(16).toUpperCase();return T},a.delay=function(g,C,_){setImmediate(function(){g.apply(_||null,C||[])})},a.inherits=function(g,C){function _(){}_.prototype=C.prototype,g.prototype=new _},a.extend=function(){var g,C,_={};for(g=0;g<arguments.length;g++)for(C in arguments[g])Object.prototype.hasOwnProperty.call(arguments[g],C)&&_[C]===void 0&&(_[C]=arguments[g][C]);return _},a.prepareContent=function(g,C,_,T,I){return d.Promise.resolve(C).then(function(L){return l.blob&&(L instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(L))!==-1)&&typeof FileReader<"u"?new d.Promise(function(F,Y){var $=new FileReader;$.onload=function(ee){F(ee.target.result)},$.onerror=function(ee){Y(ee.target.error)},$.readAsArrayBuffer(L)}):L}).then(function(L){var F=a.getTypeOf(L);return F?(F==="arraybuffer"?L=a.transformTo("uint8array",L):F==="string"&&(I?L=o.decode(L):_&&T!==!0&&(L=function(Y){return h(Y,l.uint8array?new Uint8Array(Y.length):new Array(Y.length))}(L))),L):d.Promise.reject(new Error("Can't read the data of '"+g+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(r,s,a){var l=r("./reader/readerFor"),o=r("./utils"),i=r("./signature"),d=r("./zipEntry"),v=r("./support");function h(p){this.files=[],this.loadOptions=p}h.prototype={checkSignature:function(p){if(!this.reader.readAndCheckSignature(p)){this.reader.index-=4;var b=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+o.pretty(b)+", expected "+o.pretty(p)+")")}},isSignature:function(p,b){var m=this.reader.index;this.reader.setIndex(p);var E=this.reader.readString(4)===b;return this.reader.setIndex(m),E},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var p=this.reader.readData(this.zipCommentLength),b=v.uint8array?"uint8array":"array",m=o.transformTo(b,p);this.zipComment=this.loadOptions.decodeFileName(m)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var p,b,m,E=this.zip64EndOfCentralSize-44;0<E;)p=this.reader.readInt(2),b=this.reader.readInt(4),m=this.reader.readData(b),this.zip64ExtensibleData[p]={id:p,length:b,value:m}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var p,b;for(p=0;p<this.files.length;p++)b=this.files[p],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(i.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8(),b.processAttributes()},readCentralDir:function(){var p;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(i.CENTRAL_FILE_HEADER);)(p=new d({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(p);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var p=this.reader.lastIndexOfSignature(i.CENTRAL_DIRECTORY_END);if(p<0)throw this.isSignature(0,i.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(p);var b=p;if(this.checkSignature(i.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,(p=this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(p),this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,i.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(i.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(i.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var m=this.centralDirOffset+this.centralDirSize;this.zip64&&(m+=20,m+=12+this.zip64EndOfCentralSize);var E=b-m;if(0<E)this.isSignature(b,i.CENTRAL_FILE_HEADER)||(this.reader.zero=E);else if(E<0)throw new Error("Corrupted zip: missing "+Math.abs(E)+" bytes.")},prepareReader:function(p){this.reader=l(p)},load:function(p){this.prepareReader(p),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},s.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(r,s,a){var l=r("./reader/readerFor"),o=r("./utils"),i=r("./compressedObject"),d=r("./crc32"),v=r("./utf8"),h=r("./compressions"),p=r("./support");function b(m,E){this.options=m,this.loadOptions=E}b.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(m){var E,g;if(m.skip(22),this.fileNameLength=m.readInt(2),g=m.readInt(2),this.fileName=m.readData(this.fileNameLength),m.skip(g),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((E=function(C){for(var _ in h)if(Object.prototype.hasOwnProperty.call(h,_)&&h[_].magic===C)return h[_];return null}(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+o.pretty(this.compressionMethod)+" unknown (inner file : "+o.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,E,m.readData(this.compressedSize))},readCentralPart:function(m){this.versionMadeBy=m.readInt(2),m.skip(2),this.bitFlag=m.readInt(2),this.compressionMethod=m.readString(2),this.date=m.readDate(),this.crc32=m.readInt(4),this.compressedSize=m.readInt(4),this.uncompressedSize=m.readInt(4);var E=m.readInt(2);if(this.extraFieldsLength=m.readInt(2),this.fileCommentLength=m.readInt(2),this.diskNumberStart=m.readInt(2),this.internalFileAttributes=m.readInt(2),this.externalFileAttributes=m.readInt(4),this.localHeaderOffset=m.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");m.skip(E),this.readExtraFields(m),this.parseZIP64ExtraField(m),this.fileComment=m.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var m=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),m==0&&(this.dosPermissions=63&this.externalFileAttributes),m==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var m=l(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=m.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=m.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=m.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=m.readInt(4))}},readExtraFields:function(m){var E,g,C,_=m.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});m.index+4<_;)E=m.readInt(2),g=m.readInt(2),C=m.readData(g),this.extraFields[E]={id:E,length:g,value:C};m.setIndex(_)},handleUTF8:function(){var m=p.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=v.utf8decode(this.fileName),this.fileCommentStr=v.utf8decode(this.fileComment);else{var E=this.findExtraFieldUnicodePath();if(E!==null)this.fileNameStr=E;else{var g=o.transformTo(m,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(g)}var C=this.findExtraFieldUnicodeComment();if(C!==null)this.fileCommentStr=C;else{var _=o.transformTo(m,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(_)}}},findExtraFieldUnicodePath:function(){var m=this.extraFields[28789];if(m){var E=l(m.value);return E.readInt(1)!==1||d(this.fileName)!==E.readInt(4)?null:v.utf8decode(E.readData(m.length-5))}return null},findExtraFieldUnicodeComment:function(){var m=this.extraFields[25461];if(m){var E=l(m.value);return E.readInt(1)!==1||d(this.fileComment)!==E.readInt(4)?null:v.utf8decode(E.readData(m.length-5))}return null}},s.exports=b},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(r,s,a){function l(E,g,C){this.name=E,this.dir=C.dir,this.date=C.date,this.comment=C.comment,this.unixPermissions=C.unixPermissions,this.dosPermissions=C.dosPermissions,this._data=g,this._dataBinary=C.binary,this.options={compression:C.compression,compressionOptions:C.compressionOptions}}var o=r("./stream/StreamHelper"),i=r("./stream/DataWorker"),d=r("./utf8"),v=r("./compressedObject"),h=r("./stream/GenericWorker");l.prototype={internalStream:function(E){var g=null,C="string";try{if(!E)throw new Error("No output type specified.");var _=(C=E.toLowerCase())==="string"||C==="text";C!=="binarystring"&&C!=="text"||(C="string"),g=this._decompressWorker();var T=!this._dataBinary;T&&!_&&(g=g.pipe(new d.Utf8EncodeWorker)),!T&&_&&(g=g.pipe(new d.Utf8DecodeWorker))}catch(I){(g=new h("error")).error(I)}return new o(g,C,"")},async:function(E,g){return this.internalStream(E).accumulate(g)},nodeStream:function(E,g){return this.internalStream(E||"nodebuffer").toNodejsStream(g)},_compressWorker:function(E,g){if(this._data instanceof v&&this._data.compression.magic===E.magic)return this._data.getCompressedWorker();var C=this._decompressWorker();return this._dataBinary||(C=C.pipe(new d.Utf8EncodeWorker)),v.createWorkerFrom(C,E,g)},_decompressWorker:function(){return this._data instanceof v?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var p=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],b=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},m=0;m<p.length;m++)l.prototype[p[m]]=b;s.exports=l},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(r,s,a){(function(l){var o,i,d=l.MutationObserver||l.WebKitMutationObserver;if(d){var v=0,h=new d(E),p=l.document.createTextNode("");h.observe(p,{characterData:!0}),o=function(){p.data=v=++v%2}}else if(l.setImmediate||l.MessageChannel===void 0)o="document"in l&&"onreadystatechange"in l.document.createElement("script")?function(){var g=l.document.createElement("script");g.onreadystatechange=function(){E(),g.onreadystatechange=null,g.parentNode.removeChild(g),g=null},l.document.documentElement.appendChild(g)}:function(){setTimeout(E,0)};else{var b=new l.MessageChannel;b.port1.onmessage=E,o=function(){b.port2.postMessage(0)}}var m=[];function E(){var g,C;i=!0;for(var _=m.length;_;){for(C=m,m=[],g=-1;++g<_;)C[g]();_=m.length}i=!1}s.exports=function(g){m.push(g)!==1||i||o()}}).call(this,typeof Ze<"u"?Ze:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(r,s,a){var l=r("immediate");function o(){}var i={},d=["REJECTED"],v=["FULFILLED"],h=["PENDING"];function p(_){if(typeof _!="function")throw new TypeError("resolver must be a function");this.state=h,this.queue=[],this.outcome=void 0,_!==o&&g(this,_)}function b(_,T,I){this.promise=_,typeof T=="function"&&(this.onFulfilled=T,this.callFulfilled=this.otherCallFulfilled),typeof I=="function"&&(this.onRejected=I,this.callRejected=this.otherCallRejected)}function m(_,T,I){l(function(){var L;try{L=T(I)}catch(F){return i.reject(_,F)}L===_?i.reject(_,new TypeError("Cannot resolve promise with itself")):i.resolve(_,L)})}function E(_){var T=_&&_.then;if(_&&(typeof _=="object"||typeof _=="function")&&typeof T=="function")return function(){T.apply(_,arguments)}}function g(_,T){var I=!1;function L($){I||(I=!0,i.reject(_,$))}function F($){I||(I=!0,i.resolve(_,$))}var Y=C(function(){T(F,L)});Y.status==="error"&&L(Y.value)}function C(_,T){var I={};try{I.value=_(T),I.status="success"}catch(L){I.status="error",I.value=L}return I}(s.exports=p).prototype.finally=function(_){if(typeof _!="function")return this;var T=this.constructor;return this.then(function(I){return T.resolve(_()).then(function(){return I})},function(I){return T.resolve(_()).then(function(){throw I})})},p.prototype.catch=function(_){return this.then(null,_)},p.prototype.then=function(_,T){if(typeof _!="function"&&this.state===v||typeof T!="function"&&this.state===d)return this;var I=new this.constructor(o);return this.state!==h?m(I,this.state===v?_:T,this.outcome):this.queue.push(new b(I,_,T)),I},b.prototype.callFulfilled=function(_){i.resolve(this.promise,_)},b.prototype.otherCallFulfilled=function(_){m(this.promise,this.onFulfilled,_)},b.prototype.callRejected=function(_){i.reject(this.promise,_)},b.prototype.otherCallRejected=function(_){m(this.promise,this.onRejected,_)},i.resolve=function(_,T){var I=C(E,T);if(I.status==="error")return i.reject(_,I.value);var L=I.value;if(L)g(_,L);else{_.state=v,_.outcome=T;for(var F=-1,Y=_.queue.length;++F<Y;)_.queue[F].callFulfilled(T)}return _},i.reject=function(_,T){_.state=d,_.outcome=T;for(var I=-1,L=_.queue.length;++I<L;)_.queue[I].callRejected(T);return _},p.resolve=function(_){return _ instanceof this?_:i.resolve(new this(o),_)},p.reject=function(_){var T=new this(o);return i.reject(T,_)},p.all=function(_){var T=this;if(Object.prototype.toString.call(_)!=="[object Array]")return this.reject(new TypeError("must be an array"));var I=_.length,L=!1;if(!I)return this.resolve([]);for(var F=new Array(I),Y=0,$=-1,ee=new this(o);++$<I;)N(_[$],$);return ee;function N(ne,ce){T.resolve(ne).then(function(z){F[ce]=z,++Y!==I||L||(L=!0,i.resolve(ee,F))},function(z){L||(L=!0,i.reject(ee,z))})}},p.race=function(_){var T=this;if(Object.prototype.toString.call(_)!=="[object Array]")return this.reject(new TypeError("must be an array"));var I=_.length,L=!1;if(!I)return this.resolve([]);for(var F=-1,Y=new this(o);++F<I;)$=_[F],T.resolve($).then(function(ee){L||(L=!0,i.resolve(Y,ee))},function(ee){L||(L=!0,i.reject(Y,ee))});var $;return Y}},{immediate:36}],38:[function(r,s,a){var l={};(0,r("./lib/utils/common").assign)(l,r("./lib/deflate"),r("./lib/inflate"),r("./lib/zlib/constants")),s.exports=l},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(r,s,a){var l=r("./zlib/deflate"),o=r("./utils/common"),i=r("./utils/strings"),d=r("./zlib/messages"),v=r("./zlib/zstream"),h=Object.prototype.toString,p=0,b=-1,m=0,E=8;function g(_){if(!(this instanceof g))return new g(_);this.options=o.assign({level:b,method:E,chunkSize:16384,windowBits:15,memLevel:8,strategy:m,to:""},_||{});var T=this.options;T.raw&&0<T.windowBits?T.windowBits=-T.windowBits:T.gzip&&0<T.windowBits&&T.windowBits<16&&(T.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new v,this.strm.avail_out=0;var I=l.deflateInit2(this.strm,T.level,T.method,T.windowBits,T.memLevel,T.strategy);if(I!==p)throw new Error(d[I]);if(T.header&&l.deflateSetHeader(this.strm,T.header),T.dictionary){var L;if(L=typeof T.dictionary=="string"?i.string2buf(T.dictionary):h.call(T.dictionary)==="[object ArrayBuffer]"?new Uint8Array(T.dictionary):T.dictionary,(I=l.deflateSetDictionary(this.strm,L))!==p)throw new Error(d[I]);this._dict_set=!0}}function C(_,T){var I=new g(T);if(I.push(_,!0),I.err)throw I.msg||d[I.err];return I.result}g.prototype.push=function(_,T){var I,L,F=this.strm,Y=this.options.chunkSize;if(this.ended)return!1;L=T===~~T?T:T===!0?4:0,typeof _=="string"?F.input=i.string2buf(_):h.call(_)==="[object ArrayBuffer]"?F.input=new Uint8Array(_):F.input=_,F.next_in=0,F.avail_in=F.input.length;do{if(F.avail_out===0&&(F.output=new o.Buf8(Y),F.next_out=0,F.avail_out=Y),(I=l.deflate(F,L))!==1&&I!==p)return this.onEnd(I),!(this.ended=!0);F.avail_out!==0&&(F.avail_in!==0||L!==4&&L!==2)||(this.options.to==="string"?this.onData(i.buf2binstring(o.shrinkBuf(F.output,F.next_out))):this.onData(o.shrinkBuf(F.output,F.next_out)))}while((0<F.avail_in||F.avail_out===0)&&I!==1);return L===4?(I=l.deflateEnd(this.strm),this.onEnd(I),this.ended=!0,I===p):L!==2||(this.onEnd(p),!(F.avail_out=0))},g.prototype.onData=function(_){this.chunks.push(_)},g.prototype.onEnd=function(_){_===p&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=_,this.msg=this.strm.msg},a.Deflate=g,a.deflate=C,a.deflateRaw=function(_,T){return(T=T||{}).raw=!0,C(_,T)},a.gzip=function(_,T){return(T=T||{}).gzip=!0,C(_,T)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(r,s,a){var l=r("./zlib/inflate"),o=r("./utils/common"),i=r("./utils/strings"),d=r("./zlib/constants"),v=r("./zlib/messages"),h=r("./zlib/zstream"),p=r("./zlib/gzheader"),b=Object.prototype.toString;function m(g){if(!(this instanceof m))return new m(g);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},g||{});var C=this.options;C.raw&&0<=C.windowBits&&C.windowBits<16&&(C.windowBits=-C.windowBits,C.windowBits===0&&(C.windowBits=-15)),!(0<=C.windowBits&&C.windowBits<16)||g&&g.windowBits||(C.windowBits+=32),15<C.windowBits&&C.windowBits<48&&(15&C.windowBits)==0&&(C.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new h,this.strm.avail_out=0;var _=l.inflateInit2(this.strm,C.windowBits);if(_!==d.Z_OK)throw new Error(v[_]);this.header=new p,l.inflateGetHeader(this.strm,this.header)}function E(g,C){var _=new m(C);if(_.push(g,!0),_.err)throw _.msg||v[_.err];return _.result}m.prototype.push=function(g,C){var _,T,I,L,F,Y,$=this.strm,ee=this.options.chunkSize,N=this.options.dictionary,ne=!1;if(this.ended)return!1;T=C===~~C?C:C===!0?d.Z_FINISH:d.Z_NO_FLUSH,typeof g=="string"?$.input=i.binstring2buf(g):b.call(g)==="[object ArrayBuffer]"?$.input=new Uint8Array(g):$.input=g,$.next_in=0,$.avail_in=$.input.length;do{if($.avail_out===0&&($.output=new o.Buf8(ee),$.next_out=0,$.avail_out=ee),(_=l.inflate($,d.Z_NO_FLUSH))===d.Z_NEED_DICT&&N&&(Y=typeof N=="string"?i.string2buf(N):b.call(N)==="[object ArrayBuffer]"?new Uint8Array(N):N,_=l.inflateSetDictionary(this.strm,Y)),_===d.Z_BUF_ERROR&&ne===!0&&(_=d.Z_OK,ne=!1),_!==d.Z_STREAM_END&&_!==d.Z_OK)return this.onEnd(_),!(this.ended=!0);$.next_out&&($.avail_out!==0&&_!==d.Z_STREAM_END&&($.avail_in!==0||T!==d.Z_FINISH&&T!==d.Z_SYNC_FLUSH)||(this.options.to==="string"?(I=i.utf8border($.output,$.next_out),L=$.next_out-I,F=i.buf2string($.output,I),$.next_out=L,$.avail_out=ee-L,L&&o.arraySet($.output,$.output,I,L,0),this.onData(F)):this.onData(o.shrinkBuf($.output,$.next_out)))),$.avail_in===0&&$.avail_out===0&&(ne=!0)}while((0<$.avail_in||$.avail_out===0)&&_!==d.Z_STREAM_END);return _===d.Z_STREAM_END&&(T=d.Z_FINISH),T===d.Z_FINISH?(_=l.inflateEnd(this.strm),this.onEnd(_),this.ended=!0,_===d.Z_OK):T!==d.Z_SYNC_FLUSH||(this.onEnd(d.Z_OK),!($.avail_out=0))},m.prototype.onData=function(g){this.chunks.push(g)},m.prototype.onEnd=function(g){g===d.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=g,this.msg=this.strm.msg},a.Inflate=m,a.inflate=E,a.inflateRaw=function(g,C){return(C=C||{}).raw=!0,E(g,C)},a.ungzip=E},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(r,s,a){var l=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";a.assign=function(d){for(var v=Array.prototype.slice.call(arguments,1);v.length;){var h=v.shift();if(h){if(typeof h!="object")throw new TypeError(h+"must be non-object");for(var p in h)h.hasOwnProperty(p)&&(d[p]=h[p])}}return d},a.shrinkBuf=function(d,v){return d.length===v?d:d.subarray?d.subarray(0,v):(d.length=v,d)};var o={arraySet:function(d,v,h,p,b){if(v.subarray&&d.subarray)d.set(v.subarray(h,h+p),b);else for(var m=0;m<p;m++)d[b+m]=v[h+m]},flattenChunks:function(d){var v,h,p,b,m,E;for(v=p=0,h=d.length;v<h;v++)p+=d[v].length;for(E=new Uint8Array(p),v=b=0,h=d.length;v<h;v++)m=d[v],E.set(m,b),b+=m.length;return E}},i={arraySet:function(d,v,h,p,b){for(var m=0;m<p;m++)d[b+m]=v[h+m]},flattenChunks:function(d){return[].concat.apply([],d)}};a.setTyped=function(d){d?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,o)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,i))},a.setTyped(l)},{}],42:[function(r,s,a){var l=r("./common"),o=!0,i=!0;try{String.fromCharCode.apply(null,[0])}catch{o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{i=!1}for(var d=new l.Buf8(256),v=0;v<256;v++)d[v]=252<=v?6:248<=v?5:240<=v?4:224<=v?3:192<=v?2:1;function h(p,b){if(b<65537&&(p.subarray&&i||!p.subarray&&o))return String.fromCharCode.apply(null,l.shrinkBuf(p,b));for(var m="",E=0;E<b;E++)m+=String.fromCharCode(p[E]);return m}d[254]=d[254]=1,a.string2buf=function(p){var b,m,E,g,C,_=p.length,T=0;for(g=0;g<_;g++)(64512&(m=p.charCodeAt(g)))==55296&&g+1<_&&(64512&(E=p.charCodeAt(g+1)))==56320&&(m=65536+(m-55296<<10)+(E-56320),g++),T+=m<128?1:m<2048?2:m<65536?3:4;for(b=new l.Buf8(T),g=C=0;C<T;g++)(64512&(m=p.charCodeAt(g)))==55296&&g+1<_&&(64512&(E=p.charCodeAt(g+1)))==56320&&(m=65536+(m-55296<<10)+(E-56320),g++),m<128?b[C++]=m:(m<2048?b[C++]=192|m>>>6:(m<65536?b[C++]=224|m>>>12:(b[C++]=240|m>>>18,b[C++]=128|m>>>12&63),b[C++]=128|m>>>6&63),b[C++]=128|63&m);return b},a.buf2binstring=function(p){return h(p,p.length)},a.binstring2buf=function(p){for(var b=new l.Buf8(p.length),m=0,E=b.length;m<E;m++)b[m]=p.charCodeAt(m);return b},a.buf2string=function(p,b){var m,E,g,C,_=b||p.length,T=new Array(2*_);for(m=E=0;m<_;)if((g=p[m++])<128)T[E++]=g;else if(4<(C=d[g]))T[E++]=65533,m+=C-1;else{for(g&=C===2?31:C===3?15:7;1<C&&m<_;)g=g<<6|63&p[m++],C--;1<C?T[E++]=65533:g<65536?T[E++]=g:(g-=65536,T[E++]=55296|g>>10&1023,T[E++]=56320|1023&g)}return h(T,E)},a.utf8border=function(p,b){var m;for((b=b||p.length)>p.length&&(b=p.length),m=b-1;0<=m&&(192&p[m])==128;)m--;return m<0||m===0?b:m+d[p[m]]>b?m:b}},{"./common":41}],43:[function(r,s,a){s.exports=function(l,o,i,d){for(var v=65535&l|0,h=l>>>16&65535|0,p=0;i!==0;){for(i-=p=2e3<i?2e3:i;h=h+(v=v+o[d++]|0)|0,--p;);v%=65521,h%=65521}return v|h<<16|0}},{}],44:[function(r,s,a){s.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(r,s,a){var l=function(){for(var o,i=[],d=0;d<256;d++){o=d;for(var v=0;v<8;v++)o=1&o?3988292384^o>>>1:o>>>1;i[d]=o}return i}();s.exports=function(o,i,d,v){var h=l,p=v+d;o^=-1;for(var b=v;b<p;b++)o=o>>>8^h[255&(o^i[b])];return-1^o}},{}],46:[function(r,s,a){var l,o=r("../utils/common"),i=r("./trees"),d=r("./adler32"),v=r("./crc32"),h=r("./messages"),p=0,b=4,m=0,E=-2,g=-1,C=4,_=2,T=8,I=9,L=286,F=30,Y=19,$=2*L+1,ee=15,N=3,ne=258,ce=ne+N+1,z=42,U=113,f=1,j=2,ge=3,H=4;function y(u,Q){return u.msg=h[Q],Q}function w(u){return(u<<1)-(4<u?9:0)}function O(u){for(var Q=u.length;0<=--Q;)u[Q]=0}function x(u){var Q=u.state,W=Q.pending;W>u.avail_out&&(W=u.avail_out),W!==0&&(o.arraySet(u.output,Q.pending_buf,Q.pending_out,W,u.next_out),u.next_out+=W,Q.pending_out+=W,u.total_out+=W,u.avail_out-=W,Q.pending-=W,Q.pending===0&&(Q.pending_out=0))}function S(u,Q){i._tr_flush_block(u,0<=u.block_start?u.block_start:-1,u.strstart-u.block_start,Q),u.block_start=u.strstart,x(u.strm)}function R(u,Q){u.pending_buf[u.pending++]=Q}function B(u,Q){u.pending_buf[u.pending++]=Q>>>8&255,u.pending_buf[u.pending++]=255&Q}function M(u,Q){var W,A,k=u.max_chain_length,P=u.strstart,X=u.prev_length,J=u.nice_match,q=u.strstart>u.w_size-ce?u.strstart-(u.w_size-ce):0,ie=u.window,le=u.w_mask,ae=u.prev,de=u.strstart+ne,Se=ie[P+X-1],we=ie[P+X];u.prev_length>=u.good_match&&(k>>=2),J>u.lookahead&&(J=u.lookahead);do if(ie[(W=Q)+X]===we&&ie[W+X-1]===Se&&ie[W]===ie[P]&&ie[++W]===ie[P+1]){P+=2,W++;do;while(ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&ie[++P]===ie[++W]&&P<de);if(A=ne-(de-P),P=de-ne,X<A){if(u.match_start=Q,J<=(X=A))break;Se=ie[P+X-1],we=ie[P+X]}}while((Q=ae[Q&le])>q&&--k!=0);return X<=u.lookahead?X:u.lookahead}function Z(u){var Q,W,A,k,P,X,J,q,ie,le,ae=u.w_size;do{if(k=u.window_size-u.lookahead-u.strstart,u.strstart>=ae+(ae-ce)){for(o.arraySet(u.window,u.window,ae,ae,0),u.match_start-=ae,u.strstart-=ae,u.block_start-=ae,Q=W=u.hash_size;A=u.head[--Q],u.head[Q]=ae<=A?A-ae:0,--W;);for(Q=W=ae;A=u.prev[--Q],u.prev[Q]=ae<=A?A-ae:0,--W;);k+=ae}if(u.strm.avail_in===0)break;if(X=u.strm,J=u.window,q=u.strstart+u.lookahead,ie=k,le=void 0,le=X.avail_in,ie<le&&(le=ie),W=le===0?0:(X.avail_in-=le,o.arraySet(J,X.input,X.next_in,le,q),X.state.wrap===1?X.adler=d(X.adler,J,le,q):X.state.wrap===2&&(X.adler=v(X.adler,J,le,q)),X.next_in+=le,X.total_in+=le,le),u.lookahead+=W,u.lookahead+u.insert>=N)for(P=u.strstart-u.insert,u.ins_h=u.window[P],u.ins_h=(u.ins_h<<u.hash_shift^u.window[P+1])&u.hash_mask;u.insert&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[P+N-1])&u.hash_mask,u.prev[P&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=P,P++,u.insert--,!(u.lookahead+u.insert<N)););}while(u.lookahead<ce&&u.strm.avail_in!==0)}function K(u,Q){for(var W,A;;){if(u.lookahead<ce){if(Z(u),u.lookahead<ce&&Q===p)return f;if(u.lookahead===0)break}if(W=0,u.lookahead>=N&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+N-1])&u.hash_mask,W=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),W!==0&&u.strstart-W<=u.w_size-ce&&(u.match_length=M(u,W)),u.match_length>=N)if(A=i._tr_tally(u,u.strstart-u.match_start,u.match_length-N),u.lookahead-=u.match_length,u.match_length<=u.max_lazy_match&&u.lookahead>=N){for(u.match_length--;u.strstart++,u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+N-1])&u.hash_mask,W=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart,--u.match_length!=0;);u.strstart++}else u.strstart+=u.match_length,u.match_length=0,u.ins_h=u.window[u.strstart],u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+1])&u.hash_mask;else A=i._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++;if(A&&(S(u,!1),u.strm.avail_out===0))return f}return u.insert=u.strstart<N-1?u.strstart:N-1,Q===b?(S(u,!0),u.strm.avail_out===0?ge:H):u.last_lit&&(S(u,!1),u.strm.avail_out===0)?f:j}function re(u,Q){for(var W,A,k;;){if(u.lookahead<ce){if(Z(u),u.lookahead<ce&&Q===p)return f;if(u.lookahead===0)break}if(W=0,u.lookahead>=N&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+N-1])&u.hash_mask,W=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),u.prev_length=u.match_length,u.prev_match=u.match_start,u.match_length=N-1,W!==0&&u.prev_length<u.max_lazy_match&&u.strstart-W<=u.w_size-ce&&(u.match_length=M(u,W),u.match_length<=5&&(u.strategy===1||u.match_length===N&&4096<u.strstart-u.match_start)&&(u.match_length=N-1)),u.prev_length>=N&&u.match_length<=u.prev_length){for(k=u.strstart+u.lookahead-N,A=i._tr_tally(u,u.strstart-1-u.prev_match,u.prev_length-N),u.lookahead-=u.prev_length-1,u.prev_length-=2;++u.strstart<=k&&(u.ins_h=(u.ins_h<<u.hash_shift^u.window[u.strstart+N-1])&u.hash_mask,W=u.prev[u.strstart&u.w_mask]=u.head[u.ins_h],u.head[u.ins_h]=u.strstart),--u.prev_length!=0;);if(u.match_available=0,u.match_length=N-1,u.strstart++,A&&(S(u,!1),u.strm.avail_out===0))return f}else if(u.match_available){if((A=i._tr_tally(u,0,u.window[u.strstart-1]))&&S(u,!1),u.strstart++,u.lookahead--,u.strm.avail_out===0)return f}else u.match_available=1,u.strstart++,u.lookahead--}return u.match_available&&(A=i._tr_tally(u,0,u.window[u.strstart-1]),u.match_available=0),u.insert=u.strstart<N-1?u.strstart:N-1,Q===b?(S(u,!0),u.strm.avail_out===0?ge:H):u.last_lit&&(S(u,!1),u.strm.avail_out===0)?f:j}function me(u,Q,W,A,k){this.good_length=u,this.max_lazy=Q,this.nice_length=W,this.max_chain=A,this.func=k}function fe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=T,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new o.Buf16(2*$),this.dyn_dtree=new o.Buf16(2*(2*F+1)),this.bl_tree=new o.Buf16(2*(2*Y+1)),O(this.dyn_ltree),O(this.dyn_dtree),O(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new o.Buf16(ee+1),this.heap=new o.Buf16(2*L+1),O(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new o.Buf16(2*L+1),O(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function he(u){var Q;return u&&u.state?(u.total_in=u.total_out=0,u.data_type=_,(Q=u.state).pending=0,Q.pending_out=0,Q.wrap<0&&(Q.wrap=-Q.wrap),Q.status=Q.wrap?z:U,u.adler=Q.wrap===2?0:1,Q.last_flush=p,i._tr_init(Q),m):y(u,E)}function _e(u){var Q=he(u);return Q===m&&function(W){W.window_size=2*W.w_size,O(W.head),W.max_lazy_match=l[W.level].max_lazy,W.good_match=l[W.level].good_length,W.nice_match=l[W.level].nice_length,W.max_chain_length=l[W.level].max_chain,W.strstart=0,W.block_start=0,W.lookahead=0,W.insert=0,W.match_length=W.prev_length=N-1,W.match_available=0,W.ins_h=0}(u.state),Q}function Te(u,Q,W,A,k,P){if(!u)return E;var X=1;if(Q===g&&(Q=6),A<0?(X=0,A=-A):15<A&&(X=2,A-=16),k<1||I<k||W!==T||A<8||15<A||Q<0||9<Q||P<0||C<P)return y(u,E);A===8&&(A=9);var J=new fe;return(u.state=J).strm=u,J.wrap=X,J.gzhead=null,J.w_bits=A,J.w_size=1<<J.w_bits,J.w_mask=J.w_size-1,J.hash_bits=k+7,J.hash_size=1<<J.hash_bits,J.hash_mask=J.hash_size-1,J.hash_shift=~~((J.hash_bits+N-1)/N),J.window=new o.Buf8(2*J.w_size),J.head=new o.Buf16(J.hash_size),J.prev=new o.Buf16(J.w_size),J.lit_bufsize=1<<k+6,J.pending_buf_size=4*J.lit_bufsize,J.pending_buf=new o.Buf8(J.pending_buf_size),J.d_buf=1*J.lit_bufsize,J.l_buf=3*J.lit_bufsize,J.level=Q,J.strategy=P,J.method=W,_e(u)}l=[new me(0,0,0,0,function(u,Q){var W=65535;for(W>u.pending_buf_size-5&&(W=u.pending_buf_size-5);;){if(u.lookahead<=1){if(Z(u),u.lookahead===0&&Q===p)return f;if(u.lookahead===0)break}u.strstart+=u.lookahead,u.lookahead=0;var A=u.block_start+W;if((u.strstart===0||u.strstart>=A)&&(u.lookahead=u.strstart-A,u.strstart=A,S(u,!1),u.strm.avail_out===0)||u.strstart-u.block_start>=u.w_size-ce&&(S(u,!1),u.strm.avail_out===0))return f}return u.insert=0,Q===b?(S(u,!0),u.strm.avail_out===0?ge:H):(u.strstart>u.block_start&&(S(u,!1),u.strm.avail_out),f)}),new me(4,4,8,4,K),new me(4,5,16,8,K),new me(4,6,32,32,K),new me(4,4,16,16,re),new me(8,16,32,32,re),new me(8,16,128,128,re),new me(8,32,128,256,re),new me(32,128,258,1024,re),new me(32,258,258,4096,re)],a.deflateInit=function(u,Q){return Te(u,Q,T,15,8,0)},a.deflateInit2=Te,a.deflateReset=_e,a.deflateResetKeep=he,a.deflateSetHeader=function(u,Q){return u&&u.state?u.state.wrap!==2?E:(u.state.gzhead=Q,m):E},a.deflate=function(u,Q){var W,A,k,P;if(!u||!u.state||5<Q||Q<0)return u?y(u,E):E;if(A=u.state,!u.output||!u.input&&u.avail_in!==0||A.status===666&&Q!==b)return y(u,u.avail_out===0?-5:E);if(A.strm=u,W=A.last_flush,A.last_flush=Q,A.status===z)if(A.wrap===2)u.adler=0,R(A,31),R(A,139),R(A,8),A.gzhead?(R(A,(A.gzhead.text?1:0)+(A.gzhead.hcrc?2:0)+(A.gzhead.extra?4:0)+(A.gzhead.name?8:0)+(A.gzhead.comment?16:0)),R(A,255&A.gzhead.time),R(A,A.gzhead.time>>8&255),R(A,A.gzhead.time>>16&255),R(A,A.gzhead.time>>24&255),R(A,A.level===9?2:2<=A.strategy||A.level<2?4:0),R(A,255&A.gzhead.os),A.gzhead.extra&&A.gzhead.extra.length&&(R(A,255&A.gzhead.extra.length),R(A,A.gzhead.extra.length>>8&255)),A.gzhead.hcrc&&(u.adler=v(u.adler,A.pending_buf,A.pending,0)),A.gzindex=0,A.status=69):(R(A,0),R(A,0),R(A,0),R(A,0),R(A,0),R(A,A.level===9?2:2<=A.strategy||A.level<2?4:0),R(A,3),A.status=U);else{var X=T+(A.w_bits-8<<4)<<8;X|=(2<=A.strategy||A.level<2?0:A.level<6?1:A.level===6?2:3)<<6,A.strstart!==0&&(X|=32),X+=31-X%31,A.status=U,B(A,X),A.strstart!==0&&(B(A,u.adler>>>16),B(A,65535&u.adler)),u.adler=1}if(A.status===69)if(A.gzhead.extra){for(k=A.pending;A.gzindex<(65535&A.gzhead.extra.length)&&(A.pending!==A.pending_buf_size||(A.gzhead.hcrc&&A.pending>k&&(u.adler=v(u.adler,A.pending_buf,A.pending-k,k)),x(u),k=A.pending,A.pending!==A.pending_buf_size));)R(A,255&A.gzhead.extra[A.gzindex]),A.gzindex++;A.gzhead.hcrc&&A.pending>k&&(u.adler=v(u.adler,A.pending_buf,A.pending-k,k)),A.gzindex===A.gzhead.extra.length&&(A.gzindex=0,A.status=73)}else A.status=73;if(A.status===73)if(A.gzhead.name){k=A.pending;do{if(A.pending===A.pending_buf_size&&(A.gzhead.hcrc&&A.pending>k&&(u.adler=v(u.adler,A.pending_buf,A.pending-k,k)),x(u),k=A.pending,A.pending===A.pending_buf_size)){P=1;break}P=A.gzindex<A.gzhead.name.length?255&A.gzhead.name.charCodeAt(A.gzindex++):0,R(A,P)}while(P!==0);A.gzhead.hcrc&&A.pending>k&&(u.adler=v(u.adler,A.pending_buf,A.pending-k,k)),P===0&&(A.gzindex=0,A.status=91)}else A.status=91;if(A.status===91)if(A.gzhead.comment){k=A.pending;do{if(A.pending===A.pending_buf_size&&(A.gzhead.hcrc&&A.pending>k&&(u.adler=v(u.adler,A.pending_buf,A.pending-k,k)),x(u),k=A.pending,A.pending===A.pending_buf_size)){P=1;break}P=A.gzindex<A.gzhead.comment.length?255&A.gzhead.comment.charCodeAt(A.gzindex++):0,R(A,P)}while(P!==0);A.gzhead.hcrc&&A.pending>k&&(u.adler=v(u.adler,A.pending_buf,A.pending-k,k)),P===0&&(A.status=103)}else A.status=103;if(A.status===103&&(A.gzhead.hcrc?(A.pending+2>A.pending_buf_size&&x(u),A.pending+2<=A.pending_buf_size&&(R(A,255&u.adler),R(A,u.adler>>8&255),u.adler=0,A.status=U)):A.status=U),A.pending!==0){if(x(u),u.avail_out===0)return A.last_flush=-1,m}else if(u.avail_in===0&&w(Q)<=w(W)&&Q!==b)return y(u,-5);if(A.status===666&&u.avail_in!==0)return y(u,-5);if(u.avail_in!==0||A.lookahead!==0||Q!==p&&A.status!==666){var J=A.strategy===2?function(q,ie){for(var le;;){if(q.lookahead===0&&(Z(q),q.lookahead===0)){if(ie===p)return f;break}if(q.match_length=0,le=i._tr_tally(q,0,q.window[q.strstart]),q.lookahead--,q.strstart++,le&&(S(q,!1),q.strm.avail_out===0))return f}return q.insert=0,ie===b?(S(q,!0),q.strm.avail_out===0?ge:H):q.last_lit&&(S(q,!1),q.strm.avail_out===0)?f:j}(A,Q):A.strategy===3?function(q,ie){for(var le,ae,de,Se,we=q.window;;){if(q.lookahead<=ne){if(Z(q),q.lookahead<=ne&&ie===p)return f;if(q.lookahead===0)break}if(q.match_length=0,q.lookahead>=N&&0<q.strstart&&(ae=we[de=q.strstart-1])===we[++de]&&ae===we[++de]&&ae===we[++de]){Se=q.strstart+ne;do;while(ae===we[++de]&&ae===we[++de]&&ae===we[++de]&&ae===we[++de]&&ae===we[++de]&&ae===we[++de]&&ae===we[++de]&&ae===we[++de]&&de<Se);q.match_length=ne-(Se-de),q.match_length>q.lookahead&&(q.match_length=q.lookahead)}if(q.match_length>=N?(le=i._tr_tally(q,1,q.match_length-N),q.lookahead-=q.match_length,q.strstart+=q.match_length,q.match_length=0):(le=i._tr_tally(q,0,q.window[q.strstart]),q.lookahead--,q.strstart++),le&&(S(q,!1),q.strm.avail_out===0))return f}return q.insert=0,ie===b?(S(q,!0),q.strm.avail_out===0?ge:H):q.last_lit&&(S(q,!1),q.strm.avail_out===0)?f:j}(A,Q):l[A.level].func(A,Q);if(J!==ge&&J!==H||(A.status=666),J===f||J===ge)return u.avail_out===0&&(A.last_flush=-1),m;if(J===j&&(Q===1?i._tr_align(A):Q!==5&&(i._tr_stored_block(A,0,0,!1),Q===3&&(O(A.head),A.lookahead===0&&(A.strstart=0,A.block_start=0,A.insert=0))),x(u),u.avail_out===0))return A.last_flush=-1,m}return Q!==b?m:A.wrap<=0?1:(A.wrap===2?(R(A,255&u.adler),R(A,u.adler>>8&255),R(A,u.adler>>16&255),R(A,u.adler>>24&255),R(A,255&u.total_in),R(A,u.total_in>>8&255),R(A,u.total_in>>16&255),R(A,u.total_in>>24&255)):(B(A,u.adler>>>16),B(A,65535&u.adler)),x(u),0<A.wrap&&(A.wrap=-A.wrap),A.pending!==0?m:1)},a.deflateEnd=function(u){var Q;return u&&u.state?(Q=u.state.status)!==z&&Q!==69&&Q!==73&&Q!==91&&Q!==103&&Q!==U&&Q!==666?y(u,E):(u.state=null,Q===U?y(u,-3):m):E},a.deflateSetDictionary=function(u,Q){var W,A,k,P,X,J,q,ie,le=Q.length;if(!u||!u.state||(P=(W=u.state).wrap)===2||P===1&&W.status!==z||W.lookahead)return E;for(P===1&&(u.adler=d(u.adler,Q,le,0)),W.wrap=0,le>=W.w_size&&(P===0&&(O(W.head),W.strstart=0,W.block_start=0,W.insert=0),ie=new o.Buf8(W.w_size),o.arraySet(ie,Q,le-W.w_size,W.w_size,0),Q=ie,le=W.w_size),X=u.avail_in,J=u.next_in,q=u.input,u.avail_in=le,u.next_in=0,u.input=Q,Z(W);W.lookahead>=N;){for(A=W.strstart,k=W.lookahead-(N-1);W.ins_h=(W.ins_h<<W.hash_shift^W.window[A+N-1])&W.hash_mask,W.prev[A&W.w_mask]=W.head[W.ins_h],W.head[W.ins_h]=A,A++,--k;);W.strstart=A,W.lookahead=N-1,Z(W)}return W.strstart+=W.lookahead,W.block_start=W.strstart,W.insert=W.lookahead,W.lookahead=0,W.match_length=W.prev_length=N-1,W.match_available=0,u.next_in=J,u.input=q,u.avail_in=X,W.wrap=P,m},a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(r,s,a){s.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(r,s,a){s.exports=function(l,o){var i,d,v,h,p,b,m,E,g,C,_,T,I,L,F,Y,$,ee,N,ne,ce,z,U,f,j;i=l.state,d=l.next_in,f=l.input,v=d+(l.avail_in-5),h=l.next_out,j=l.output,p=h-(o-l.avail_out),b=h+(l.avail_out-257),m=i.dmax,E=i.wsize,g=i.whave,C=i.wnext,_=i.window,T=i.hold,I=i.bits,L=i.lencode,F=i.distcode,Y=(1<<i.lenbits)-1,$=(1<<i.distbits)-1;e:do{I<15&&(T+=f[d++]<<I,I+=8,T+=f[d++]<<I,I+=8),ee=L[T&Y];t:for(;;){if(T>>>=N=ee>>>24,I-=N,(N=ee>>>16&255)===0)j[h++]=65535&ee;else{if(!(16&N)){if((64&N)==0){ee=L[(65535&ee)+(T&(1<<N)-1)];continue t}if(32&N){i.mode=12;break e}l.msg="invalid literal/length code",i.mode=30;break e}ne=65535&ee,(N&=15)&&(I<N&&(T+=f[d++]<<I,I+=8),ne+=T&(1<<N)-1,T>>>=N,I-=N),I<15&&(T+=f[d++]<<I,I+=8,T+=f[d++]<<I,I+=8),ee=F[T&$];r:for(;;){if(T>>>=N=ee>>>24,I-=N,!(16&(N=ee>>>16&255))){if((64&N)==0){ee=F[(65535&ee)+(T&(1<<N)-1)];continue r}l.msg="invalid distance code",i.mode=30;break e}if(ce=65535&ee,I<(N&=15)&&(T+=f[d++]<<I,(I+=8)<N&&(T+=f[d++]<<I,I+=8)),m<(ce+=T&(1<<N)-1)){l.msg="invalid distance too far back",i.mode=30;break e}if(T>>>=N,I-=N,(N=h-p)<ce){if(g<(N=ce-N)&&i.sane){l.msg="invalid distance too far back",i.mode=30;break e}if(U=_,(z=0)===C){if(z+=E-N,N<ne){for(ne-=N;j[h++]=_[z++],--N;);z=h-ce,U=j}}else if(C<N){if(z+=E+C-N,(N-=C)<ne){for(ne-=N;j[h++]=_[z++],--N;);if(z=0,C<ne){for(ne-=N=C;j[h++]=_[z++],--N;);z=h-ce,U=j}}}else if(z+=C-N,N<ne){for(ne-=N;j[h++]=_[z++],--N;);z=h-ce,U=j}for(;2<ne;)j[h++]=U[z++],j[h++]=U[z++],j[h++]=U[z++],ne-=3;ne&&(j[h++]=U[z++],1<ne&&(j[h++]=U[z++]))}else{for(z=h-ce;j[h++]=j[z++],j[h++]=j[z++],j[h++]=j[z++],2<(ne-=3););ne&&(j[h++]=j[z++],1<ne&&(j[h++]=j[z++]))}break}}break}}while(d<v&&h<b);d-=ne=I>>3,T&=(1<<(I-=ne<<3))-1,l.next_in=d,l.next_out=h,l.avail_in=d<v?v-d+5:5-(d-v),l.avail_out=h<b?b-h+257:257-(h-b),i.hold=T,i.bits=I}},{}],49:[function(r,s,a){var l=r("../utils/common"),o=r("./adler32"),i=r("./crc32"),d=r("./inffast"),v=r("./inftrees"),h=1,p=2,b=0,m=-2,E=1,g=852,C=592;function _(z){return(z>>>24&255)+(z>>>8&65280)+((65280&z)<<8)+((255&z)<<24)}function T(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new l.Buf16(320),this.work=new l.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function I(z){var U;return z&&z.state?(U=z.state,z.total_in=z.total_out=U.total=0,z.msg="",U.wrap&&(z.adler=1&U.wrap),U.mode=E,U.last=0,U.havedict=0,U.dmax=32768,U.head=null,U.hold=0,U.bits=0,U.lencode=U.lendyn=new l.Buf32(g),U.distcode=U.distdyn=new l.Buf32(C),U.sane=1,U.back=-1,b):m}function L(z){var U;return z&&z.state?((U=z.state).wsize=0,U.whave=0,U.wnext=0,I(z)):m}function F(z,U){var f,j;return z&&z.state?(j=z.state,U<0?(f=0,U=-U):(f=1+(U>>4),U<48&&(U&=15)),U&&(U<8||15<U)?m:(j.window!==null&&j.wbits!==U&&(j.window=null),j.wrap=f,j.wbits=U,L(z))):m}function Y(z,U){var f,j;return z?(j=new T,(z.state=j).window=null,(f=F(z,U))!==b&&(z.state=null),f):m}var $,ee,N=!0;function ne(z){if(N){var U;for($=new l.Buf32(512),ee=new l.Buf32(32),U=0;U<144;)z.lens[U++]=8;for(;U<256;)z.lens[U++]=9;for(;U<280;)z.lens[U++]=7;for(;U<288;)z.lens[U++]=8;for(v(h,z.lens,0,288,$,0,z.work,{bits:9}),U=0;U<32;)z.lens[U++]=5;v(p,z.lens,0,32,ee,0,z.work,{bits:5}),N=!1}z.lencode=$,z.lenbits=9,z.distcode=ee,z.distbits=5}function ce(z,U,f,j){var ge,H=z.state;return H.window===null&&(H.wsize=1<<H.wbits,H.wnext=0,H.whave=0,H.window=new l.Buf8(H.wsize)),j>=H.wsize?(l.arraySet(H.window,U,f-H.wsize,H.wsize,0),H.wnext=0,H.whave=H.wsize):(j<(ge=H.wsize-H.wnext)&&(ge=j),l.arraySet(H.window,U,f-j,ge,H.wnext),(j-=ge)?(l.arraySet(H.window,U,f-j,j,0),H.wnext=j,H.whave=H.wsize):(H.wnext+=ge,H.wnext===H.wsize&&(H.wnext=0),H.whave<H.wsize&&(H.whave+=ge))),0}a.inflateReset=L,a.inflateReset2=F,a.inflateResetKeep=I,a.inflateInit=function(z){return Y(z,15)},a.inflateInit2=Y,a.inflate=function(z,U){var f,j,ge,H,y,w,O,x,S,R,B,M,Z,K,re,me,fe,he,_e,Te,u,Q,W,A,k=0,P=new l.Buf8(4),X=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!z||!z.state||!z.output||!z.input&&z.avail_in!==0)return m;(f=z.state).mode===12&&(f.mode=13),y=z.next_out,ge=z.output,O=z.avail_out,H=z.next_in,j=z.input,w=z.avail_in,x=f.hold,S=f.bits,R=w,B=O,Q=b;e:for(;;)switch(f.mode){case E:if(f.wrap===0){f.mode=13;break}for(;S<16;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(2&f.wrap&&x===35615){P[f.check=0]=255&x,P[1]=x>>>8&255,f.check=i(f.check,P,2,0),S=x=0,f.mode=2;break}if(f.flags=0,f.head&&(f.head.done=!1),!(1&f.wrap)||(((255&x)<<8)+(x>>8))%31){z.msg="incorrect header check",f.mode=30;break}if((15&x)!=8){z.msg="unknown compression method",f.mode=30;break}if(S-=4,u=8+(15&(x>>>=4)),f.wbits===0)f.wbits=u;else if(u>f.wbits){z.msg="invalid window size",f.mode=30;break}f.dmax=1<<u,z.adler=f.check=1,f.mode=512&x?10:12,S=x=0;break;case 2:for(;S<16;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(f.flags=x,(255&f.flags)!=8){z.msg="unknown compression method",f.mode=30;break}if(57344&f.flags){z.msg="unknown header flags set",f.mode=30;break}f.head&&(f.head.text=x>>8&1),512&f.flags&&(P[0]=255&x,P[1]=x>>>8&255,f.check=i(f.check,P,2,0)),S=x=0,f.mode=3;case 3:for(;S<32;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}f.head&&(f.head.time=x),512&f.flags&&(P[0]=255&x,P[1]=x>>>8&255,P[2]=x>>>16&255,P[3]=x>>>24&255,f.check=i(f.check,P,4,0)),S=x=0,f.mode=4;case 4:for(;S<16;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}f.head&&(f.head.xflags=255&x,f.head.os=x>>8),512&f.flags&&(P[0]=255&x,P[1]=x>>>8&255,f.check=i(f.check,P,2,0)),S=x=0,f.mode=5;case 5:if(1024&f.flags){for(;S<16;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}f.length=x,f.head&&(f.head.extra_len=x),512&f.flags&&(P[0]=255&x,P[1]=x>>>8&255,f.check=i(f.check,P,2,0)),S=x=0}else f.head&&(f.head.extra=null);f.mode=6;case 6:if(1024&f.flags&&(w<(M=f.length)&&(M=w),M&&(f.head&&(u=f.head.extra_len-f.length,f.head.extra||(f.head.extra=new Array(f.head.extra_len)),l.arraySet(f.head.extra,j,H,M,u)),512&f.flags&&(f.check=i(f.check,j,M,H)),w-=M,H+=M,f.length-=M),f.length))break e;f.length=0,f.mode=7;case 7:if(2048&f.flags){if(w===0)break e;for(M=0;u=j[H+M++],f.head&&u&&f.length<65536&&(f.head.name+=String.fromCharCode(u)),u&&M<w;);if(512&f.flags&&(f.check=i(f.check,j,M,H)),w-=M,H+=M,u)break e}else f.head&&(f.head.name=null);f.length=0,f.mode=8;case 8:if(4096&f.flags){if(w===0)break e;for(M=0;u=j[H+M++],f.head&&u&&f.length<65536&&(f.head.comment+=String.fromCharCode(u)),u&&M<w;);if(512&f.flags&&(f.check=i(f.check,j,M,H)),w-=M,H+=M,u)break e}else f.head&&(f.head.comment=null);f.mode=9;case 9:if(512&f.flags){for(;S<16;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(x!==(65535&f.check)){z.msg="header crc mismatch",f.mode=30;break}S=x=0}f.head&&(f.head.hcrc=f.flags>>9&1,f.head.done=!0),z.adler=f.check=0,f.mode=12;break;case 10:for(;S<32;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}z.adler=f.check=_(x),S=x=0,f.mode=11;case 11:if(f.havedict===0)return z.next_out=y,z.avail_out=O,z.next_in=H,z.avail_in=w,f.hold=x,f.bits=S,2;z.adler=f.check=1,f.mode=12;case 12:if(U===5||U===6)break e;case 13:if(f.last){x>>>=7&S,S-=7&S,f.mode=27;break}for(;S<3;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}switch(f.last=1&x,S-=1,3&(x>>>=1)){case 0:f.mode=14;break;case 1:if(ne(f),f.mode=20,U!==6)break;x>>>=2,S-=2;break e;case 2:f.mode=17;break;case 3:z.msg="invalid block type",f.mode=30}x>>>=2,S-=2;break;case 14:for(x>>>=7&S,S-=7&S;S<32;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if((65535&x)!=(x>>>16^65535)){z.msg="invalid stored block lengths",f.mode=30;break}if(f.length=65535&x,S=x=0,f.mode=15,U===6)break e;case 15:f.mode=16;case 16:if(M=f.length){if(w<M&&(M=w),O<M&&(M=O),M===0)break e;l.arraySet(ge,j,H,M,y),w-=M,H+=M,O-=M,y+=M,f.length-=M;break}f.mode=12;break;case 17:for(;S<14;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(f.nlen=257+(31&x),x>>>=5,S-=5,f.ndist=1+(31&x),x>>>=5,S-=5,f.ncode=4+(15&x),x>>>=4,S-=4,286<f.nlen||30<f.ndist){z.msg="too many length or distance symbols",f.mode=30;break}f.have=0,f.mode=18;case 18:for(;f.have<f.ncode;){for(;S<3;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}f.lens[X[f.have++]]=7&x,x>>>=3,S-=3}for(;f.have<19;)f.lens[X[f.have++]]=0;if(f.lencode=f.lendyn,f.lenbits=7,W={bits:f.lenbits},Q=v(0,f.lens,0,19,f.lencode,0,f.work,W),f.lenbits=W.bits,Q){z.msg="invalid code lengths set",f.mode=30;break}f.have=0,f.mode=19;case 19:for(;f.have<f.nlen+f.ndist;){for(;me=(k=f.lencode[x&(1<<f.lenbits)-1])>>>16&255,fe=65535&k,!((re=k>>>24)<=S);){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(fe<16)x>>>=re,S-=re,f.lens[f.have++]=fe;else{if(fe===16){for(A=re+2;S<A;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(x>>>=re,S-=re,f.have===0){z.msg="invalid bit length repeat",f.mode=30;break}u=f.lens[f.have-1],M=3+(3&x),x>>>=2,S-=2}else if(fe===17){for(A=re+3;S<A;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}S-=re,u=0,M=3+(7&(x>>>=re)),x>>>=3,S-=3}else{for(A=re+7;S<A;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}S-=re,u=0,M=11+(127&(x>>>=re)),x>>>=7,S-=7}if(f.have+M>f.nlen+f.ndist){z.msg="invalid bit length repeat",f.mode=30;break}for(;M--;)f.lens[f.have++]=u}}if(f.mode===30)break;if(f.lens[256]===0){z.msg="invalid code -- missing end-of-block",f.mode=30;break}if(f.lenbits=9,W={bits:f.lenbits},Q=v(h,f.lens,0,f.nlen,f.lencode,0,f.work,W),f.lenbits=W.bits,Q){z.msg="invalid literal/lengths set",f.mode=30;break}if(f.distbits=6,f.distcode=f.distdyn,W={bits:f.distbits},Q=v(p,f.lens,f.nlen,f.ndist,f.distcode,0,f.work,W),f.distbits=W.bits,Q){z.msg="invalid distances set",f.mode=30;break}if(f.mode=20,U===6)break e;case 20:f.mode=21;case 21:if(6<=w&&258<=O){z.next_out=y,z.avail_out=O,z.next_in=H,z.avail_in=w,f.hold=x,f.bits=S,d(z,B),y=z.next_out,ge=z.output,O=z.avail_out,H=z.next_in,j=z.input,w=z.avail_in,x=f.hold,S=f.bits,f.mode===12&&(f.back=-1);break}for(f.back=0;me=(k=f.lencode[x&(1<<f.lenbits)-1])>>>16&255,fe=65535&k,!((re=k>>>24)<=S);){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(me&&(240&me)==0){for(he=re,_e=me,Te=fe;me=(k=f.lencode[Te+((x&(1<<he+_e)-1)>>he)])>>>16&255,fe=65535&k,!(he+(re=k>>>24)<=S);){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}x>>>=he,S-=he,f.back+=he}if(x>>>=re,S-=re,f.back+=re,f.length=fe,me===0){f.mode=26;break}if(32&me){f.back=-1,f.mode=12;break}if(64&me){z.msg="invalid literal/length code",f.mode=30;break}f.extra=15&me,f.mode=22;case 22:if(f.extra){for(A=f.extra;S<A;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}f.length+=x&(1<<f.extra)-1,x>>>=f.extra,S-=f.extra,f.back+=f.extra}f.was=f.length,f.mode=23;case 23:for(;me=(k=f.distcode[x&(1<<f.distbits)-1])>>>16&255,fe=65535&k,!((re=k>>>24)<=S);){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if((240&me)==0){for(he=re,_e=me,Te=fe;me=(k=f.distcode[Te+((x&(1<<he+_e)-1)>>he)])>>>16&255,fe=65535&k,!(he+(re=k>>>24)<=S);){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}x>>>=he,S-=he,f.back+=he}if(x>>>=re,S-=re,f.back+=re,64&me){z.msg="invalid distance code",f.mode=30;break}f.offset=fe,f.extra=15&me,f.mode=24;case 24:if(f.extra){for(A=f.extra;S<A;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}f.offset+=x&(1<<f.extra)-1,x>>>=f.extra,S-=f.extra,f.back+=f.extra}if(f.offset>f.dmax){z.msg="invalid distance too far back",f.mode=30;break}f.mode=25;case 25:if(O===0)break e;if(M=B-O,f.offset>M){if((M=f.offset-M)>f.whave&&f.sane){z.msg="invalid distance too far back",f.mode=30;break}Z=M>f.wnext?(M-=f.wnext,f.wsize-M):f.wnext-M,M>f.length&&(M=f.length),K=f.window}else K=ge,Z=y-f.offset,M=f.length;for(O<M&&(M=O),O-=M,f.length-=M;ge[y++]=K[Z++],--M;);f.length===0&&(f.mode=21);break;case 26:if(O===0)break e;ge[y++]=f.length,O--,f.mode=21;break;case 27:if(f.wrap){for(;S<32;){if(w===0)break e;w--,x|=j[H++]<<S,S+=8}if(B-=O,z.total_out+=B,f.total+=B,B&&(z.adler=f.check=f.flags?i(f.check,ge,B,y-B):o(f.check,ge,B,y-B)),B=O,(f.flags?x:_(x))!==f.check){z.msg="incorrect data check",f.mode=30;break}S=x=0}f.mode=28;case 28:if(f.wrap&&f.flags){for(;S<32;){if(w===0)break e;w--,x+=j[H++]<<S,S+=8}if(x!==(4294967295&f.total)){z.msg="incorrect length check",f.mode=30;break}S=x=0}f.mode=29;case 29:Q=1;break e;case 30:Q=-3;break e;case 31:return-4;case 32:default:return m}return z.next_out=y,z.avail_out=O,z.next_in=H,z.avail_in=w,f.hold=x,f.bits=S,(f.wsize||B!==z.avail_out&&f.mode<30&&(f.mode<27||U!==4))&&ce(z,z.output,z.next_out,B-z.avail_out)?(f.mode=31,-4):(R-=z.avail_in,B-=z.avail_out,z.total_in+=R,z.total_out+=B,f.total+=B,f.wrap&&B&&(z.adler=f.check=f.flags?i(f.check,ge,B,z.next_out-B):o(f.check,ge,B,z.next_out-B)),z.data_type=f.bits+(f.last?64:0)+(f.mode===12?128:0)+(f.mode===20||f.mode===15?256:0),(R==0&&B===0||U===4)&&Q===b&&(Q=-5),Q)},a.inflateEnd=function(z){if(!z||!z.state)return m;var U=z.state;return U.window&&(U.window=null),z.state=null,b},a.inflateGetHeader=function(z,U){var f;return z&&z.state?(2&(f=z.state).wrap)==0?m:((f.head=U).done=!1,b):m},a.inflateSetDictionary=function(z,U){var f,j=U.length;return z&&z.state?(f=z.state).wrap!==0&&f.mode!==11?m:f.mode===11&&o(1,U,j,0)!==f.check?-3:ce(z,U,j,j)?(f.mode=31,-4):(f.havedict=1,b):m},a.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(r,s,a){var l=r("../utils/common"),o=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],i=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],v=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];s.exports=function(h,p,b,m,E,g,C,_){var T,I,L,F,Y,$,ee,N,ne,ce=_.bits,z=0,U=0,f=0,j=0,ge=0,H=0,y=0,w=0,O=0,x=0,S=null,R=0,B=new l.Buf16(16),M=new l.Buf16(16),Z=null,K=0;for(z=0;z<=15;z++)B[z]=0;for(U=0;U<m;U++)B[p[b+U]]++;for(ge=ce,j=15;1<=j&&B[j]===0;j--);if(j<ge&&(ge=j),j===0)return E[g++]=20971520,E[g++]=20971520,_.bits=1,0;for(f=1;f<j&&B[f]===0;f++);for(ge<f&&(ge=f),z=w=1;z<=15;z++)if(w<<=1,(w-=B[z])<0)return-1;if(0<w&&(h===0||j!==1))return-1;for(M[1]=0,z=1;z<15;z++)M[z+1]=M[z]+B[z];for(U=0;U<m;U++)p[b+U]!==0&&(C[M[p[b+U]]++]=U);if($=h===0?(S=Z=C,19):h===1?(S=o,R-=257,Z=i,K-=257,256):(S=d,Z=v,-1),z=f,Y=g,y=U=x=0,L=-1,F=(O=1<<(H=ge))-1,h===1&&852<O||h===2&&592<O)return 1;for(;;){for(ee=z-y,ne=C[U]<$?(N=0,C[U]):C[U]>$?(N=Z[K+C[U]],S[R+C[U]]):(N=96,0),T=1<<z-y,f=I=1<<H;E[Y+(x>>y)+(I-=T)]=ee<<24|N<<16|ne|0,I!==0;);for(T=1<<z-1;x&T;)T>>=1;if(T!==0?(x&=T-1,x+=T):x=0,U++,--B[z]==0){if(z===j)break;z=p[b+C[U]]}if(ge<z&&(x&F)!==L){for(y===0&&(y=ge),Y+=f,w=1<<(H=z-y);H+y<j&&!((w-=B[H+y])<=0);)H++,w<<=1;if(O+=1<<H,h===1&&852<O||h===2&&592<O)return 1;E[L=x&F]=ge<<24|H<<16|Y-g|0}}return x!==0&&(E[Y+x]=z-y<<24|64<<16|0),_.bits=ge,0}},{"../utils/common":41}],51:[function(r,s,a){s.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(r,s,a){var l=r("../utils/common"),o=0,i=1;function d(k){for(var P=k.length;0<=--P;)k[P]=0}var v=0,h=29,p=256,b=p+1+h,m=30,E=19,g=2*b+1,C=15,_=16,T=7,I=256,L=16,F=17,Y=18,$=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ee=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],N=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],ne=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ce=new Array(2*(b+2));d(ce);var z=new Array(2*m);d(z);var U=new Array(512);d(U);var f=new Array(256);d(f);var j=new Array(h);d(j);var ge,H,y,w=new Array(m);function O(k,P,X,J,q){this.static_tree=k,this.extra_bits=P,this.extra_base=X,this.elems=J,this.max_length=q,this.has_stree=k&&k.length}function x(k,P){this.dyn_tree=k,this.max_code=0,this.stat_desc=P}function S(k){return k<256?U[k]:U[256+(k>>>7)]}function R(k,P){k.pending_buf[k.pending++]=255&P,k.pending_buf[k.pending++]=P>>>8&255}function B(k,P,X){k.bi_valid>_-X?(k.bi_buf|=P<<k.bi_valid&65535,R(k,k.bi_buf),k.bi_buf=P>>_-k.bi_valid,k.bi_valid+=X-_):(k.bi_buf|=P<<k.bi_valid&65535,k.bi_valid+=X)}function M(k,P,X){B(k,X[2*P],X[2*P+1])}function Z(k,P){for(var X=0;X|=1&k,k>>>=1,X<<=1,0<--P;);return X>>>1}function K(k,P,X){var J,q,ie=new Array(C+1),le=0;for(J=1;J<=C;J++)ie[J]=le=le+X[J-1]<<1;for(q=0;q<=P;q++){var ae=k[2*q+1];ae!==0&&(k[2*q]=Z(ie[ae]++,ae))}}function re(k){var P;for(P=0;P<b;P++)k.dyn_ltree[2*P]=0;for(P=0;P<m;P++)k.dyn_dtree[2*P]=0;for(P=0;P<E;P++)k.bl_tree[2*P]=0;k.dyn_ltree[2*I]=1,k.opt_len=k.static_len=0,k.last_lit=k.matches=0}function me(k){8<k.bi_valid?R(k,k.bi_buf):0<k.bi_valid&&(k.pending_buf[k.pending++]=k.bi_buf),k.bi_buf=0,k.bi_valid=0}function fe(k,P,X,J){var q=2*P,ie=2*X;return k[q]<k[ie]||k[q]===k[ie]&&J[P]<=J[X]}function he(k,P,X){for(var J=k.heap[X],q=X<<1;q<=k.heap_len&&(q<k.heap_len&&fe(P,k.heap[q+1],k.heap[q],k.depth)&&q++,!fe(P,J,k.heap[q],k.depth));)k.heap[X]=k.heap[q],X=q,q<<=1;k.heap[X]=J}function _e(k,P,X){var J,q,ie,le,ae=0;if(k.last_lit!==0)for(;J=k.pending_buf[k.d_buf+2*ae]<<8|k.pending_buf[k.d_buf+2*ae+1],q=k.pending_buf[k.l_buf+ae],ae++,J===0?M(k,q,P):(M(k,(ie=f[q])+p+1,P),(le=$[ie])!==0&&B(k,q-=j[ie],le),M(k,ie=S(--J),X),(le=ee[ie])!==0&&B(k,J-=w[ie],le)),ae<k.last_lit;);M(k,I,P)}function Te(k,P){var X,J,q,ie=P.dyn_tree,le=P.stat_desc.static_tree,ae=P.stat_desc.has_stree,de=P.stat_desc.elems,Se=-1;for(k.heap_len=0,k.heap_max=g,X=0;X<de;X++)ie[2*X]!==0?(k.heap[++k.heap_len]=Se=X,k.depth[X]=0):ie[2*X+1]=0;for(;k.heap_len<2;)ie[2*(q=k.heap[++k.heap_len]=Se<2?++Se:0)]=1,k.depth[q]=0,k.opt_len--,ae&&(k.static_len-=le[2*q+1]);for(P.max_code=Se,X=k.heap_len>>1;1<=X;X--)he(k,ie,X);for(q=de;X=k.heap[1],k.heap[1]=k.heap[k.heap_len--],he(k,ie,1),J=k.heap[1],k.heap[--k.heap_max]=X,k.heap[--k.heap_max]=J,ie[2*q]=ie[2*X]+ie[2*J],k.depth[q]=(k.depth[X]>=k.depth[J]?k.depth[X]:k.depth[J])+1,ie[2*X+1]=ie[2*J+1]=q,k.heap[1]=q++,he(k,ie,1),2<=k.heap_len;);k.heap[--k.heap_max]=k.heap[1],function(we,Ie){var tt,Le,lt,ze,ct,_t,We=Ie.dyn_tree,Ft=Ie.max_code,sr=Ie.stat_desc.static_tree,wt=Ie.stat_desc.has_stree,Rt=Ie.stat_desc.extra_bits,Ye=Ie.stat_desc.extra_base,Ke=Ie.stat_desc.max_length,rt=0;for(ze=0;ze<=C;ze++)we.bl_count[ze]=0;for(We[2*we.heap[we.heap_max]+1]=0,tt=we.heap_max+1;tt<g;tt++)Ke<(ze=We[2*We[2*(Le=we.heap[tt])+1]+1]+1)&&(ze=Ke,rt++),We[2*Le+1]=ze,Ft<Le||(we.bl_count[ze]++,ct=0,Ye<=Le&&(ct=Rt[Le-Ye]),_t=We[2*Le],we.opt_len+=_t*(ze+ct),wt&&(we.static_len+=_t*(sr[2*Le+1]+ct)));if(rt!==0){do{for(ze=Ke-1;we.bl_count[ze]===0;)ze--;we.bl_count[ze]--,we.bl_count[ze+1]+=2,we.bl_count[Ke]--,rt-=2}while(0<rt);for(ze=Ke;ze!==0;ze--)for(Le=we.bl_count[ze];Le!==0;)Ft<(lt=we.heap[--tt])||(We[2*lt+1]!==ze&&(we.opt_len+=(ze-We[2*lt+1])*We[2*lt],We[2*lt+1]=ze),Le--)}}(k,P),K(ie,Se,k.bl_count)}function u(k,P,X){var J,q,ie=-1,le=P[1],ae=0,de=7,Se=4;for(le===0&&(de=138,Se=3),P[2*(X+1)+1]=65535,J=0;J<=X;J++)q=le,le=P[2*(J+1)+1],++ae<de&&q===le||(ae<Se?k.bl_tree[2*q]+=ae:q!==0?(q!==ie&&k.bl_tree[2*q]++,k.bl_tree[2*L]++):ae<=10?k.bl_tree[2*F]++:k.bl_tree[2*Y]++,ie=q,Se=(ae=0)===le?(de=138,3):q===le?(de=6,3):(de=7,4))}function Q(k,P,X){var J,q,ie=-1,le=P[1],ae=0,de=7,Se=4;for(le===0&&(de=138,Se=3),J=0;J<=X;J++)if(q=le,le=P[2*(J+1)+1],!(++ae<de&&q===le)){if(ae<Se)for(;M(k,q,k.bl_tree),--ae!=0;);else q!==0?(q!==ie&&(M(k,q,k.bl_tree),ae--),M(k,L,k.bl_tree),B(k,ae-3,2)):ae<=10?(M(k,F,k.bl_tree),B(k,ae-3,3)):(M(k,Y,k.bl_tree),B(k,ae-11,7));ie=q,Se=(ae=0)===le?(de=138,3):q===le?(de=6,3):(de=7,4)}}d(w);var W=!1;function A(k,P,X,J){B(k,(v<<1)+(J?1:0),3),function(q,ie,le,ae){me(q),ae&&(R(q,le),R(q,~le)),l.arraySet(q.pending_buf,q.window,ie,le,q.pending),q.pending+=le}(k,P,X,!0)}a._tr_init=function(k){W||(function(){var P,X,J,q,ie,le=new Array(C+1);for(q=J=0;q<h-1;q++)for(j[q]=J,P=0;P<1<<$[q];P++)f[J++]=q;for(f[J-1]=q,q=ie=0;q<16;q++)for(w[q]=ie,P=0;P<1<<ee[q];P++)U[ie++]=q;for(ie>>=7;q<m;q++)for(w[q]=ie<<7,P=0;P<1<<ee[q]-7;P++)U[256+ie++]=q;for(X=0;X<=C;X++)le[X]=0;for(P=0;P<=143;)ce[2*P+1]=8,P++,le[8]++;for(;P<=255;)ce[2*P+1]=9,P++,le[9]++;for(;P<=279;)ce[2*P+1]=7,P++,le[7]++;for(;P<=287;)ce[2*P+1]=8,P++,le[8]++;for(K(ce,b+1,le),P=0;P<m;P++)z[2*P+1]=5,z[2*P]=Z(P,5);ge=new O(ce,$,p+1,b,C),H=new O(z,ee,0,m,C),y=new O(new Array(0),N,0,E,T)}(),W=!0),k.l_desc=new x(k.dyn_ltree,ge),k.d_desc=new x(k.dyn_dtree,H),k.bl_desc=new x(k.bl_tree,y),k.bi_buf=0,k.bi_valid=0,re(k)},a._tr_stored_block=A,a._tr_flush_block=function(k,P,X,J){var q,ie,le=0;0<k.level?(k.strm.data_type===2&&(k.strm.data_type=function(ae){var de,Se=4093624447;for(de=0;de<=31;de++,Se>>>=1)if(1&Se&&ae.dyn_ltree[2*de]!==0)return o;if(ae.dyn_ltree[18]!==0||ae.dyn_ltree[20]!==0||ae.dyn_ltree[26]!==0)return i;for(de=32;de<p;de++)if(ae.dyn_ltree[2*de]!==0)return i;return o}(k)),Te(k,k.l_desc),Te(k,k.d_desc),le=function(ae){var de;for(u(ae,ae.dyn_ltree,ae.l_desc.max_code),u(ae,ae.dyn_dtree,ae.d_desc.max_code),Te(ae,ae.bl_desc),de=E-1;3<=de&&ae.bl_tree[2*ne[de]+1]===0;de--);return ae.opt_len+=3*(de+1)+5+5+4,de}(k),q=k.opt_len+3+7>>>3,(ie=k.static_len+3+7>>>3)<=q&&(q=ie)):q=ie=X+5,X+4<=q&&P!==-1?A(k,P,X,J):k.strategy===4||ie===q?(B(k,2+(J?1:0),3),_e(k,ce,z)):(B(k,4+(J?1:0),3),function(ae,de,Se,we){var Ie;for(B(ae,de-257,5),B(ae,Se-1,5),B(ae,we-4,4),Ie=0;Ie<we;Ie++)B(ae,ae.bl_tree[2*ne[Ie]+1],3);Q(ae,ae.dyn_ltree,de-1),Q(ae,ae.dyn_dtree,Se-1)}(k,k.l_desc.max_code+1,k.d_desc.max_code+1,le+1),_e(k,k.dyn_ltree,k.dyn_dtree)),re(k),J&&me(k)},a._tr_tally=function(k,P,X){return k.pending_buf[k.d_buf+2*k.last_lit]=P>>>8&255,k.pending_buf[k.d_buf+2*k.last_lit+1]=255&P,k.pending_buf[k.l_buf+k.last_lit]=255&X,k.last_lit++,P===0?k.dyn_ltree[2*X]++:(k.matches++,P--,k.dyn_ltree[2*(f[X]+p+1)]++,k.dyn_dtree[2*S(P)]++),k.last_lit===k.lit_bufsize-1},a._tr_align=function(k){B(k,2,3),M(k,I,ce),function(P){P.bi_valid===16?(R(P,P.bi_buf),P.bi_buf=0,P.bi_valid=0):8<=P.bi_valid&&(P.pending_buf[P.pending++]=255&P.bi_buf,P.bi_buf>>=8,P.bi_valid-=8)}(k)}},{"../utils/common":41}],53:[function(r,s,a){s.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(r,s,a){(function(l){(function(o,i){if(!o.setImmediate){var d,v,h,p,b=1,m={},E=!1,g=o.document,C=Object.getPrototypeOf&&Object.getPrototypeOf(o);C=C&&C.setTimeout?C:o,d={}.toString.call(o.process)==="[object process]"?function(L){process.nextTick(function(){T(L)})}:function(){if(o.postMessage&&!o.importScripts){var L=!0,F=o.onmessage;return o.onmessage=function(){L=!1},o.postMessage("","*"),o.onmessage=F,L}}()?(p="setImmediate$"+Math.random()+"$",o.addEventListener?o.addEventListener("message",I,!1):o.attachEvent("onmessage",I),function(L){o.postMessage(p+L,"*")}):o.MessageChannel?((h=new MessageChannel).port1.onmessage=function(L){T(L.data)},function(L){h.port2.postMessage(L)}):g&&"onreadystatechange"in g.createElement("script")?(v=g.documentElement,function(L){var F=g.createElement("script");F.onreadystatechange=function(){T(L),F.onreadystatechange=null,v.removeChild(F),F=null},v.appendChild(F)}):function(L){setTimeout(T,0,L)},C.setImmediate=function(L){typeof L!="function"&&(L=new Function(""+L));for(var F=new Array(arguments.length-1),Y=0;Y<F.length;Y++)F[Y]=arguments[Y+1];var $={callback:L,args:F};return m[b]=$,d(b),b++},C.clearImmediate=_}function _(L){delete m[L]}function T(L){if(E)setTimeout(T,0,L);else{var F=m[L];if(F){E=!0;try{(function(Y){var $=Y.callback,ee=Y.args;switch(ee.length){case 0:$();break;case 1:$(ee[0]);break;case 2:$(ee[0],ee[1]);break;case 3:$(ee[0],ee[1],ee[2]);break;default:$.apply(i,ee)}})(F)}finally{_(L),E=!1}}}}function I(L){L.source===o&&typeof L.data=="string"&&L.data.indexOf(p)===0&&T(+L.data.slice(p.length))}})(typeof self>"u"?l===void 0?this:l:self)}).call(this,typeof Ze<"u"?Ze:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(un);const ys=un.exports;var rr={exports:{}};(function(t,e){(function(r,s){s()})(Ze,function(){function r(v,h){return typeof h>"u"?h={autoBom:!1}:typeof h!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),h={autoBom:!h}),h.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(v.type)?new Blob(["\uFEFF",v],{type:v.type}):v}function s(v,h,p){var b=new XMLHttpRequest;b.open("GET",v),b.responseType="blob",b.onload=function(){d(b.response,h,p)},b.onerror=function(){console.error("could not download file")},b.send()}function a(v){var h=new XMLHttpRequest;h.open("HEAD",v,!1);try{h.send()}catch{}return 200<=h.status&&299>=h.status}function l(v){try{v.dispatchEvent(new MouseEvent("click"))}catch{var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),v.dispatchEvent(h)}}var o=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Ze=="object"&&Ze.global===Ze?Ze:void 0,i=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),d=o.saveAs||(typeof window!="object"||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(v,h,p){var b=o.URL||o.webkitURL,m=document.createElement("a");h=h||v.name||"download",m.download=h,m.rel="noopener",typeof v=="string"?(m.href=v,m.origin===location.origin?l(m):a(m.href)?s(v,h,p):l(m,m.target="_blank")):(m.href=b.createObjectURL(v),setTimeout(function(){b.revokeObjectURL(m.href)},4e4),setTimeout(function(){l(m)},0))}:"msSaveOrOpenBlob"in navigator?function(v,h,p){if(h=h||v.name||"download",typeof v!="string")navigator.msSaveOrOpenBlob(r(v,p),h);else if(a(v))s(v,h,p);else{var b=document.createElement("a");b.href=v,b.target="_blank",setTimeout(function(){l(b)})}}:function(v,h,p,b){if(b=b||open("","_blank"),b&&(b.document.title=b.document.body.innerText="downloading..."),typeof v=="string")return s(v,h,p);var m=v.type==="application/octet-stream",E=/constructor/i.test(o.HTMLElement)||o.safari,g=/CriOS\/[\d]+/.test(navigator.userAgent);if((g||m&&E||i)&&typeof FileReader<"u"){var C=new FileReader;C.onloadend=function(){var I=C.result;I=g?I:I.replace(/^data:[^;]*;/,"data:attachment/file;"),b?b.location.href=I:location=I,b=null},C.readAsDataURL(v)}else{var _=o.URL||o.webkitURL,T=_.createObjectURL(v);b?b.location=T:location.href=T,b=null,setTimeout(function(){_.revokeObjectURL(T)},4e4)}});o.saveAs=d.saveAs=d,t.exports=d})})(rr);function _s(t,e){const r=new Blob([e],{type:"text/csv"});rr.exports.saveAs(r,`${t}.csv`)}function ws(t){const e=new ys;t.forEach(({id:r,data:s})=>{e.file(`${r}.csv`,cn(s))}),e.generateAsync({type:"blob"}).then(r=>{rr.exports.saveAs(r,"dashboard_data.zip")})}function cn(t){if(!Array.isArray(t)||t.length===0)return"";const e=[],r=Object.keys(t[0]);return e.push(r.join(",")),t.forEach(s=>{const a=Object.values(s).join(",");e.push(a)}),e.join(`
53
+ `)}const dn=se.types.model("QueryModel",{id:se.types.string,type:se.types.enumeration("DataSourceType",[yt.Postgresql,yt.MySQL,yt.HTTP]),key:se.types.string,sql:se.types.string}).views(t=>({get valid(){return t.id&&t.type&&t.key&&t.sql},get configurations(){const{id:e,type:r,key:s,sql:a}=t;return{id:e,type:r,key:s,sql:a}}})),fn=se.types.compose("QueryModel",dn,se.types.model({state:se.types.optional(se.types.enumeration(["idle","loading","error"]),"idle"),data:se.types.optional(se.types.array(se.types.frozen()),[]),error:se.types.frozen()})).views(t=>({get formattedSQL(){const{context:e,sqlSnippets:r,filterValues:s}=se.getRoot(t).payloadForSQL;return Wr(t.sql,e,r,s)}})).actions(t=>({setID(e){t.id=e},setKey(e){t.key=e},setType(e){t.type=e},setSQL(e){t.sql=e},fetchData:se.flow(function*(){if(!!t.valid){t.state="loading";try{const e=t.id,{context:r,sqlSnippets:s,filterValues:a}=se.getRoot(t).payloadForSQL;t.data=yield*se.toGenerator(Ba({context:r,sqlSnippets:s,title:e,query:{type:t.type,key:t.key,sql:t.sql},filterValues:a})),t.state="idle"}catch(e){console.error(e),t.error=e,t.state="error"}}})})).actions(t=>({afterCreate(){se.addDisposer(t,Pn.reaction(()=>`${t.id}--${t.key}--${t.type}--${t.formattedSQL}`,t.fetchData,{fireImmediately:!0,delay:500}))}})),hn=se.types.model("QueriesModel",{original:se.types.optional(se.types.array(dn),[]),current:se.types.optional(se.types.array(fn),[])}).views(t=>({get changed(){return t.original.length!==t.current.length?!0:t.original.some((e,r)=>!ye.default.isEqual(e.configurations,t.current[r].configurations))},get firstID(){if(t.current.length!==0)return t.current[0].id},findByID(e){return t.current.find(r=>r.id===e)},get options(){return t.current.map(e=>({value:e.id,label:e.id}))}})).actions(t=>({reset(){t.current=se.cast(t.original)},replace(e){t.current=se.cast(e)},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},replaceByIndex(e,r){t.current.splice(e,1,r)},downloadAllData(){const e=t.current.map(({id:r,data:s})=>({id:r,data:s.toJSON()}));ws(e)},downloadDataByQueryID(e){const r=t.findByID(e);if(!r){console.log(`[downloadDataByQueryID] query by ID[${e}] not found`);return}const{id:s,data:a}=r,l=cn(a);_s(s,l)},refetchDataByQueryID(e){const r=t.findByID(e);if(!r){console.error(new Error(`[downloadDataByQueryID] query by ID[${e}] not found`));return}return r.fetchData()}})),nr=se.types.model("SQLSnippetModel",{key:se.types.string,value:se.types.string}).actions(t=>({setKey(e){t.key=e},setValue(e){t.value=e}})),pn=se.types.model("SQLSnippetsModel",{original:se.types.optional(se.types.array(nr),[]),current:se.types.optional(se.types.array(nr),[])}).views(t=>({get changed(){return!ye.default.isEqual(t.original,t.current)}})).actions(t=>({reset(){t.current=ye.default.cloneDeep(t.original)},replace(e){t.current=se.cast(e)},append(e){t.current.push(e)},remove(e){t.current.splice(e,1)},replaceByIndex(e,r){t.current.splice(e,1,r)}})),mn=se.types.model("ContextModel",{current:se.types.optional(se.types.frozen(),{})}).views(t=>({get keys(){return Object.keys(t.current)},get entries(){return Object.entries(t.current)}})).actions(t=>({replace(e){t.current=e},get(e){return t.current[e]},set(e,r){t.current[e]=r}})),xs=se.types.model({id:se.types.identifier,name:se.types.string,filters:on,queries:hn,sqlSnippets:pn,context:mn}).views(t=>({get payloadForSQL(){return{context:t.context.current,sqlSnippets:t.sqlSnippets.current,filterValues:t.filters.values}},get data(){return t.queries.current.map(({id:r,data:s})=>({id:r,data:s})).reduce((r,s)=>(r[s.id]=s.data,r),{})},getDataStuffByID(e){const r=t.queries.findByID(e);return r?{data:r.data.toJSON(),state:r.state,error:void 0}:{data:[],state:"idle",error:void 0}},getDataStateByID(e){var r,s;return(s=(r=t.queries.findByID(e))==null?void 0:r.state)!=null?s:[]},getDataErrorByID(e){var r,s;return(s=(r=t.queries.findByID(e))==null?void 0:r.error)!=null?s:[]}}));function ir({id:t,name:e,filters:r,definition:{queries:s,sqlSnippets:a}},l){return xs.create({id:t,name:e,filters:ln(r),queries:{original:s,current:s},sqlSnippets:{original:a,current:a},context:l})}const ks="2.5.0";class Ss{constructor(){nt(this,"plugins",new Map);nt(this,"vizComponents",new Map);nt(this,"factory",{viz:e=>{const r=this.vizComponents.get(e);if(r)return r;throw new Error(`Viz Component (${e}) not found`)}})}install(e){if(this.plugins.has(e.id))throw new Error(`Plugin (${e.id}) has been installed before`);this.plugins.set(e.id,e);for(const r of e.manifest.viz){if(this.vizComponents.has(r.name))throw new Error(`Viz Component (${r.name}) has been installed before`);this.vizComponents.set(r.name,r)}}get installedPlugins(){return Array.from(this.plugins.values())}}class Cs{constructor(e){this.root=e}async deleteItem(e){delete this.root[e]}getItem(e){return Promise.resolve($e.get(this.root,[e]))}setItem(e,r){return $e.set(this.root,[e],r),Promise.resolve(this.getItem(e))}}var gn={exports:{}};/*!
54
+ * EventEmitter2
55
+ * https://github.com/hij1nx/EventEmitter2
56
+ *
57
+ * Copyright (c) 2013 hij1nx
58
+ * Licensed under the MIT license.
59
+ */(function(t,e){(function(r){var s=Object.hasOwnProperty,a=Array.isArray?Array.isArray:function(w){return Object.prototype.toString.call(w)==="[object Array]"},l=10,o=typeof process=="object"&&typeof process.nextTick=="function",i=typeof Symbol=="function",d=typeof Reflect=="object",v=typeof setImmediate=="function",h=v?setImmediate:setTimeout,p=i?d&&typeof Reflect.ownKeys=="function"?Reflect.ownKeys:function(y){var w=Object.getOwnPropertyNames(y);return w.push.apply(w,Object.getOwnPropertySymbols(y)),w}:Object.keys;function b(){this._events={},this._conf&&m.call(this,this._conf)}function m(y){y&&(this._conf=y,y.delimiter&&(this.delimiter=y.delimiter),y.maxListeners!==r&&(this._maxListeners=y.maxListeners),y.wildcard&&(this.wildcard=y.wildcard),y.newListener&&(this._newListener=y.newListener),y.removeListener&&(this._removeListener=y.removeListener),y.verboseMemoryLeak&&(this.verboseMemoryLeak=y.verboseMemoryLeak),y.ignoreErrors&&(this.ignoreErrors=y.ignoreErrors),this.wildcard&&(this.listenerTree={}))}function E(y,w){var O="(node) warning: possible EventEmitter memory leak detected. "+y+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(O+=" Event name: "+w+"."),typeof process<"u"&&process.emitWarning){var x=new Error(O);x.name="MaxListenersExceededWarning",x.emitter=this,x.count=y,process.emitWarning(x)}else console.error(O),console.trace&&console.trace()}var g=function(y,w,O){var x=arguments.length;switch(x){case 0:return[];case 1:return[y];case 2:return[y,w];case 3:return[y,w,O];default:for(var S=new Array(x);x--;)S[x]=arguments[x];return S}};function C(y,w){for(var O={},x,S=y.length,R=w?w.length:0,B=0;B<S;B++)x=y[B],O[x]=B<R?w[B]:r;return O}function _(y,w,O){this._emitter=y,this._target=w,this._listeners={},this._listenersCount=0;var x,S;if((O.on||O.off)&&(x=O.on,S=O.off),w.addEventListener?(x=w.addEventListener,S=w.removeEventListener):w.addListener?(x=w.addListener,S=w.removeListener):w.on&&(x=w.on,S=w.off),!x&&!S)throw Error("target does not implement any known event API");if(typeof x!="function")throw TypeError("on method must be a function");if(typeof S!="function")throw TypeError("off method must be a function");this._on=x,this._off=S;var R=y._observers;R?R.push(this):y._observers=[this]}Object.assign(_.prototype,{subscribe:function(y,w,O){var x=this,S=this._target,R=this._emitter,B=this._listeners,M=function(){var Z=g.apply(null,arguments),K={data:Z,name:w,original:y};if(O){var re=O.call(S,K);re!==!1&&R.emit.apply(R,[K.name].concat(Z));return}R.emit.apply(R,[w].concat(Z))};if(B[y])throw Error("Event '"+y+"' is already listening");this._listenersCount++,R._newListener&&R._removeListener&&!x._onNewListener?(this._onNewListener=function(Z){Z===w&&B[y]===null&&(B[y]=M,x._on.call(S,y,M))},R.on("newListener",this._onNewListener),this._onRemoveListener=function(Z){Z===w&&!R.hasListeners(Z)&&B[y]&&(B[y]=null,x._off.call(S,y,M))},B[y]=null,R.on("removeListener",this._onRemoveListener)):(B[y]=M,x._on.call(S,y,M))},unsubscribe:function(y){var w=this,O=this._listeners,x=this._emitter,S,R,B=this._off,M=this._target,Z;if(y&&typeof y!="string")throw TypeError("event must be a string");function K(){w._onNewListener&&(x.off("newListener",w._onNewListener),x.off("removeListener",w._onRemoveListener),w._onNewListener=null,w._onRemoveListener=null);var re=ee.call(x,w);x._observers.splice(re,1)}if(y){if(S=O[y],!S)return;B.call(M,y,S),delete O[y],--this._listenersCount||K()}else{for(R=p(O),Z=R.length;Z-- >0;)y=R[Z],B.call(M,y,O[y]);this._listeners={},this._listenersCount=0,K()}}});function T(y,w,O,x){var S=Object.assign({},w);if(!y)return S;if(typeof y!="object")throw TypeError("options must be an object");var R=Object.keys(y),B=R.length,M,Z,K;function re(fe){throw Error('Invalid "'+M+'" option value'+(fe?". Reason: "+fe:""))}for(var me=0;me<B;me++){if(M=R[me],!x&&!s.call(w,M))throw Error('Unknown "'+M+'" option');Z=y[M],Z!==r&&(K=O[M],S[M]=K?K(Z,re):Z)}return S}function I(y,w){return(typeof y!="function"||!y.hasOwnProperty("prototype"))&&w("value must be a constructor"),y}function L(y){var w="value must be type of "+y.join("|"),O=y.length,x=y[0],S=y[1];return O===1?function(R,B){if(typeof R===x)return R;B(w)}:O===2?function(R,B){var M=typeof R;if(M===x||M===S)return R;B(w)}:function(R,B){for(var M=typeof R,Z=O;Z-- >0;)if(M===y[Z])return R;B(w)}}var F=L(["function"]),Y=L(["object","function"]);function $(y,w,O){var x,S,R=0,B,M=new y(function(Z,K,re){O=T(O,{timeout:0,overload:!1},{timeout:function(_e,Te){return _e*=1,(typeof _e!="number"||_e<0||!Number.isFinite(_e))&&Te("timeout must be a positive number"),_e}}),x=!O.overload&&typeof y.prototype.cancel=="function"&&typeof re=="function";function me(){S&&(S=null),R&&(clearTimeout(R),R=0)}var fe=function(_e){me(),Z(_e)},he=function(_e){me(),K(_e)};x?w(fe,he,re):(S=[function(_e){he(_e||Error("canceled"))}],w(fe,he,function(_e){if(B)throw Error("Unable to subscribe on cancel event asynchronously");if(typeof _e!="function")throw TypeError("onCancel callback must be a function");S.push(_e)}),B=!0),O.timeout>0&&(R=setTimeout(function(){var _e=Error("timeout");_e.code="ETIMEDOUT",R=0,M.cancel(_e),K(_e)},O.timeout))});return x||(M.cancel=function(Z){if(!!S){for(var K=S.length,re=1;re<K;re++)S[re](Z);S[0](Z),S=null}}),M}function ee(y){var w=this._observers;if(!w)return-1;for(var O=w.length,x=0;x<O;x++)if(w[x]._target===y)return x;return-1}function N(y,w,O,x,S){if(!O)return null;if(x===0){var R=typeof w;if(R==="string"){var B,M,Z=0,K=0,re=this.delimiter,me=re.length;if((M=w.indexOf(re))!==-1){B=new Array(5);do B[Z++]=w.slice(K,M),K=M+me;while((M=w.indexOf(re,K))!==-1);B[Z++]=w.slice(K),w=B,S=Z}else w=[w],S=1}else R==="object"?S=w.length:(w=[w],S=1)}var fe=null,he,_e,Te,u,Q,W=w[x],A=w[x+1],k,P;if(x===S)O._listeners&&(typeof O._listeners=="function"?(y&&y.push(O._listeners),fe=[O]):(y&&y.push.apply(y,O._listeners),fe=[O]));else if(W==="*"){for(k=p(O),M=k.length;M-- >0;)he=k[M],he!=="_listeners"&&(P=N(y,w,O[he],x+1,S),P&&(fe?fe.push.apply(fe,P):fe=P));return fe}else if(W==="**"){for(Q=x+1===S||x+2===S&&A==="*",Q&&O._listeners&&(fe=N(y,w,O,S,S)),k=p(O),M=k.length;M-- >0;)he=k[M],he!=="_listeners"&&(he==="*"||he==="**"?(O[he]._listeners&&!Q&&(P=N(y,w,O[he],S,S),P&&(fe?fe.push.apply(fe,P):fe=P)),P=N(y,w,O[he],x,S)):he===A?P=N(y,w,O[he],x+2,S):P=N(y,w,O[he],x,S),P&&(fe?fe.push.apply(fe,P):fe=P));return fe}else O[W]&&(fe=N(y,w,O[W],x+1,S));if(_e=O["*"],_e&&N(y,w,_e,x+1,S),Te=O["**"],Te)if(x<S)for(Te._listeners&&N(y,w,Te,S,S),k=p(Te),M=k.length;M-- >0;)he=k[M],he!=="_listeners"&&(he===A?N(y,w,Te[he],x+2,S):he===W?N(y,w,Te[he],x+1,S):(u={},u[he]=Te[he],N(y,w,{"**":u},x+1,S)));else Te._listeners?N(y,w,Te,S,S):Te["*"]&&Te["*"]._listeners&&N(y,w,Te["*"],S,S);return fe}function ne(y,w,O){var x=0,S=0,R,B=this.delimiter,M=B.length,Z;if(typeof y=="string")if((R=y.indexOf(B))!==-1){Z=new Array(5);do Z[x++]=y.slice(S,R),S=R+M;while((R=y.indexOf(B,S))!==-1);Z[x++]=y.slice(S)}else Z=[y],x=1;else Z=y,x=y.length;if(x>1){for(R=0;R+1<x;R++)if(Z[R]==="**"&&Z[R+1]==="**")return}var K=this.listenerTree,re;for(R=0;R<x;R++)if(re=Z[R],K=K[re]||(K[re]={}),R===x-1)return K._listeners?(typeof K._listeners=="function"&&(K._listeners=[K._listeners]),O?K._listeners.unshift(w):K._listeners.push(w),!K._listeners.warned&&this._maxListeners>0&&K._listeners.length>this._maxListeners&&(K._listeners.warned=!0,E.call(this,K._listeners.length,re))):K._listeners=w,!0;return!0}function ce(y,w,O,x){for(var S=p(y),R=S.length,B,M,Z,K=y._listeners,re;R-- >0;)M=S[R],B=y[M],M==="_listeners"?Z=O:Z=O?O.concat(M):[M],re=x||typeof M=="symbol",K&&w.push(re?Z:Z.join(this.delimiter)),typeof B=="object"&&ce.call(this,B,w,Z,re);return w}function z(y){for(var w=p(y),O=w.length,x,S,R;O-- >0;)S=w[O],x=y[S],x&&(R=!0,S!=="_listeners"&&!z(x)&&delete y[S]);return R}function U(y,w,O){this.emitter=y,this.event=w,this.listener=O}U.prototype.off=function(){return this.emitter.off(this.event,this.listener),this};function f(y,w,O){if(O===!0)S=!0;else if(O===!1)x=!0;else{if(!O||typeof O!="object")throw TypeError("options should be an object or true");var x=O.async,S=O.promisify,R=O.nextTick,B=O.objectify}if(x||R||S){var M=w,Z=w._origin||w;if(R&&!o)throw Error("process.nextTick is not supported");S===r&&(S=w.constructor.name==="AsyncFunction"),w=function(){var K=arguments,re=this,me=this.event;return S?R?Promise.resolve():new Promise(function(fe){h(fe)}).then(function(){return re.event=me,M.apply(re,K)}):(R?process.nextTick:h)(function(){re.event=me,M.apply(re,K)})},w._async=!0,w._origin=Z}return[w,B?new U(this,y,w):this]}function j(y){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,m.call(this,y)}j.EventEmitter2=j,j.prototype.listenTo=function(y,w,O){if(typeof y!="object")throw TypeError("target musts be an object");var x=this;O=T(O,{on:r,off:r,reducers:r},{on:F,off:F,reducers:Y});function S(R){if(typeof R!="object")throw TypeError("events must be an object");var B=O.reducers,M=ee.call(x,y),Z;M===-1?Z=new _(x,y,O):Z=x._observers[M];for(var K=p(R),re=K.length,me,fe=typeof B=="function",he=0;he<re;he++)me=K[he],Z.subscribe(me,R[me]||me,fe?B:B&&B[me])}return a(w)?S(C(w)):S(typeof w=="string"?C(w.split(/\s+/)):w),this},j.prototype.stopListeningTo=function(y,w){var O=this._observers;if(!O)return!1;var x=O.length,S,R=!1;if(y&&typeof y!="object")throw TypeError("target should be an object");for(;x-- >0;)S=O[x],(!y||S._target===y)&&(S.unsubscribe(w),R=!0);return R},j.prototype.delimiter=".",j.prototype.setMaxListeners=function(y){y!==r&&(this._maxListeners=y,this._conf||(this._conf={}),this._conf.maxListeners=y)},j.prototype.getMaxListeners=function(){return this._maxListeners},j.prototype.event="",j.prototype.once=function(y,w,O){return this._once(y,w,!1,O)},j.prototype.prependOnceListener=function(y,w,O){return this._once(y,w,!0,O)},j.prototype._once=function(y,w,O,x){return this._many(y,1,w,O,x)},j.prototype.many=function(y,w,O,x){return this._many(y,w,O,!1,x)},j.prototype.prependMany=function(y,w,O,x){return this._many(y,w,O,!0,x)},j.prototype._many=function(y,w,O,x,S){var R=this;if(typeof O!="function")throw new Error("many only accepts instances of Function");function B(){return--w===0&&R.off(y,B),O.apply(this,arguments)}return B._origin=O,this._on(y,B,x,S)},j.prototype.emit=function(){if(!this._events&&!this._all)return!1;this._events||b.call(this);var y=arguments[0],w,O=this.wildcard,x,S,R,B,M;if(y==="newListener"&&!this._newListener&&!this._events.newListener)return!1;if(O&&(w=y,y!=="newListener"&&y!=="removeListener"&&typeof y=="object")){if(S=y.length,i){for(R=0;R<S;R++)if(typeof y[R]=="symbol"){M=!0;break}}M||(y=y.join(this.delimiter))}var Z=arguments.length,K;if(this._all&&this._all.length)for(K=this._all.slice(),R=0,S=K.length;R<S;R++)switch(this.event=y,Z){case 1:K[R].call(this,y);break;case 2:K[R].call(this,y,arguments[1]);break;case 3:K[R].call(this,y,arguments[1],arguments[2]);break;default:K[R].apply(this,arguments)}if(O)K=[],N.call(this,K,w,this.listenerTree,0,S);else if(K=this._events[y],typeof K=="function"){switch(this.event=y,Z){case 1:K.call(this);break;case 2:K.call(this,arguments[1]);break;case 3:K.call(this,arguments[1],arguments[2]);break;default:for(x=new Array(Z-1),B=1;B<Z;B++)x[B-1]=arguments[B];K.apply(this,x)}return!0}else K&&(K=K.slice());if(K&&K.length){if(Z>3)for(x=new Array(Z-1),B=1;B<Z;B++)x[B-1]=arguments[B];for(R=0,S=K.length;R<S;R++)switch(this.event=y,Z){case 1:K[R].call(this);break;case 2:K[R].call(this,arguments[1]);break;case 3:K[R].call(this,arguments[1],arguments[2]);break;default:K[R].apply(this,x)}return!0}else if(!this.ignoreErrors&&!this._all&&y==="error")throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},j.prototype.emitAsync=function(){if(!this._events&&!this._all)return!1;this._events||b.call(this);var y=arguments[0],w=this.wildcard,O,x,S,R,B,M;if(y==="newListener"&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);if(w&&(O=y,y!=="newListener"&&y!=="removeListener"&&typeof y=="object")){if(R=y.length,i){for(B=0;B<R;B++)if(typeof y[B]=="symbol"){x=!0;break}}x||(y=y.join(this.delimiter))}var Z=[],K=arguments.length,re;if(this._all)for(B=0,R=this._all.length;B<R;B++)switch(this.event=y,K){case 1:Z.push(this._all[B].call(this,y));break;case 2:Z.push(this._all[B].call(this,y,arguments[1]));break;case 3:Z.push(this._all[B].call(this,y,arguments[1],arguments[2]));break;default:Z.push(this._all[B].apply(this,arguments))}if(w?(re=[],N.call(this,re,O,this.listenerTree,0)):re=this._events[y],typeof re=="function")switch(this.event=y,K){case 1:Z.push(re.call(this));break;case 2:Z.push(re.call(this,arguments[1]));break;case 3:Z.push(re.call(this,arguments[1],arguments[2]));break;default:for(S=new Array(K-1),M=1;M<K;M++)S[M-1]=arguments[M];Z.push(re.apply(this,S))}else if(re&&re.length){if(re=re.slice(),K>3)for(S=new Array(K-1),M=1;M<K;M++)S[M-1]=arguments[M];for(B=0,R=re.length;B<R;B++)switch(this.event=y,K){case 1:Z.push(re[B].call(this));break;case 2:Z.push(re[B].call(this,arguments[1]));break;case 3:Z.push(re[B].call(this,arguments[1],arguments[2]));break;default:Z.push(re[B].apply(this,S))}}else if(!this.ignoreErrors&&!this._all&&y==="error")return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(Z)},j.prototype.on=function(y,w,O){return this._on(y,w,!1,O)},j.prototype.prependListener=function(y,w,O){return this._on(y,w,!0,O)},j.prototype.onAny=function(y){return this._onAny(y,!1)},j.prototype.prependAny=function(y){return this._onAny(y,!0)},j.prototype.addListener=j.prototype.on,j.prototype._onAny=function(y,w){if(typeof y!="function")throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),w?this._all.unshift(y):this._all.push(y),this},j.prototype._on=function(y,w,O,x){if(typeof y=="function")return this._onAny(y,w),this;if(typeof w!="function")throw new Error("on only accepts instances of Function");this._events||b.call(this);var S=this,R;return x!==r&&(R=f.call(this,y,w,x),w=R[0],S=R[1]),this._newListener&&this.emit("newListener",y,w),this.wildcard?(ne.call(this,y,w,O),S):(this._events[y]?(typeof this._events[y]=="function"&&(this._events[y]=[this._events[y]]),O?this._events[y].unshift(w):this._events[y].push(w),!this._events[y].warned&&this._maxListeners>0&&this._events[y].length>this._maxListeners&&(this._events[y].warned=!0,E.call(this,this._events[y].length,y))):this._events[y]=w,S)},j.prototype.off=function(y,w){if(typeof w!="function")throw new Error("removeListener only takes instances of Function");var O,x=[];if(this.wildcard){var S=typeof y=="string"?y.split(this.delimiter):y.slice();if(x=N.call(this,null,S,this.listenerTree,0),!x)return this}else{if(!this._events[y])return this;O=this._events[y],x.push({_listeners:O})}for(var R=0;R<x.length;R++){var B=x[R];if(O=B._listeners,a(O)){for(var M=-1,Z=0,K=O.length;Z<K;Z++)if(O[Z]===w||O[Z].listener&&O[Z].listener===w||O[Z]._origin&&O[Z]._origin===w){M=Z;break}if(M<0)continue;return this.wildcard?B._listeners.splice(M,1):this._events[y].splice(M,1),O.length===0&&(this.wildcard?delete B._listeners:delete this._events[y]),this._removeListener&&this.emit("removeListener",y,w),this}else(O===w||O.listener&&O.listener===w||O._origin&&O._origin===w)&&(this.wildcard?delete B._listeners:delete this._events[y],this._removeListener&&this.emit("removeListener",y,w))}return this.listenerTree&&z(this.listenerTree),this},j.prototype.offAny=function(y){var w=0,O=0,x;if(y&&this._all&&this._all.length>0){for(x=this._all,w=0,O=x.length;w<O;w++)if(y===x[w])return x.splice(w,1),this._removeListener&&this.emit("removeListenerAny",y),this}else{if(x=this._all,this._removeListener)for(w=0,O=x.length;w<O;w++)this.emit("removeListenerAny",x[w]);this._all=[]}return this},j.prototype.removeListener=j.prototype.off,j.prototype.removeAllListeners=function(y){if(y===r)return!this._events||b.call(this),this;if(this.wildcard){var w=N.call(this,null,y,this.listenerTree,0),O,x;if(!w)return this;for(x=0;x<w.length;x++)O=w[x],O._listeners=null;this.listenerTree&&z(this.listenerTree)}else this._events&&(this._events[y]=null);return this},j.prototype.listeners=function(y){var w=this._events,O,x,S,R,B;if(y===r){if(this.wildcard)throw Error("event name required for wildcard emitter");if(!w)return[];for(O=p(w),R=O.length,S=[];R-- >0;)x=w[O[R]],typeof x=="function"?S.push(x):S.push.apply(S,x);return S}else{if(this.wildcard){if(B=this.listenerTree,!B)return[];var M=[],Z=typeof y=="string"?y.split(this.delimiter):y.slice();return N.call(this,M,Z,B,0),M}return w?(x=w[y],x?typeof x=="function"?[x]:x:[]):[]}},j.prototype.eventNames=function(y){var w=this._events;return this.wildcard?ce.call(this,this.listenerTree,[],null,y):w?p(w):[]},j.prototype.listenerCount=function(y){return this.listeners(y).length},j.prototype.hasListeners=function(y){if(this.wildcard){var w=[],O=typeof y=="string"?y.split(this.delimiter):y.slice();return N.call(this,w,O,this.listenerTree,0),w.length>0}var x=this._events,S=this._all;return!!(S&&S.length||x&&(y===r?p(x).length:x[y]))},j.prototype.listenersAny=function(){return this._all?this._all:[]},j.prototype.waitFor=function(y,w){var O=this,x=typeof w;return x==="number"?w={timeout:w}:x==="function"&&(w={filter:w}),w=T(w,{timeout:0,filter:r,handleError:!1,Promise,overload:!1},{filter:F,Promise:I}),$(w.Promise,function(S,R,B){function M(){var Z=w.filter;if(!(Z&&!Z.apply(O,arguments)))if(O.off(y,M),w.handleError){var K=arguments[0];K?R(K):S(g.apply(null,arguments).slice(1))}else S(g.apply(null,arguments))}B(function(){O.off(y,M)}),O._on(y,M,!1)},{timeout:w.timeout,overload:w.overload})};function ge(y,w,O){O=T(O,{Promise,timeout:0,overload:!1},{Promise:I});var x=O.Promise;return $(x,function(S,R,B){var M;if(typeof y.addEventListener=="function"){M=function(){S(g.apply(null,arguments))},B(function(){y.removeEventListener(w,M)}),y.addEventListener(w,M,{once:!0});return}var Z=function(){K&&y.removeListener("error",K),S(g.apply(null,arguments))},K;w!=="error"&&(K=function(re){y.removeListener(w,Z),R(re)},y.once("error",K)),B(function(){K&&y.removeListener("error",K),y.removeListener(w,Z)}),y.once(w,Z)},{timeout:O.timeout,overload:O.overload})}var H=j.prototype;Object.defineProperties(j,{defaultMaxListeners:{get:function(){return H._maxListeners},set:function(y){if(typeof y!="number"||y<0||Number.isNaN(y))throw TypeError("n must be a non-negative number");H._maxListeners=y},enumerable:!0},once:{value:ge,writable:!0,configurable:!0}}),Object.defineProperties(H,{_maxListeners:{value:l,writable:!0,configurable:!0},_observers:{value:null,writable:!0,configurable:!0}}),typeof r=="function"&&r.amd?r(function(){return j}):t.exports=j})()})(gn);const vn=gn.exports;class Es{constructor(){nt(this,"channels",new Map);nt(this,"globalChannel",new vn)}getChannel(e){const r=this.channels.get(e);if(r)return r;const s=new vn;return this.channels.set(e,s),s}close(e){this.channels.get(e)&&this.channels.set(e,void 0)}}class Ts{constructor(e){nt(this,"instances",new Map);this.pluginManager=e}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(e=>e.manifest.viz)}resolveComponent(e){return this.pluginManager.factory.viz(e)}getOrCreateInstance(e){const r=this.instances.get(e.id);if(r)return r;const s={id:e.id,name:e.viz.type,messageChannels:new Es,instanceData:new Cs(e.viz.conf)};return this.instances.set(e.id,s),s}}const As={id:"dashboard",version:ks,manifest:{viz:[],color:[]}},ar=new Ss,bn=()=>{const t=new Ts(ar);return{pluginManager:ar,vizManager:t}},zs=Fe.createContext(bn());ar.install(As);function yn(){V.default.useEffect(()=>{const t=Bn.default(".dashboard-sticky-area",{useStickyClasses:!0,parentClass:"dashboard-sticky-parent"});return()=>{t==null||t.cleanup()}},[])}const Xs="",Ds=Ce.observer(function({context:e,dashboard:r,update:s,className:a="dashboard",config:l}){ot.baseURL!==l.apiBaseURL&&(ot.baseURL=l.apiBaseURL);const[o,i]=V.default.useState(!1),[d,v]=V.default.useState(Ge.Edit),[h,p]=V.default.useState(r.panels),b=V.default.useMemo(()=>ir(r,e),[r]);V.default.useEffect(()=>{b.context.replace(e)},[e]);const m=V.default.useMemo(()=>{if(b.filters.changed||b.queries.changed||b.sqlSnippets.changed)return!0;const z=f=>JSON.parse(JSON.stringify(f));return!ye.default.isEqual(z(h),z(r.panels))},[r,h,b.queries.changed,b.filters.changed]),E=async()=>{const z=[...b.queries.current],U=[...b.sqlSnippets.current],f={...r,filters:[...b.filters.current],panels:h,definition:{sqlSnippets:U,queries:z}};await s(f)},g=()=>{b.filters.reset(),p(r.panels),b.sqlSnippets.reset(),b.queries.reset()},C=()=>{const z=Be.randomId(),U={id:z,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${z}`,description:"<p><br></p>",queryID:"",viz:{type:"table",conf:{}}};p(f=>[...f,U])},_=z=>{try{const U=h.find(j=>j.id===z);if(!U)throw new Error(`[duplicate panel] Can't find a panel by id[${z}]`);const f={...U,id:Be.randomId(),layout:{...U.layout,x:0,y:1/0}};p(j=>[...j,f])}catch(U){console.error(U)}},T=z=>{const U=h.findIndex(f=>f.id===z);p(f=>(f.splice(U,1),[...f]))},I=d===Ge.Edit,L=d===Ge.Layout,F=d===Ge.Use,Y=V.default.useCallback(()=>{const z=b.queries.current,U=b.sqlSnippets.current;return{filters:b.filters.current,panels:h,definition:{sqlSnippets:U,queries:z}}},[h,b]);yn();const{viewPanelInFullScreen:$,exitFullScreen:ee,inFullScreen:N,fullScreenPanel:ne}=Hr(h),ce=ut.useCreation(bn,[]);return n(Bt.ModalsProvider,{children:n(qt,{value:b,children:n(Ct.Provider,{value:{addPanel:C,duplidatePanel:_,removePanelByID:T,viewPanelInFullScreen:$,inFullScreen:N},children:G(Ve.Provider,{value:{layoutFrozen:o,freezeLayout:i,mode:d,inEditMode:I,inLayoutMode:L,inUseMode:F},children:[N&&n(Jr,{panel:ne,exitFullScreen:ee}),G(c.Box,{className:`${a} dashboard-root dashboard-sticky-parent`,sx:{position:"relative",display:N?"none":"block"},children:[G(c.Box,{className:"dashboard-sticky-area",children:[n(ps,{mode:d,setMode:v,hasChanges:m,saveChanges:E,revertChanges:g,getCurrentSchema:Y}),n(en,{})]}),n(zs.Provider,{value:ce,children:n(Nr,{panels:h,setPanels:p,isDraggable:L,isResizable:L})})]})]})})})})}),Os=Lt.WidthProvider(lr.default),Is=Ce.observer(function({panels:e,className:r="layout",rowHeight:s=10}){return n(Os,{className:`dashboard-layout ${r}`,rowHeight:s,isDraggable:!1,isResizable:!1,children:e.map(({id:a,...l})=>n("div",{"data-grid":l.layout,children:n(It,{id:a,...l})},a))})});function Ps({context:t,dashboard:e,className:r="dashboard",config:s}){ot.baseURL!==s.apiBaseURL&&(ot.baseURL=s.apiBaseURL);const a=V.default.useMemo(()=>ir(e,t),[e]),{viewPanelInFullScreen:l,exitFullScreen:o,inFullScreen:i,fullScreenPanel:d}=Hr(e.panels);return yn(),n(Bt.ModalsProvider,{children:n(qt,{value:a,children:n(Ct.Provider,{value:{addPanel:ye.default.noop,duplidatePanel:ye.default.noop,removePanelByID:ye.default.noop,viewPanelInFullScreen:l,inFullScreen:i},children:G(Ve.Provider,{value:{layoutFrozen:!0,freezeLayout:()=>{},mode:Ge.Use,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},children:[i&&n(Jr,{panel:d,exitFullScreen:o}),G(c.Box,{className:`${r} dashboard-root dashboard-sticky-parent`,sx:{display:i?"none":"block"},children:[n(c.Box,{className:"dashboard-sticky-area",children:n(en,{})}),n(Is,{panels:e.panels})]})]})})})})}var _n=(t=>(t.Select="select",t.MultiSelect="multi-select",t.TextInput="text-input",t.Checkbox="checkbox",t.DateRange="date-range",t))(_n||{});ue.ContextModel=mn,ue.Dashboard=Ds,ue.DashboardFilterType=_n,ue.DashboardLayout=Nr,ue.DashboardMode=Ge,ue.FilterModel=tr,ue.FiltersModel=on,ue.LayoutStateContext=Ve,ue.ModelContextProvider=qt,ue.Panel=It,ue.PanelContext=Ue,ue.QueriesModel=hn,ue.QueryModel=fn,ue.ReadOnlyDashboard=Ps,ue.SQLSnippetModel=nr,ue.SQLSnippetsModel=pn,ue.createDashboardModel=ir,ue.getInitialFiltersPayload=ln,ue.useModelContext=Re,Object.defineProperties(ue,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});