drizzle-cube 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +4 -4
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +4 -4
- package/dist/adapters/{handler-Dz1F4iwf.js → handler-Cx8QYLk6.js} +18 -4
- package/dist/adapters/{handler-C63rJUUK.cjs → handler-CzbCuS6_.cjs} +4 -4
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +7 -7
- package/dist/adapters/{locale-gU_d1Wja.js → locale-BPB7flIG.js} +1 -1
- package/dist/adapters/{locale-CTNwPVZI.cjs → locale-tIMrNcCr.cjs} +1 -1
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +2 -2
- package/dist/adapters/mcp-transport-C2QzXm6h.cjs +40 -0
- package/dist/adapters/mcp-transport-D0B3S1tB.js +579 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +4 -4
- package/dist/{server/openai-y7GhJNdn.js → adapters/openai-B5jEiqiB.js} +776 -719
- package/dist/{server/openai-DiVskd89.js → adapters/openai-BZdAA7Ji.js} +1 -1
- package/dist/adapters/openai-D0musiYP.cjs +17 -0
- package/dist/adapters/{openai-6wrBvAnv.cjs → openai-D_U4V0kT.cjs} +1 -1
- package/dist/adapters/{utils-DosuoabY.js → utils-D9JPLmfl.js} +16 -4
- package/dist/adapters/utils-KV37IBIv.cjs +128 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +1 -1
- package/dist/client/charts/ChartLoader.d.ts +1 -1
- package/dist/client/charts.js +12 -12
- package/dist/client/chunks/{DashboardEditModal-6KRE36mm.js → DashboardEditModal-CjCIAT-J.js} +1258 -1050
- package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-CCpu0C-s.js → RetentionCombinedChart-BPkfcTa8.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-CCpu0C-s.js.map → RetentionCombinedChart-BPkfcTa8.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-B24PiIfr.js → RetentionHeatmap-DGzLzr7h.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-B24PiIfr.js.map → RetentionHeatmap-DGzLzr7h.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-zd48FVJO.js → analysis-builder-MuMIzoRq.js} +8 -8
- package/dist/client/chunks/{analysis-builder-zd48FVJO.js.map → analysis-builder-MuMIzoRq.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-x576-O5p.js → analysis-builder-shared-CYVwSPqt.js} +21 -21
- package/dist/client/chunks/{analysis-builder-shared-x576-O5p.js.map → analysis-builder-shared-CYVwSPqt.js.map} +1 -1
- package/dist/client/chunks/{chart-activity-grid-CiHrLH6Y.js → chart-activity-grid-DmruKPab.js} +9 -4
- package/dist/client/chunks/{chart-activity-grid-CiHrLH6Y.js.map → chart-activity-grid-DmruKPab.js.map} +1 -1
- package/dist/client/chunks/{chart-area-CXFK-Grv.js → chart-area-DHCPM4Em.js} +2 -2
- package/dist/client/chunks/{chart-area-CXFK-Grv.js.map → chart-area-DHCPM4Em.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-DKXfLoGG.js → chart-bar-KddciGDv.js} +3 -3
- package/dist/client/chunks/{chart-bar-DKXfLoGG.js.map → chart-bar-KddciGDv.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-Bu9hy-17.js → chart-box-plot-DYKfyOI8.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-Bu9hy-17.js.map → chart-box-plot-DYKfyOI8.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-DGkTQlxM.js → chart-bubble-CfqiB538.js} +2 -2
- package/dist/client/chunks/{chart-bubble-DGkTQlxM.js.map → chart-bubble-CfqiB538.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-Dau5AF4E.js → chart-candlestick-Dwc92Mrj.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-Dau5AF4E.js.map → chart-candlestick-Dwc92Mrj.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-Cm5jrpaw.js → chart-data-table-BO4sXsim.js} +27 -27
- package/dist/client/chunks/{chart-data-table-Cm5jrpaw.js.map → chart-data-table-BO4sXsim.js.map} +1 -1
- package/dist/client/chunks/{chart-funnel-Eke8IPtG.js → chart-funnel-DnWRsmnS.js} +2 -2
- package/dist/client/chunks/{chart-funnel-Eke8IPtG.js.map → chart-funnel-DnWRsmnS.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-DeRZNsyl.js → chart-gauge-CgMeqeGb.js} +2 -2
- package/dist/client/chunks/{chart-gauge-DeRZNsyl.js.map → chart-gauge-CgMeqeGb.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-C86thSJ4.js → chart-heat-map-DcGm9SWK.js} +2 -2
- package/dist/client/chunks/{chart-heat-map-C86thSJ4.js.map → chart-heat-map-DcGm9SWK.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-CxOYD2f1.js → chart-kpi-delta-C2wKPqCb.js} +3 -3
- package/dist/client/chunks/{chart-kpi-delta-CxOYD2f1.js.map → chart-kpi-delta-C2wKPqCb.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-C6gWz-x4.js → chart-kpi-number-gWYF44ol.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-C6gWz-x4.js.map → chart-kpi-number-gWYF44ol.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-dDONrhS-.js → chart-kpi-text-DIYtJtk4.js} +3 -3
- package/dist/client/chunks/{chart-kpi-text-dDONrhS-.js.map → chart-kpi-text-DIYtJtk4.js.map} +1 -1
- package/dist/client/chunks/{chart-line-r4iWevKZ.js → chart-line-9BEGN5Ti.js} +3 -3
- package/dist/client/chunks/{chart-line-r4iWevKZ.js.map → chart-line-9BEGN5Ti.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-BPW-EAm9.js → chart-markdown-dgUetjyM.js} +1359 -1240
- package/dist/client/chunks/chart-markdown-dgUetjyM.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-BI3kADCp.js → chart-measure-profile-ClfpLs4q.js} +3 -3
- package/dist/client/chunks/{chart-measure-profile-BI3kADCp.js.map → chart-measure-profile-ClfpLs4q.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-yqH2YVEI.js → chart-pie-BjAIhyOi.js} +3 -3
- package/dist/client/chunks/{chart-pie-yqH2YVEI.js.map → chart-pie-BjAIhyOi.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-B-_3v-rE.js → chart-radar-Dgkcl2bN.js} +3 -3
- package/dist/client/chunks/{chart-radar-B-_3v-rE.js.map → chart-radar-Dgkcl2bN.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-C0EgzfAF.js → chart-radial-bar-DdWJjAhK.js} +3 -3
- package/dist/client/chunks/{chart-radial-bar-C0EgzfAF.js.map → chart-radial-bar-DdWJjAhK.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-CFzjGvZX.js → chart-sankey-M3XpO_ah.js} +2 -2
- package/dist/client/chunks/{chart-sankey-CFzjGvZX.js.map → chart-sankey-M3XpO_ah.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-DZPirzwX.js → chart-scatter-DaHYP_OL.js} +3 -3
- package/dist/client/chunks/{chart-scatter-DZPirzwX.js.map → chart-scatter-DaHYP_OL.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-91Q2tzaB.js → chart-sunburst-A_u6lqlS.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-91Q2tzaB.js.map → chart-sunburst-A_u6lqlS.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-Bi4axCvh.js → chart-tree-map-uiwUU4nb.js} +3 -3
- package/dist/client/chunks/{chart-tree-map-Bi4axCvh.js.map → chart-tree-map-uiwUU4nb.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-DcHbbPaG.js → chart-waterfall-BuhMoagf.js} +3 -3
- package/dist/client/chunks/{chart-waterfall-DcHbbPaG.js.map → chart-waterfall-BuhMoagf.js.map} +1 -1
- package/dist/client/chunks/{charts-core-CrBDYN6N.js → charts-core-jRtb0S2M.js} +2 -2
- package/dist/client/chunks/{charts-core-CrBDYN6N.js.map → charts-core-jRtb0S2M.js.map} +1 -1
- package/dist/client/chunks/{core-DsAWNRRv.js → core-D7vPfUIe.js} +2 -2
- package/dist/client/chunks/{core-DsAWNRRv.js.map → core-D7vPfUIe.js.map} +1 -1
- package/dist/client/chunks/{nl-NL-oyr2wENY.js → nl-NL-CpVs7ox3.js} +7 -2
- package/dist/client/chunks/{nl-NL-oyr2wENY.js.map → nl-NL-CpVs7ox3.js.map} +1 -1
- package/dist/client/chunks/{schema-visualization-BszcrmZX.js → schema-visualization-DE09kQE3.js} +3 -3
- package/dist/client/chunks/{schema-visualization-BszcrmZX.js.map → schema-visualization-DE09kQE3.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-B5wCDJSj.js → useDirtyStateTracking-CoeQbprt.js} +4 -4
- package/dist/client/chunks/{useDirtyStateTracking-B5wCDJSj.js.map → useDirtyStateTracking-CoeQbprt.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-CCeCYzDm.js → useExplainAI-DlnXWdmz.js} +4 -4
- package/dist/client/chunks/{useExplainAI-CCeCYzDm.js.map → useExplainAI-DlnXWdmz.js.map} +1 -1
- package/dist/client/chunks/{utils-kqa-JIMg.js → utils-CTKNaXS8.js} +3 -3
- package/dist/client/chunks/{utils-kqa-JIMg.js.map → utils-CTKNaXS8.js.map} +1 -1
- package/dist/client/chunks/{vendor-0hJNlZXQ.js → vendor-CPIYyeuD.js} +2 -2
- package/dist/client/chunks/{vendor-0hJNlZXQ.js.map → vendor-CPIYyeuD.js.map} +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisAIPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisAxisDropZone.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisChartConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisFilterGroup.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisFilterItem.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisFilterSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/AnalysisModeErrorBoundary.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/ExplainAIPanel.d.ts +2 -1
- package/dist/client/components/AnalysisBuilder/FieldDetailPanel.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchItem.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FieldSearchModal.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/FilterConfigModal.d.ts +2 -1
- package/dist/client/components/AnalysisBuilder/LimitSection.d.ts +1 -1
- package/dist/client/components/AnalysisBuilder/SectionHeading.d.ts +1 -1
- package/dist/client/components/AnalyticsDashboard.d.ts +1 -1
- package/dist/client/components/AnalyticsPage.d.ts +1 -1
- package/dist/client/components/ChartErrorBoundary.d.ts +1 -1
- package/dist/client/components/ChartTypeSelector.d.ts +1 -1
- package/dist/client/components/ColorPaletteSelector.d.ts +1 -1
- package/dist/client/components/DashboardEditModal.d.ts +2 -1
- package/dist/client/components/DashboardFilters/DashboardFilterConfigModal.d.ts +1 -1
- package/dist/client/components/DashboardFilters/DashboardFilterItem.d.ts +1 -1
- package/dist/client/components/DashboardGrid.d.ts +1 -1
- package/dist/client/components/DashboardThumbnailPlaceholder.d.ts +1 -1
- package/dist/client/components/DataBrowser/DataBrowserSidebar.d.ts +1 -1
- package/dist/client/components/DataBrowser/DataBrowserToolbar.d.ts +1 -1
- package/dist/client/components/DataBrowser/index.d.ts +1 -1
- package/dist/client/components/DataHistogram.d.ts +1 -1
- package/dist/client/components/DebugModal.d.ts +1 -1
- package/dist/client/components/DrillBreadcrumb.d.ts +2 -1
- package/dist/client/components/LoadingIndicator.d.ts +1 -1
- package/dist/client/components/MobileStackedLayout.d.ts +1 -1
- package/dist/client/components/PortletAnalysisModal.d.ts +1 -1
- package/dist/client/components/PortletContainer.d.ts +1 -1
- package/dist/client/components/PortletFilterConfigModal.d.ts +6 -4
- package/dist/client/components/RowManagedLayout.d.ts +1 -1
- package/dist/client/components/ScaledGridWrapper.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/CubeNode.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/FieldDetailPanel.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/RelationshipEdge.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/SchemaVisualizationLazy.d.ts +1 -1
- package/dist/client/components/SchemaVisualization/index.d.ts +1 -1
- package/dist/client/components/TextPortletModal.d.ts +1 -1
- package/dist/client/components/charts/AxisFormatControls.d.ts +2 -2
- package/dist/client/components/charts/ChartContainer.d.ts +1 -1
- package/dist/client/components/charts/ChartLegend.d.ts +1 -1
- package/dist/client/components/charts/ChartTooltip.d.ts +1 -1
- package/dist/client/components/charts/MissingDependencyFallback.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardContext.d.ts +2 -2
- package/dist/client/components/dashboard/DashboardCoordinator.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardFilterBar.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardGridSurface.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardModals.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardProvider.d.ts +1 -1
- package/dist/client/components/dashboard/DashboardToolbar.d.ts +1 -1
- package/dist/client/components/dashboard/dashboardGridUtils.d.ts +1 -1
- package/dist/client/components.js +2 -2
- package/dist/client/hooks/dashboard/useDashboardController.d.ts +2 -2
- package/dist/client/hooks/useDashboardHook.d.ts +2 -2
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons.d.ts +1 -1
- package/dist/client/icons.js +1 -1
- package/dist/client/index.js +15 -15
- package/dist/client/providers/CubeApiProvider.d.ts +1 -1
- package/dist/client/providers/CubeFeaturesProvider.d.ts +1 -1
- package/dist/client/providers/CubeMetaProvider.d.ts +1 -1
- package/dist/client/providers/CubeProvider.d.ts +1 -1
- package/dist/client/providers/I18nProvider.d.ts +1 -1
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.js +1 -1
- package/dist/client/stores/analysisBuilderStore.d.ts +1 -1
- package/dist/client/stores/dashboardStore.d.ts +1 -1
- package/dist/client/stores/dataBrowserStore.d.ts +1 -1
- package/dist/client/stores/notebookStore.d.ts +1 -1
- package/dist/client/styles.css +1 -1
- package/dist/client/types/drill.d.ts +1 -1
- package/dist/client/types.d.ts +7 -2
- package/dist/client/utils/drillQueryBuilder.d.ts +2 -2
- package/dist/client/utils/filterUtils.d.ts +33 -5
- package/dist/client/utils/joinReachability.d.ts +27 -0
- package/dist/client/utils.js +5 -5
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +4 -4
- package/dist/server/index.cjs +6 -6
- package/dist/server/index.d.ts +2 -5050
- package/dist/server/index.js +33 -7
- package/dist/{adapters/openai-y7GhJNdn.js → server/openai-B5jEiqiB.js} +776 -719
- package/dist/{adapters/openai-DiVskd89.js → server/openai-BZdAA7Ji.js} +1 -1
- package/dist/server/openai-D0musiYP.cjs +17 -0
- package/dist/server/{openai-6wrBvAnv.cjs → openai-D_U4V0kT.cjs} +1 -1
- package/dist/server/server/adapters/base-adapter.d.ts +287 -0
- package/dist/server/server/adapters/databend-adapter.d.ts +114 -0
- package/dist/server/server/adapters/duckdb-adapter.d.ts +122 -0
- package/dist/server/server/adapters/mysql-adapter.d.ts +122 -0
- package/dist/server/server/adapters/postgres-adapter.d.ts +119 -0
- package/dist/server/server/adapters/singlestore-adapter.d.ts +4 -0
- package/dist/server/server/adapters/snowflake-adapter.d.ts +116 -0
- package/dist/server/server/adapters/sqlite-adapter.d.ts +140 -0
- package/dist/server/server/agent/chart-validation.d.ts +27 -0
- package/dist/server/server/agent/handler.d.ts +25 -0
- package/dist/server/server/agent/index.d.ts +11 -0
- package/dist/server/server/agent/providers/anthropic.d.ts +24 -0
- package/dist/server/server/agent/providers/factory.d.ts +12 -0
- package/dist/server/server/agent/providers/google.d.ts +23 -0
- package/dist/server/server/agent/providers/index.d.ts +6 -0
- package/dist/server/server/agent/providers/openai.d.ts +26 -0
- package/dist/server/server/agent/providers/types.d.ts +95 -0
- package/dist/server/server/agent/system-prompt.d.ts +5 -0
- package/dist/server/server/agent/tools.d.ts +28 -0
- package/dist/server/server/agent/types.d.ts +192 -0
- package/dist/server/server/ai/discovery.d.ts +62 -0
- package/dist/server/server/ai/index.d.ts +10 -0
- package/dist/server/server/ai/mcp-prompts.d.ts +83 -0
- package/dist/server/server/ai/query-schema.d.ts +258 -0
- package/dist/server/server/ai/schemas.d.ts +63 -0
- package/dist/server/server/ai/suggestion.d.ts +19 -0
- package/dist/server/server/ai/validation.d.ts +34 -0
- package/dist/server/server/builders/comparison-query-builder.d.ts +70 -0
- package/dist/server/server/builders/cte-builder.d.ts +62 -0
- package/dist/server/server/builders/date-time-builder.d.ts +29 -0
- package/dist/server/server/builders/filter-builder.d.ts +23 -0
- package/dist/server/server/builders/flow-query-builder.d.ts +109 -0
- package/dist/server/server/builders/funnel-query-builder.d.ts +134 -0
- package/dist/server/server/builders/group-by-builder.d.ts +27 -0
- package/dist/server/server/builders/index.d.ts +13 -0
- package/dist/server/server/builders/measure-builder.d.ts +142 -0
- package/dist/server/server/builders/retention-query-builder.d.ts +100 -0
- package/dist/server/server/cache-providers/index.d.ts +5 -0
- package/dist/server/server/cache-providers/memory.d.ts +105 -0
- package/dist/server/server/cache-utils.d.ts +65 -0
- package/dist/server/server/compiler.d.ts +218 -0
- package/dist/server/server/cube-utils.d.ts +133 -0
- package/dist/server/server/database-utils.d.ts +18 -0
- package/dist/server/server/executor.d.ts +183 -0
- package/dist/server/server/executors/base-executor.d.ts +16 -0
- package/dist/server/server/executors/databend-executor.d.ts +33 -0
- package/dist/server/server/executors/duckdb-executor.d.ts +33 -0
- package/dist/server/server/executors/index.d.ts +21 -0
- package/dist/server/server/executors/mysql-executor.d.ts +27 -0
- package/dist/server/server/executors/postgres-executor.d.ts +27 -0
- package/dist/server/server/executors/singlestore-executor.d.ts +9 -0
- package/dist/server/server/executors/snowflake-executor.d.ts +33 -0
- package/dist/server/server/executors/sqlite-executor.d.ts +28 -0
- package/dist/server/server/explain/databend-parser.d.ts +16 -0
- package/dist/server/server/explain/duckdb-parser.d.ts +28 -0
- package/dist/server/server/explain/index.d.ts +9 -0
- package/dist/server/server/explain/mysql-parser.d.ts +38 -0
- package/dist/server/server/explain/postgres-parser.d.ts +18 -0
- package/dist/server/server/explain/snowflake-parser.d.ts +17 -0
- package/dist/server/server/explain/sqlite-parser.d.ts +23 -0
- package/dist/server/server/filter-cache.d.ts +73 -0
- package/dist/server/server/gap-filler.d.ts +42 -0
- package/dist/server/server/index.d.ts +36 -0
- package/dist/server/server/logical-plan/index.d.ts +14 -0
- package/dist/server/server/logical-plan/logical-plan-builder.d.ts +58 -0
- package/dist/server/server/logical-plan/logical-planner.d.ts +232 -0
- package/dist/server/server/logical-plan/optimiser.d.ts +32 -0
- package/dist/server/server/logical-plan/types.d.ts +191 -0
- package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +50 -0
- package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +107 -0
- package/dist/server/server/physical-plan/index.d.ts +2 -0
- package/dist/server/server/physical-plan/processors/cte-processor.d.ts +6 -0
- package/dist/server/server/physical-plan/processors/index.d.ts +6 -0
- package/dist/server/server/physical-plan/processors/joins-processor.d.ts +6 -0
- package/dist/server/server/physical-plan/processors/predicates-processor.d.ts +6 -0
- package/dist/server/server/physical-plan/processors/selection-processor.d.ts +6 -0
- package/dist/server/server/physical-plan/processors/shared.d.ts +33 -0
- package/dist/server/server/physical-plan/processors/window-processor.d.ts +6 -0
- package/dist/server/server/prompts/explain-analysis-prompt.d.ts +47 -0
- package/dist/server/server/prompts/index.d.ts +27 -0
- package/dist/server/server/prompts/single-step-prompt.d.ts +31 -0
- package/dist/server/server/prompts/step0-validation-prompt.d.ts +39 -0
- package/dist/server/server/prompts/step1-shape-prompt.d.ts +29 -0
- package/dist/server/server/prompts/step2-complete-prompt.d.ts +19 -0
- package/dist/server/server/prompts/types.d.ts +37 -0
- package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +93 -0
- package/dist/server/server/resolvers/index.d.ts +6 -0
- package/dist/server/server/resolvers/join-path-resolver.d.ts +152 -0
- package/dist/server/server/template-substitution.d.ts +57 -0
- package/dist/server/server/types/analysis.d.ts +189 -0
- package/dist/server/server/types/cache.d.ts +132 -0
- package/dist/server/server/types/core.d.ts +164 -0
- package/dist/server/server/types/cube.d.ts +530 -0
- package/dist/server/server/types/executor.d.ts +156 -0
- package/dist/server/server/types/flow.d.ts +143 -0
- package/dist/server/server/types/funnel.d.ts +118 -0
- package/dist/server/server/types/index.d.ts +11 -0
- package/dist/server/server/types/metadata.d.ts +113 -0
- package/dist/server/server/types/query.d.ts +153 -0
- package/dist/server/server/types/retention.d.ts +141 -0
- package/dist/server/server/types/utils.d.ts +11 -0
- package/package.json +5 -5
- package/dist/adapters/mcp-transport-C4J4SAcn.cjs +0 -40
- package/dist/adapters/mcp-transport-CVUiifEc.js +0 -579
- package/dist/adapters/openai-BDwb2u7y.cjs +0 -17
- package/dist/adapters/utils-CkEkU8Bo.cjs +0 -128
- package/dist/client/chunks/DashboardEditModal-6KRE36mm.js.map +0 -1
- package/dist/client/chunks/chart-markdown-BPW-EAm9.js.map +0 -1
- package/dist/server/openai-BDwb2u7y.cjs +0 -17
- /package/dist/adapters/{express → adapters/express}/index.d.ts +0 -0
- /package/dist/adapters/{fastify → adapters/fastify}/index.d.ts +0 -0
- /package/dist/adapters/{hono → adapters/hono}/index.d.ts +0 -0
- /package/dist/adapters/{locale.d.ts → adapters/locale.d.ts} +0 -0
- /package/dist/adapters/{mcp-tools.d.ts → adapters/mcp-tools.d.ts} +0 -0
- /package/dist/adapters/{mcp-transport.d.ts → adapters/mcp-transport.d.ts} +0 -0
- /package/dist/adapters/{nextjs → adapters/nextjs}/index.d.ts +0 -0
- /package/dist/adapters/{types.d.ts → adapters/types.d.ts} +0 -0
- /package/dist/adapters/{utils.d.ts → adapters/utils.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor-0hJNlZXQ.js","names":["React3","#client","#updateResult","#currentMutation","#notify","#currentResult","#mutateOptions","#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#combinedResult","#lastResult","#lastCombine","#shouldSkipCombine","React","React"],"sources":["../../../node_modules/react-intersection-observer/dist/index.mjs","../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../node_modules/@tanstack/react-query/build/modern/useQueries.js","../../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../node_modules/zustand/esm/vanilla.mjs","../../../node_modules/zustand/esm/react.mjs","../../../node_modules/zustand/esm/middleware.mjs","../../../node_modules/zustand/esm/vanilla/shallow.mjs","../../../node_modules/zustand/esm/react/shallow.mjs","../../../node_modules/lz-string/libs/lz-string.js"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a2;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n [...(_a2 = elements.get(entry.target)) != null ? _a2 : []].forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"lastInView\");\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n this.lastInView = this.props.initialInView;\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n const previousInView = this.lastInView;\n this.lastInView = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n this.lastInView = props.initialInView;\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n if (this.lastInView === void 0) {\n this.lastInView = this.props.initialInView;\n }\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a2;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef(onChange);\n const lastInViewRef = React2.useRef(initialInView);\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (lastInViewRef.current === void 0) {\n lastInViewRef.current = initialInView;\n }\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a2 = state.entry) == null ? void 0 : _a2.target;\n const previousEntryTarget = React2.useRef(void 0);\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n lastInViewRef.current = initialInView;\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\n// src/useOnInView.tsx\nimport * as React3 from \"react\";\nvar _a, _b;\nvar useSyncEffect = (_b = (_a = \"useInsertionEffect\" in React3 ? React3.useInsertionEffect : void 0) != null ? _a : React3.useLayoutEffect) != null ? _b : React3.useEffect;\nvar useOnInView = (onIntersectionChange, {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n} = {}) => {\n const onIntersectionChangeRef = React3.useRef(onIntersectionChange);\n const observedElementRef = React3.useRef(null);\n const observerCleanupRef = React3.useRef(void 0);\n const lastInViewRef = React3.useRef(void 0);\n useSyncEffect(() => {\n onIntersectionChangeRef.current = onIntersectionChange;\n }, [onIntersectionChange]);\n return React3.useCallback(\n (element) => {\n const cleanupExisting = () => {\n if (observerCleanupRef.current) {\n const cleanup = observerCleanupRef.current;\n observerCleanupRef.current = void 0;\n cleanup();\n }\n };\n if (element === observedElementRef.current) {\n return observerCleanupRef.current;\n }\n if (!element || skip) {\n cleanupExisting();\n observedElementRef.current = null;\n lastInViewRef.current = void 0;\n return;\n }\n cleanupExisting();\n observedElementRef.current = element;\n let destroyed = false;\n const destroyObserver = observe(\n element,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n onIntersectionChangeRef.current(\n inView,\n entry\n );\n if (triggerOnce && inView) {\n stopObserving();\n }\n },\n {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay\n }\n );\n function stopObserving() {\n if (destroyed) return;\n destroyed = true;\n destroyObserver();\n observedElementRef.current = null;\n observerCleanupRef.current = void 0;\n lastInViewRef.current = void 0;\n }\n observerCleanupRef.current = stopObserving;\n return observerCleanupRef.current;\n },\n [\n Array.isArray(threshold) ? threshold.toString() : threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n ]\n );\n};\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView,\n useOnInView\n};\n//# sourceMappingURL=index.mjs.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nfunction difference(array1, array2) {\n const excludeSet = new Set(array2);\n return array1.filter((x) => !excludeSet.has(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n #client;\n #result;\n #queries;\n #options;\n #observers;\n #combinedResult;\n #lastCombine;\n #lastResult;\n #lastQueryHashes;\n #observerMatches = [];\n constructor(client, queries, options) {\n super();\n this.#client = client;\n this.#options = options;\n this.#queries = [];\n this.#observers = [];\n this.#result = [];\n this.setQueries(queries);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#observers.forEach((observer) => {\n observer.destroy();\n });\n }\n setQueries(queries, options) {\n this.#queries = queries;\n this.#options = options;\n if (process.env.NODE_ENV !== \"production\") {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash\n );\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n \"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\"\n );\n }\n }\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n newObserverMatches.forEach(\n (match) => match.observer.setOptions(match.defaultedQueryOptions)\n );\n const newObservers = newObserverMatches.map((match) => match.observer);\n const newResult = newObservers.map(\n (observer) => observer.getCurrentResult()\n );\n const hasLengthChange = prevObservers.length !== newObservers.length;\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index]\n );\n const hasStructuralChange = hasLengthChange || hasIndexChange;\n const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n const prev = this.#result[index];\n return !prev || !shallowEqualObjects(result, prev);\n });\n if (!hasStructuralChange && !hasResultChange) return;\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches;\n this.#observers = newObservers;\n }\n this.#result = newResult;\n if (!this.hasListeners()) return;\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries, combine) {\n const matches = this.#findMatchingObservers(queries);\n const result = matches.map(\n (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n );\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash\n );\n return [\n result,\n (r) => {\n return this.#combineResult(r ?? result, combine, queryHashes);\n },\n () => {\n return this.#trackResult(result, matches);\n }\n ];\n }\n #trackResult(result, matches) {\n return matches.map((match, index) => {\n const observerResult = result[index];\n return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp);\n });\n }) : observerResult;\n });\n }\n #combineResult(input, combine, queryHashes) {\n if (combine) {\n const lastHashes = this.#lastQueryHashes;\n const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n if (!this.#combinedResult || this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n this.#lastCombine = combine;\n this.#lastResult = this.#result;\n if (queryHashes !== void 0) {\n this.#lastQueryHashes = queryHashes;\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input)\n );\n }\n return this.#combinedResult;\n }\n return input;\n }\n #shouldSkipCombine() {\n return this.#options?.combine !== void 0 && this.#observers.some((observer, index) => {\n return observer.options.suspense && this.#result[index]?.data === void 0;\n });\n }\n #findMatchingObservers(queries) {\n const prevObserversMap = /* @__PURE__ */ new Map();\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash;\n if (!key) return;\n const previousObservers = prevObserversMap.get(key);\n if (previousObservers) {\n previousObservers.push(observer);\n } else {\n prevObserversMap.set(key, [observer]);\n }\n });\n const observers = [];\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift();\n const observer = match ?? new QueryObserver(this.#client, defaultedOptions);\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer\n });\n });\n return observers;\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n if (this.hasListeners()) {\n const newTracked = this.#trackResult(this.#result, this.#observerMatches);\n const shouldSkipCombine = this.#shouldSkipCombine();\n const previousResult = this.#combinedResult;\n const newResult = shouldSkipCombine ? previousResult : this.#combineResult(newTracked, this.#options?.combine);\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result);\n });\n });\n }\n }\n }\n};\nexport {\n QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","\"use client\";\n\n// src/useQueries.ts\nimport * as React from \"react\";\nimport {\n QueriesObserver,\n QueryObserver,\n noop,\n notifyManager\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend\n} from \"./suspense.js\";\nfunction useQueries({\n queries,\n ...options\n}, queryClient) {\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(\n () => queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(\n opts\n );\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n return defaultedOptions;\n }),\n [queries, client, isRestoring]\n );\n defaultedQueries.forEach((queryOptions) => {\n ensureSuspenseTimers(queryOptions);\n const query = client.getQueryCache().get(queryOptions.queryHash);\n ensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new QueriesObserver(\n client,\n defaultedQueries,\n options\n )\n );\n const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(\n defaultedQueries,\n options.combine\n );\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop,\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setQueries(\n defaultedQueries,\n options\n );\n }, [defaultedQueries, options, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some(\n (result, index) => shouldSuspend(defaultedQueries[index], result)\n );\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index];\n if (opts && shouldSuspend(opts, result)) {\n const queryObserver = new QueryObserver(client, opts);\n return fetchOptimistic(opts, queryObserver, errorResetBoundary);\n }\n return [];\n }) : [];\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) => {\n const query = defaultedQueries[index];\n return query && getHasError({\n result,\n errorResetBoundary,\n throwOnError: query.throwOnError,\n query: client.getQueryCache().get(query.queryHash),\n suspense: query.suspense\n });\n }\n );\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n return getCombinedResult(trackResult());\n}\nexport {\n useQueries\n};\n//# sourceMappingURL=useQueries.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n React.useCallback(() => selector(api.getInitialState()), [api, selector])\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst shouldDispatchFromDevtools = (api) => !!api.dispatchFromDevtools && typeof api.dispatch === \"function\";\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst v8StackLineRe = /.+ (.+) .+/;\nconst geckoStackLineRe = /^([^@]+)@/;\nfunction findCallerName(stack) {\n var _a, _b, _c;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return ((_b = v8StackLineRe.exec(callerLine)) == null ? void 0 : _b[1]) || ((_c = geckoStackLineRe.exec(callerLine)) == null ? void 0 : _c[1]);\n}\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (shouldDispatchFromDevtools(api)) {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (shouldDispatchFromDevtools(api)) {\n api.dispatch(action);\n }\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => window.localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n let hydrationVersion = 0;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n const currentVersion = ++hydrationVersion;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n if (currentVersion !== hydrationVersion) {\n return;\n }\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(get(), void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nfunction ssrSafe(config, isSSR = typeof window === \"undefined\") {\n return (set, get, api) => {\n if (!isSSR) {\n return config(set, get, api);\n }\n const ssrSet = () => {\n throw new Error(\"Cannot set state of Zustand store in SSR\");\n };\n api.setState = ssrSet;\n return config(ssrSet, get, api);\n };\n}\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector, ssrSafe as unstable_ssrSafe };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import React from 'react';\nimport { shallow } from 'zustand/vanilla/shallow';\n\nfunction useShallow(selector) {\n const prev = React.useRef(void 0);\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10],"mappings":";;;;;AASA,IAAI,oBAA8B,IAAI,IAAI,GACtC,oBAA0B,IAAI,QAAQ,GACtC,IAAS,GACT;AAIJ,SAAS,EAAU,GAAM;CAKvB,OAJK,IACD,EAAQ,IAAI,CAAI,IAAU,EAAQ,IAAI,CAAI,KAC9C,KAAU,GACV,EAAQ,IAAI,GAAM,EAAO,SAAS,CAAC,GAC5B,EAAQ,IAAI,CAAI,KAJL;AAKpB;AACA,SAAS,EAAY,GAAS;CAC5B,OAAO,OAAO,KAAK,CAAO,EAAE,KAAK,EAAE,QAChC,MAAQ,EAAQ,OAAS,KAAK,CACjC,EAAE,KAAK,MACE,GAAG,EAAI,GAAG,MAAQ,SAAS,EAAU,EAAQ,IAAI,IAAI,EAAQ,IACrE,EAAE,SAAS;AACd;AACA,SAAS,EAAe,GAAS;CAC/B,IAAM,IAAK,EAAY,CAAO,GAC1B,IAAW,EAAY,IAAI,CAAE;CACjC,IAAI,CAAC,GAAU;EACb,IAAM,oBAA2B,IAAI,IAAI,GACrC,GACE,IAAW,IAAI,sBAAsB,MAAY;GACrD,EAAQ,SAAS,MAAU;IAEzB,IAAM,IAAS,EAAM,kBAAkB,EAAW,MAAM,MAAc,EAAM,qBAAqB,CAAS;IAI1G,AAHI,EAAQ,mBAA0B,EAAM,cAAc,WACxD,EAAM,YAAY,IAEpB,CAAC,GAAU,EAAS,IAAI,EAAM,MAAM,KAAmB,CAAC,CAAC,EAAE,SAAS,MAAa;KAC/E,EAAS,GAAQ,CAAK;IACxB,CAAC;GACH,CAAC;EACH,GAAG,CAAO;EAOV,AANA,IAAa,EAAS,eAAe,MAAM,QAAQ,EAAQ,SAAS,IAAI,EAAQ,YAAY,CAAC,EAAQ,aAAa,CAAC,IACnH,IAAW;GACT;GACA;GACA;EACF,GACA,EAAY,IAAI,GAAI,CAAQ;CAC9B;CACA,OAAO;AACT;AACA,SAAS,EAAQ,GAAS,GAAU,IAAU,CAAC,GAAG,IAAiB,GAAkB;CACnF,IAAW,OAAO,yBAAyB,UAAe,MAAmB,KAAK,GAAG;EACnF,IAAM,IAAS,EAAQ,sBAAsB;EAU7C,OATA,EAAS,GAAgB;GACvB,gBAAgB;GAChB,QAAQ;GACR,mBAAmB,OAAO,EAAQ,aAAc,WAAW,EAAQ,YAAY;GAC/E,MAAM;GACN,oBAAoB;GACpB,kBAAkB;GAClB,YAAY;EACd,CAAC,SACY,CACb;CACF;CACA,IAAM,EAAE,OAAI,aAAU,gBAAa,EAAe,CAAO,GACnD,IAAY,EAAS,IAAI,CAAO,KAAK,CAAC;CAM5C,OALK,EAAS,IAAI,CAAO,KACvB,EAAS,IAAI,GAAS,CAAS,GAEjC,EAAU,KAAK,CAAQ,GACvB,EAAS,QAAQ,CAAO,GACjB,WAAqB;EAM1B,AALA,EAAU,OAAO,EAAU,QAAQ,CAAQ,GAAG,CAAC,GAC3C,EAAU,WAAW,MACvB,EAAS,OAAO,CAAO,GACvB,EAAS,UAAU,CAAO,IAExB,EAAS,SAAS,MACpB,EAAS,WAAW,GACpB,EAAY,OAAO,CAAE;CAEzB;AACF;AAyHA,SAAS,EAAU,EACjB,cACA,UACA,oBACA,eACA,SACA,gBACA,SACA,kBACA,mBACA,gBACE,CAAC,GAAG;CAEN,IAAM,CAAC,GAAK,KAAU,EAAO,SAAS,IAAI,GACpC,IAAW,EAAO,OAAO,CAAQ,GACjC,IAAgB,EAAO,OAAO,CAAa,GAC3C,CAAC,GAAO,KAAY,EAAO,SAAS;EACxC,QAAQ,CAAC,CAAC;EACV,OAAO,KAAK;CACd,CAAC;CAED,AADA,EAAS,UAAU,GACnB,EAAO,gBACC;EAIJ,IAHI,EAAc,YAAY,KAAK,MACjC,EAAc,UAAU,IAEtB,KAAQ,CAAC,GAAK;EAClB,IAAI;EA6BJ,OA5BA,IAAY,EACV,IACC,GAAQ,MAAU;GACjB,IAAM,IAAiB,EAAc;GACrC,EAAc,UAAU,GACpB,QAAmB,KAAK,KAAK,CAAC,OAGlC,EAAS;IACP;IACA;GACF,CAAC,GACG,EAAS,WAAS,EAAS,QAAQ,GAAQ,CAAK,GAChD,EAAM,kBAAkB,KAAe,MACzC,EAAU,GACV,IAAY,KAAK;EAErB,GACA;GACE;GACA;GACA;GAEA;GACA;EACF,GACA,CACF,SACa;GACX,AAAI,KACF,EAAU;EAEd;CACF,GAGA;EAEE,MAAM,QAAQ,CAAS,IAAI,EAAU,SAAS,IAAI;EAClD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,IAAM,IAAqB,EAAM,OAA8B,QACzD,IAAsB,EAAO,OAAO,KAAK,CAAC;CAChD,AAAI,CAAC,KAAO,KAAe,CAAC,KAAe,CAAC,KAAQ,EAAoB,YAAY,MAClF,EAAoB,UAAU,GAC9B,EAAS;EACP,QAAQ,CAAC,CAAC;EACV,OAAO,KAAK;CACd,CAAC,GACD,EAAc,UAAU;CAE1B,IAAM,IAAS;EAAC;EAAQ,EAAM;EAAQ,EAAM;CAAK;CAIjD,OAHA,EAAO,MAAM,EAAO,IACpB,EAAO,SAAS,EAAO,IACvB,EAAO,QAAQ,EAAO,IACf;AACT;AAKgC,wBAAwBA;;;AChTxD,IAAI,IAAmB,cAAc,EAAa;CAChD;CACA,KAAiB,KAAK;CACtB;CACA;CACA,YAAY,GAAQ,GAAS;EAK3B,AAJA,MAAM,GACN,KAAKC,KAAU,GACf,KAAK,WAAW,CAAO,GACvB,KAAK,YAAY,GACjB,KAAKC,GAAc;CACrB;CACA,cAAc;EAEZ,AADA,KAAK,SAAS,KAAK,OAAO,KAAK,IAAI,GACnC,KAAK,QAAQ,KAAK,MAAM,KAAK,IAAI;CACnC;CACA,WAAW,GAAS;EAClB,IAAM,IAAc,KAAK;EASzB,AARA,KAAK,UAAU,KAAKD,GAAQ,uBAAuB,CAAO,GACrD,EAAoB,KAAK,SAAS,CAAW,KAChD,KAAKA,GAAQ,iBAAiB,EAAE,OAAO;GACrC,MAAM;GACN,UAAU,KAAKE;GACf,UAAU;EACZ,CAAC,GAEC,GAAa,eAAe,KAAK,QAAQ,eAAe,EAAQ,EAAY,WAAW,MAAM,EAAQ,KAAK,QAAQ,WAAW,IAC/H,KAAK,MAAM,IACF,KAAKA,IAAkB,MAAM,WAAW,aACjD,KAAKA,GAAiB,WAAW,KAAK,OAAO;CAEjD;CACA,gBAAgB;EACd,AAAK,KAAK,aAAa,KACrB,KAAKA,IAAkB,eAAe,IAAI;CAE9C;CACA,iBAAiB,GAAQ;EAEvB,AADA,KAAKD,GAAc,GACnB,KAAKE,GAAQ,CAAM;CACrB;CACA,mBAAmB;EACjB,OAAO,KAAKC;CACd;CACA,QAAQ;EAIN,AAHA,KAAKF,IAAkB,eAAe,IAAI,GAC1C,KAAKA,KAAmB,KAAK,GAC7B,KAAKD,GAAc,GACnB,KAAKE,GAAQ;CACf;CACA,OAAO,GAAW,GAAS;EAKzB,OAJA,KAAKE,KAAiB,GACtB,KAAKH,IAAkB,eAAe,IAAI,GAC1C,KAAKA,KAAmB,KAAKF,GAAQ,iBAAiB,EAAE,MAAM,KAAKA,IAAS,KAAK,OAAO,GACxF,KAAKE,GAAiB,YAAY,IAAI,GAC/B,KAAKA,GAAiB,QAAQ,CAAS;CAChD;CACA,KAAgB;EACd,IAAM,IAAQ,KAAKA,IAAkB,SAAS,EAAgB;EAC9D,KAAKE,KAAiB;GACpB,GAAG;GACH,WAAW,EAAM,WAAW;GAC5B,WAAW,EAAM,WAAW;GAC5B,SAAS,EAAM,WAAW;GAC1B,QAAQ,EAAM,WAAW;GACzB,QAAQ,KAAK;GACb,OAAO,KAAK;EACd;CACF;CACA,GAAQ,GAAQ;EACd,EAAc,YAAY;GACxB,IAAI,KAAKC,MAAkB,KAAK,aAAa,GAAG;IAC9C,IAAM,IAAY,KAAKD,GAAe,WAChC,IAAiB,KAAKA,GAAe,SACrC,IAAU;KACd,QAAQ,KAAKJ;KACb,MAAM,KAAK,QAAQ;KACnB,aAAa,KAAK,QAAQ;IAC5B;IACA,IAAI,GAAQ,SAAS,WAAW;KAC9B,IAAI;MACF,KAAKK,GAAe,YAClB,EAAO,MACP,GACA,GACA,CACF;KACF,SAAS,GAAG;MACV,QAAa,OAAO,CAAC;KACvB;KACA,IAAI;MACF,KAAKA,GAAe,YAClB,EAAO,MACP,MACA,GACA,GACA,CACF;KACF,SAAS,GAAG;MACV,QAAa,OAAO,CAAC;KACvB;IACF,OAAO,IAAI,GAAQ,SAAS,SAAS;KACnC,IAAI;MACF,KAAKA,GAAe,UAClB,EAAO,OACP,GACA,GACA,CACF;KACF,SAAS,GAAG;MACV,QAAa,OAAO,CAAC;KACvB;KACA,IAAI;MACF,KAAKA,GAAe,YAClB,KAAK,GACL,EAAO,OACP,GACA,GACA,CACF;KACF,SAAS,GAAG;MACV,QAAa,OAAO,CAAC;KACvB;IACF;GACF;GACA,KAAK,UAAU,SAAS,MAAa;IACnC,EAAS,KAAKD,EAAc;GAC9B,CAAC;EACH,CAAC;CACH;AACF;;;AClIA,SAAS,EAAW,GAAQ,GAAQ;CAClC,IAAM,IAAa,IAAI,IAAI,CAAM;CACjC,OAAO,EAAO,QAAQ,MAAM,CAAC,EAAW,IAAI,CAAC,CAAC;AAChD;AACA,SAAS,EAAU,GAAO,GAAO,GAAO;CACtC,IAAM,IAAO,EAAM,MAAM,CAAC;CAE1B,OADA,EAAK,KAAS,GACP;AACT;AACA,IAAI,IAAkB,cAAc,EAAa;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,KAAmB,CAAC;CACpB,YAAY,GAAQ,GAAS,GAAS;EAOpC,AANA,MAAM,GACN,KAAKE,KAAU,GACf,KAAKC,KAAW,GAChB,KAAKC,KAAW,CAAC,GACjB,KAAKC,KAAa,CAAC,GACnB,KAAKC,KAAU,CAAC,GAChB,KAAK,WAAW,CAAO;CACzB;CACA,cAAc;EACZ,AAAI,KAAK,UAAU,SAAS,KAC1B,KAAKD,GAAW,SAAS,MAAa;GACpC,EAAS,WAAW,MAAW;IAC7B,KAAKE,GAAU,GAAU,CAAM;GACjC,CAAC;EACH,CAAC;CAEL;CACA,gBAAgB;EACd,AAAK,KAAK,UAAU,QAClB,KAAK,QAAQ;CAEjB;CACA,UAAU;EAER,AADA,KAAK,4BAA4B,IAAI,IAAI,GACzC,KAAKF,GAAW,SAAS,MAAa;GACpC,EAAS,QAAQ;EACnB,CAAC;CACH;CACA,WAAW,GAAS,GAAS;EAG3B,IAFA,KAAKD,KAAW,GAChB,KAAKD,KAAW,GAChB,QAAA,IAAA,aAA6B,cAAc;GACzC,IAAM,IAAc,EAAQ,KACzB,MAAU,KAAKD,GAAQ,oBAAoB,CAAK,EAAE,SACrD;GACA,AAAI,IAAI,IAAI,CAAW,EAAE,SAAS,EAAY,UAC5C,QAAQ,KACN,uFACF;EAEJ;EACA,EAAc,YAAY;GACxB,IAAM,IAAgB,KAAKG,IACrB,IAAqB,KAAKG,GAAuB,KAAKJ,EAAQ;GACpE,EAAmB,SAChB,MAAU,EAAM,SAAS,WAAW,EAAM,qBAAqB,CAClE;GACA,IAAM,IAAe,EAAmB,KAAK,MAAU,EAAM,QAAQ,GAC/D,IAAY,EAAa,KAC5B,MAAa,EAAS,iBAAiB,CAC1C,GACM,IAAkB,EAAc,WAAW,EAAa,QACxD,IAAiB,EAAa,MACjC,GAAU,MAAU,MAAa,EAAc,EAClD,GACM,IAAsB,KAAmB,GACzC,IAAkB,IAAsB,KAAO,EAAU,MAAM,GAAQ,MAAU;IACrF,IAAM,IAAO,KAAKE,GAAQ;IAC1B,OAAO,CAAC,KAAQ,CAAC,EAAoB,GAAQ,CAAI;GACnD,CAAC;GACG,CAAC,KAAuB,CAAC,MACzB,MACF,KAAKG,KAAmB,GACxB,KAAKJ,KAAa,IAEpB,KAAKC,KAAU,GACV,KAAK,aAAa,MACnB,MACF,EAAW,GAAe,CAAY,EAAE,SAAS,MAAa;IAC5D,EAAS,QAAQ;GACnB,CAAC,GACD,EAAW,GAAc,CAAa,EAAE,SAAS,MAAa;IAC5D,EAAS,WAAW,MAAW;KAC7B,KAAKC,GAAU,GAAU,CAAM;IACjC,CAAC;GACH,CAAC,IAEH,KAAKG,GAAQ;EACf,CAAC;CACH;CACA,mBAAmB;EACjB,OAAO,KAAKJ;CACd;CACA,aAAa;EACX,OAAO,KAAKD,GAAW,KAAK,MAAa,EAAS,gBAAgB,CAAC;CACrE;CACA,eAAe;EACb,OAAO,KAAKA;CACd;CACA,oBAAoB,GAAS,GAAS;EACpC,IAAM,IAAU,KAAKG,GAAuB,CAAO,GAC7C,IAAS,EAAQ,KACpB,MAAU,EAAM,SAAS,oBAAoB,EAAM,qBAAqB,CAC3E,GACM,IAAc,EAAQ,KACzB,MAAU,EAAM,sBAAsB,SACzC;EACA,OAAO;GACL;IACC,MACQ,KAAKG,GAAe,KAAK,GAAQ,GAAS,CAAW;SAGrD,KAAKC,GAAa,GAAQ,CAAO;EAE5C;CACF;CACA,GAAa,GAAQ,GAAS;EAC5B,OAAO,EAAQ,KAAK,GAAO,MAAU;GACnC,IAAM,IAAiB,EAAO;GAC9B,OAAQ,EAAM,sBAAsB,sBAI/B,IAJqD,EAAM,SAAS,YAAY,IAAiB,MAAiB;IACrH,EAAQ,SAAS,MAAM;KACrB,EAAE,SAAS,UAAU,CAAY;IACnC,CAAC;GACH,CAAC;EACH,CAAC;CACH;CACA,GAAe,GAAO,GAAS,GAAa;EAC1C,IAAI,GAAS;GACX,IAAM,IAAa,KAAKC,IAClB,IAAqB,MAAgB,KAAK,KAAK,MAAe,KAAK,MAAM,EAAW,WAAW,EAAY,UAAU,EAAY,MAAM,GAAM,MAAM,MAAS,EAAW,EAAE;GAY/K,QAXI,CAAC,KAAKC,MAAmB,KAAKR,OAAY,KAAKS,MAAe,KAAsB,MAAY,KAAKC,QACvG,KAAKA,KAAe,GACpB,KAAKD,KAAc,KAAKT,IACpB,MAAgB,KAAK,MACvB,KAAKO,KAAmB,IAE1B,KAAKC,KAAkB,EACrB,KAAKA,IACL,EAAQ,CAAK,CACf,IAEK,KAAKA;EACd;EACA,OAAO;CACT;CACA,KAAqB;EACnB,OAAO,KAAKX,IAAU,YAAY,KAAK,KAAK,KAAKE,GAAW,MAAM,GAAU,MACnE,EAAS,QAAQ,YAAY,KAAKC,GAAQ,IAAQ,SAAS,KAAK,CACxE;CACH;CACA,GAAuB,GAAS;EAC9B,IAAM,oBAAmC,IAAI,IAAI;EACjD,KAAKD,GAAW,SAAS,MAAa;GACpC,IAAM,IAAM,EAAS,QAAQ;GAC7B,IAAI,CAAC,GAAK;GACV,IAAM,IAAoB,EAAiB,IAAI,CAAG;GAClD,AAAI,IACF,EAAkB,KAAK,CAAQ,IAE/B,EAAiB,IAAI,GAAK,CAAC,CAAQ,CAAC;EAExC,CAAC;EACD,IAAM,IAAY,CAAC;EAUnB,OATA,EAAQ,SAAS,MAAY;GAC3B,IAAM,IAAmB,KAAKH,GAAQ,oBAAoB,CAAO,GAE3D,IADQ,EAAiB,IAAI,EAAiB,SAAS,GAAG,MAAM,KAC5C,IAAI,EAAc,KAAKA,IAAS,CAAgB;GAC1E,EAAU,KAAK;IACb,uBAAuB;IACvB;GACF,CAAC;EACH,CAAC,GACM;CACT;CACA,GAAU,GAAU,GAAQ;EAC1B,IAAM,IAAQ,KAAKG,GAAW,QAAQ,CAAQ;EAC9C,AAAI,MAAU,OACZ,KAAKC,KAAU,EAAU,KAAKA,IAAS,GAAO,CAAM,GACpD,KAAKI,GAAQ;CAEjB;CACA,KAAU;EACR,IAAI,KAAK,aAAa,GAAG;GACvB,IAAM,IAAa,KAAKE,GAAa,KAAKN,IAAS,KAAKG,EAAgB,GAClE,IAAoB,KAAKQ,GAAmB,GAC5C,IAAiB,KAAKH,IACtB,IAAY,IAAoB,IAAiB,KAAKH,GAAe,GAAY,KAAKR,IAAU,OAAO;GAC7G,CAAI,KAAqB,MAAmB,MAC1C,EAAc,YAAY;IACxB,KAAK,UAAU,SAAS,MAAa;KACnC,EAAS,KAAKG,EAAO;IACvB,CAAC;GACH,CAAC;EAEL;CACF;AACF;;;AC9LA,SAAS,EAAW,EAClB,YACA,GAAG,KACF,GAAa;CACd,IAAM,IAAS,EAAe,CAAW,GACnC,IAAc,EAAe,GAC7B,IAAqB,EAA2B,GAChD,IAAmBY,EAAM,cACvB,EAAQ,KAAK,MAAS;EAC1B,IAAM,IAAmB,EAAO,oBAC9B,CACF;EAEA,OADA,EAAiB,qBAAqB,IAAc,gBAAgB,cAC7D;CACT,CAAC,GACD;EAAC;EAAS;EAAQ;CAAW,CAC/B;CAMA,AALA,EAAiB,SAAS,MAAiB;EAGzC,AAFA,EAAqB,CAAY,GAEjC,EAAgC,GAAc,GADhC,EAAO,cAAc,EAAE,IAAI,EAAa,SACgB,CAAC;CACzE,CAAC,GACD,EAA2B,CAAkB;CAC7C,IAAM,CAAC,KAAYA,EAAM,eACjB,IAAI,EACR,GACA,GACA,CACF,CACF,GACM,CAAC,GAAkB,GAAmB,KAAe,EAAS,oBAClE,GACA,EAAQ,OACV,GACM,IAAkB,CAAC,KAAe,EAAQ,eAAe;CAS/D,AARA,EAAM,qBACJA,EAAM,aACH,MAAkB,IAAkB,EAAS,UAAU,EAAc,WAAW,CAAa,CAAC,IAAI,GACnG,CAAC,GAAU,CAAe,CAC5B,SACM,EAAS,iBAAiB,SAC1B,EAAS,iBAAiB,CAClC,GACA,EAAM,gBAAgB;EACpB,EAAS,WACP,GACA,CACF;CACF,GAAG;EAAC;EAAkB;EAAS;CAAQ,CAAC;CAIxC,IAAM,IAH0B,EAAiB,MAC9C,GAAQ,MAAU,EAAc,EAAiB,IAAQ,CAAM,CAEnB,IAAI,EAAiB,SAAS,GAAQ,MAAU;EAC7F,IAAM,IAAO,EAAiB;EAK9B,OAJI,KAAQ,EAAc,GAAM,CAAM,IAE7B,EAAgB,GAAM,IADH,EAAc,GAAQ,CACP,GAAG,CAAkB,IAEzD,CAAC;CACV,CAAC,IAAI,CAAC;CACN,IAAI,EAAiB,SAAS,GAC5B,MAAM,QAAQ,IAAI,CAAgB;CAEpC,IAAM,IAAoC,EAAiB,MACxD,GAAQ,MAAU;EACjB,IAAM,IAAQ,EAAiB;EAC/B,OAAO,KAAS,EAAY;GAC1B;GACA;GACA,cAAc,EAAM;GACpB,OAAO,EAAO,cAAc,EAAE,IAAI,EAAM,SAAS;GACjD,UAAU,EAAM;EAClB,CAAC;CACH,CACF;CACA,IAAI,GAAmC,OACrC,MAAM,EAAkC;CAE1C,OAAO,EAAkB,EAAY,CAAC;AACxC;;;AC3FA,SAAS,EAAY,GAAS,GAAa;CACzC,IAAM,IAAS,EAAe,CAAW,GACnC,CAAC,KAAYC,EAAM,eACjB,IAAI,EACR,GACA,CACF,CACF;CACA,EAAM,gBAAgB;EACpB,EAAS,WAAW,CAAO;CAC7B,GAAG,CAAC,GAAU,CAAO,CAAC;CACtB,IAAM,IAASA,EAAM,qBACnBA,EAAM,aACH,MAAkB,EAAS,UAAU,EAAc,WAAW,CAAa,CAAC,GAC7E,CAAC,CAAQ,CACX,SACM,EAAS,iBAAiB,SAC1B,EAAS,iBAAiB,CAClC,GACM,IAASA,EAAM,aAClB,GAAW,MAAkB;EAC5B,EAAS,OAAO,GAAW,CAAa,EAAE,MAAM,CAAI;CACtD,GACA,CAAC,CAAQ,CACX;CACA,IAAI,EAAO,SAAS,EAAiB,EAAS,QAAQ,cAAc,CAAC,EAAO,KAAK,CAAC,GAChF,MAAM,EAAO;CAEf,OAAO;EAAE,GAAG;EAAQ;EAAQ,aAAa,EAAO;CAAO;AACzD;;;ACxCA,IAAM,KAAmB,MAAgB;CACvC,IAAI,GACE,oBAA4B,IAAI,IAAI,GACpC,KAAY,GAAS,MAAY;EACrC,IAAM,IAAY,OAAO,KAAY,aAAa,EAAQ,CAAK,IAAI;EACnE,IAAI,CAAC,OAAO,GAAG,GAAW,CAAK,GAAG;GAChC,IAAM,IAAgB;GAEtB,AADA,IAAS,MAA4B,OAAO,KAAc,aAAY,KAAsB,IAAY,OAAO,OAAO,CAAC,GAAG,GAAO,CAAS,GAC1I,EAAU,SAAS,MAAa,EAAS,GAAO,CAAa,CAAC;EAChE;CACF,GACM,UAAiB,GAMjB,IAAM;EAAE;EAAU;EAAU,uBALJ;EAKqB,YAJhC,OACjB,EAAU,IAAI,CAAQ,SACT,EAAU,OAAO,CAAQ;CAEqB,GACvD,IAAe,IAAQ,EAAY,GAAU,GAAU,CAAG;CAChE,OAAO;AACT,GACM,MAAgB,MAAgB,IAAc,EAAgB,CAAW,IAAI,IClB7E,KAAY,MAAQ;AAC1B,SAAS,EAAS,GAAK,IAAW,GAAU;CAC1C,IAAM,IAAQ,EAAM,qBAClB,EAAI,WACJ,EAAM,kBAAkB,EAAS,EAAI,SAAS,CAAC,GAAG,CAAC,GAAK,CAAQ,CAAC,GACjE,EAAM,kBAAkB,EAAS,EAAI,gBAAgB,CAAC,GAAG,CAAC,GAAK,CAAQ,CAAC,CAC1E;CAEA,OADA,EAAM,cAAc,CAAK,GAClB;AACT;;;ACFA,IAAM,KAA8B,MAAQ,CAAC,CAAC,EAAI,wBAAwB,OAAO,EAAI,YAAa,YAC5F,oBAAqC,IAAI,IAAI,GAC7C,KAA6B,MAAS;CAC1C,IAAM,IAAM,EAAmB,IAAI,CAAI;CAEvC,OADK,IACE,OAAO,YACZ,OAAO,QAAQ,EAAI,MAAM,EAAE,KAAK,CAAC,GAAK,OAAU,CAAC,GAAK,EAAK,SAAS,CAAC,CAAC,CACxE,IAHiB,CAAC;AAIpB,GACM,KAAgC,GAAO,GAAoB,MAAY;CAC3E,IAAI,MAAU,KAAK,GACjB,OAAO;EACL,MAAM;EACN,YAAY,EAAmB,QAAQ,CAAO;CAChD;CAEF,IAAM,IAAqB,EAAmB,IAAI,EAAQ,IAAI;CAC9D,IAAI,GACF,OAAO;EAAE,MAAM;EAAW;EAAO,GAAG;CAAmB;CAEzD,IAAM,IAAgB;EACpB,YAAY,EAAmB,QAAQ,CAAO;EAC9C,QAAQ,CAAC;CACX;CAEA,OADA,EAAmB,IAAI,EAAQ,MAAM,CAAa,GAC3C;EAAE,MAAM;EAAW;EAAO,GAAG;CAAc;AACpD,GACM,KAAqC,GAAM,MAAU;CACzD,IAAI,MAAU,KAAK,GAAG;CACtB,IAAM,IAAiB,EAAmB,IAAI,CAAI;CAC7C,MACL,OAAO,EAAe,OAAO,IACzB,OAAO,KAAK,EAAe,MAAM,EAAE,WAAW,KAChD,EAAmB,OAAO,CAAI;AAElC,GACM,IAAgB,cAChB,IAAmB;AACzB,SAAS,EAAe,GAAO;CAE7B,IAAI,CAAC,GAAO;CACZ,IAAM,IAAa,EAAM,MAAM,IAAI,GAC7B,IAAuB,EAAW,WACrC,MAAc,EAAU,SAAS,cAAc,CAClD;CACA,IAAI,IAAuB,GAAG;CAC9B,IAAM,IAAoB,EAAW,IAAuB,IAA0B,KAAK,KAAM;CACjG,OAAc,EAAc,KAAK,CAAU,IAAyB,MAAc,EAAiB,KAAK,CAAU,IAAyB;AAC7I;AAgLA,IAAM,KA/KgB,GAAI,IAAkB,CAAC,OAAO,GAAK,GAAK,MAAQ;CACpE,IAAM,EAAE,YAAS,wBAAqB,UAAO,GAAG,MAAY,GACxD;CACJ,IAAI;EACF,KAAsB,KAA4B,OAAuE,OAAO;CAClI,QAAY,CACZ;CACA,IAAI,CAAC,GACH,OAAO,EAAG,GAAK,GAAK,CAAG;CAEzB,IAAM,EAAE,eAAY,GAAG,MAA0B,EAA6B,GAAO,GAAoB,CAAO,GAC5G,IAAc;CAuBlB,AAtBA,EAAI,aAAa,GAAO,GAAS,MAAiB;EAChD,IAAM,IAAI,EAAI,GAAO,CAAO;EAC5B,IAAI,CAAC,GAAa,OAAO;EACzB,IAAM,IAAS,MAAiB,KAAK,IAAI,EACvC,MAAM,KAAuB,GAAe,gBAAI,MAAM,GAAE,KAAK,KAAK,YACpE,IAAI,OAAO,KAAiB,WAAW,EAAE,MAAM,EAAa,IAAI;EAehE,OAdI,MAAU,KAAK,KACjB,GAAyC,KAAK,GAAQ,EAAI,CAAC,GACpD,MAET,GAAyC,KACvC;GACE,GAAG;GACH,MAAM,GAAG,EAAM,GAAG,EAAO;EAC3B,GACA;GACE,GAAG,EAA0B,EAAQ,IAAI;IACxC,IAAQ,EAAI,SAAS;EACxB,CACF,GACO;CACT,IACA,EAAI,WAAW,EACb,eAAe;EAIb,AAHI,KAAc,OAAO,EAAW,eAAgB,cAClD,EAAW,YAAY,GAEzB,EAAkC,EAAQ,MAAM,CAAK;CACvD,EACF;CACA,IAAM,KAAwB,GAAG,MAAM;EACrC,IAAM,IAAsB;EAG5B,AAFA,IAAc,IACd,EAAI,GAAG,CAAC,GACR,IAAc;CAChB,GACM,IAAe,EAAG,EAAI,UAAU,GAAK,CAAG;CAc9C,IAbI,EAAsB,SAAS,cACjC,GAAyC,KAAK,CAAY,KAE1D,EAAsB,OAAO,EAAsB,SAAS,GAC5D,GAAyC,KACvC,OAAO,YACL,OAAO,QAAQ,EAAsB,MAAM,EAAE,KAAK,CAAC,GAAK,OAAY,CAClE,GACA,MAAQ,EAAsB,QAAQ,IAAe,EAAO,SAAS,CACvE,CAAC,CACH,CACF,IAEE,EAA2B,CAAG,GAAG;EAEnC,IAAM,IAAmB,EAAI;EAC7B,EAAI,YAAY,GAAG,MAAS;GAO1B,EAAiB,GAAG,CAAI;EAC1B;CACF;CAmGA,OAlGA,EAAW,WAAW,MAAY;EAEhC,QAAQ,EAAQ,MAAhB;GACE,KAAK;IACH,IAAI,OAAO,EAAQ,WAAY,UAAU;KACvC,QAAQ,MACN,yDACF;KACA;IACF;IACA,OAAO,EACL,EAAQ,UACP,MAAW;KACV,IAAI,EAAO,SAAS,cAAc;MAChC,IAAI,MAAU,KAAK,GAAG;OACpB,EAAqB,EAAO,KAAK;OACjC;MACF;MACA,AAAI,OAAO,KAAK,EAAO,KAAK,EAAE,WAAW,KACvC,QAAQ,MACN,sbAKF;MAEF,IAAM,IAAoB,EAAO,MAAM;MACvC,IAAI,KAAsD,MACxD;MAEF,AAAI,KAAK,UAAU,EAAI,SAAS,CAAC,MAAM,KAAK,UAAU,CAAiB,KACrE,EAAqB,CAAiB;MAExC;KACF;KACA,AAAI,EAA2B,CAAG,KAChC,EAAI,SAAS,CAAM;IAEvB,CACF;GACF,KAAK;IACH,QAAQ,EAAQ,QAAQ,MAAxB;KACE,KAAK,SAKH,OAJA,EAAqB,CAAY,GAC7B,MAAU,KAAK,IACV,GAAyC,KAAK,EAAI,SAAS,CAAC,IAE9D,GAAyC,KAAK,EAA0B,EAAQ,IAAI,CAAC;KAC9F,KAAK;MACH,IAAI,MAAU,KAAK,GAAG;OACpB,GAAyC,KAAK,EAAI,SAAS,CAAC;OAC5D;MACF;MACA,OAAO,GAAyC,KAAK,EAA0B,EAAQ,IAAI,CAAC;KAC9F,KAAK,YACH,OAAO,EAAc,EAAQ,QAAQ,MAAU;MAC7C,IAAI,MAAU,KAAK,GAAG;OAEpB,AADA,EAAqB,CAAK,GAC1B,GAAyC,KAAK,EAAI,SAAS,CAAC;OAC5D;MACF;MAEA,AADA,EAAqB,EAAM,EAAM,GACjC,GAAyC,KAAK,EAA0B,EAAQ,IAAI,CAAC;KACvF,CAAC;KACH,KAAK;KACL,KAAK,kBACH,OAAO,EAAc,EAAQ,QAAQ,MAAU;MAC7C,IAAI,MAAU,KAAK,GAAG;OACpB,EAAqB,CAAK;OAC1B;MACF;MACA,AAAI,KAAK,UAAU,EAAI,SAAS,CAAC,MAAM,KAAK,UAAU,EAAM,EAAM,KAChE,EAAqB,EAAM,EAAM;KAErC,CAAC;KACH,KAAK,gBAAgB;MACnB,IAAM,EAAE,uBAAoB,EAAQ,SAC9B,IAA0B,EAAgB,eAAe,MAAM,EAAE,EAAE,IAA0B;MACnG,IAAI,CAAC,GAAmB;MAMxB,AAJE,EADE,MAAU,KAAK,IACI,IAEA,EAAkB,EAAM,GAE/C,GAAyC,KACvC,MAEA,CACF;MACA;KACF;KACA,KAAK,mBACH,OAAO,IAAc,CAAC;IAC1B;IACA;EACJ;CACF,CAAC,GACM;AACT,GAEM,KAAiB,GAAa,MAAO;CACzC,IAAI;CACJ,IAAI;EACF,IAAS,KAAK,MAAM,CAAW;CACjC,SAAS,GAAG;EACV,QAAQ,MACN,mEACA,CACF;CACF;CACA,AAAI,MAAW,KAAK,KAAG,EAAG,CAAM;AAClC,GAyBM,MAvB6B,OAAQ,GAAK,GAAK,MAAQ;CAC3D,IAAM,IAAgB,EAAI;CAoB1B,OAnBA,EAAI,cAAc,GAAU,GAAa,MAAY;EACnD,IAAI,IAAW;EACf,IAAI,GAAa;GACf,IAAM,IAAc,GAAmC,cAAe,OAAO,IACzE,IAAe,EAAS,EAAI,SAAS,CAAC;GAQ1C,AAPA,KAAY,MAAU;IACpB,IAAM,IAAY,EAAS,CAAK;IAChC,IAAI,CAAC,EAAW,GAAc,CAAS,GAAG;KACxC,IAAM,IAAgB;KACtB,EAAY,IAAe,GAAW,CAAa;IACrD;GACF,GACI,GAAmC,mBACrC,EAAY,GAAc,CAAY;EAE1C;EACA,OAAO,EAAc,CAAQ;CAC/B,IACqB,EAAG,GAAK,GAAK,CAChB;AACpB;AAOA,SAAS,GAAkB,GAAY,GAAS;CAC9C,IAAI;CACJ,IAAI;EACF,IAAU,EAAW;CACvB,QAAY;EACV;CACF;CAmBA,OAAO;EAjBL,UAAU,MAAS;GAEjB,IAAM,KAAS,MACT,MAAS,OACJ,OAEF,KAAK,MAAM,GAAM,GAAmC,OAAO,GAE9D,IAAY,EAAQ,QAAQ,CAAI,KAAkB;GAIxD,OAHI,aAAe,UACV,EAAI,KAAK,CAAK,IAEhB,EAAM,CAAG;EAClB;EACA,UAAU,GAAM,MAAa,EAAQ,QAAQ,GAAM,KAAK,UAAU,GAAU,GAAmC,QAAQ,CAAC;EACxH,aAAa,MAAS,EAAQ,WAAW,CAAI;CAE3B;AACtB;AACA,IAAM,KAAc,OAAQ,MAAU;CACpC,IAAI;EACF,IAAM,IAAS,EAAG,CAAK;EAIvB,OAHI,aAAkB,UACb,IAEF;GACL,KAAK,GAAa;IAChB,OAAO,EAAW,CAAW,EAAE,CAAM;GACvC;GACA,MAAM,GAAa;IACjB,OAAO;GACT;EACF;CACF,SAAS,GAAG;EACV,OAAO;GACL,KAAK,GAAc;IACjB,OAAO;GACT;GACA,MAAM,GAAY;IAChB,OAAO,EAAW,CAAU,EAAE,CAAC;GACjC;EACF;CACF;AACF,GAiJM,MAhJe,GAAQ,OAAiB,GAAK,GAAK,MAAQ;CAC9D,IAAI,IAAU;EACZ,SAAS,SAAwB,OAAO,YAAY;EACpD,aAAa,MAAU;EACvB,SAAS;EACT,QAAQ,GAAgB,OAAkB;GACxC,GAAG;GACH,GAAG;EACL;EACA,GAAG;CACL,GACI,IAAc,IACd,IAAmB,GACjB,oBAAqC,IAAI,IAAI,GAC7C,oBAA2C,IAAI,IAAI,GACrD,IAAU,EAAQ;CACtB,IAAI,CAAC,GACH,OAAO,GACJ,GAAG,MAAS;EAIX,AAHA,QAAQ,KACN,uDAAuD,EAAQ,KAAK,+CACtE,GACA,EAAI,GAAG,CAAI;CACb,GACA,GACA,CACF;CAEF,IAAM,UAAgB;EACpB,IAAM,IAAQ,EAAQ,WAAW,EAAE,GAAG,EAAI,EAAE,CAAC;EAC7C,OAAO,EAAQ,QAAQ,EAAQ,MAAM;GACnC;GACA,SAAS,EAAQ;EACnB,CAAC;CACH,GACM,IAAgB,EAAI;CAC1B,EAAI,YAAY,GAAO,OACrB,EAAc,GAAO,CAAO,GACrB,EAAQ;CAEjB,IAAM,IAAe,GAClB,GAAG,OACF,EAAI,GAAG,CAAI,GACJ,EAAQ,IAEjB,GACA,CACF;CACA,EAAI,wBAAwB;CAC5B,IAAI,GACE,UAAgB;EAEpB,IAAI,CAAC,GAAS;EACd,IAAM,IAAiB,EAAE;EAEzB,AADA,IAAc,IACd,EAAmB,SAAS,MAEnB,EAAU,EAAI,KAAmB,CAAY,CACrD;EACD,IAAM,IAAiC,EAAQ,oBAA0C,KAAK,GAAe,EAAI,KAAkB,CAAY,KAAM,KAAK;EAC1J,OAAO,EAAW,EAAQ,QAAQ,KAAK,CAAO,CAAC,EAAE,EAAQ,IAAI,EAAE,MAAM,MAA6B;GAChG,IAAI,GACF,IAAI,OAAO,EAAyB,WAAY,YAAY,EAAyB,YAAY,EAAQ,SAAS;IAChH,IAAI,EAAQ,SAAS;KACnB,IAAM,IAAY,EAAQ,QACxB,EAAyB,OACzB,EAAyB,OAC3B;KAIA,OAHI,aAAqB,UAChB,EAAU,MAAM,MAAW,CAAC,IAAM,CAAM,CAAC,IAE3C,CAAC,IAAM,CAAS;IACzB;IACA,QAAQ,MACN,uFACF;GACF,OACE,OAAO,CAAC,IAAO,EAAyB,KAAK;GAGjD,OAAO,CAAC,IAAO,KAAK,CAAC;EACvB,CAAC,EAAE,MAAM,MAAoB;GAE3B,IAAI,MAAmB,GACrB;GAEF,IAAM,CAAC,GAAU,KAAiB;GAMlC,IALA,IAAmB,EAAQ,MACzB,GACO,EAAI,KAAmB,CAChC,GACA,EAAI,GAAkB,EAAI,GACtB,GACF,OAAO,EAAQ;EAEnB,CAAC,EAAE,WAAW;GACR,MAAmB,MAGvB,IAAmE,EAAI,GAAG,KAAK,CAAC,GAChF,IAAmB,EAAI,GACvB,IAAc,IACd,EAAyB,SAAS,MAAO,EAAG,CAAgB,CAAC;EAC/D,CAAC,EAAE,OAAO,MAAM;GACV,MAAmB,KAGvB,IAAmE,KAAK,GAAG,CAAC;EAC9E,CAAC;CACH;CAiCA,OAhCA,EAAI,UAAU;EACZ,aAAa,MAAe;GAK1B,AAJA,IAAU;IACR,GAAG;IACH,GAAG;GACL,GACI,EAAW,YACb,IAAU,EAAW;EAEzB;EACA,oBAAoB;GAClB,GAAmC,WAAW,EAAQ,IAAI;EAC5D;EACA,kBAAkB;EAClB,iBAAiB,EAAQ;EACzB,mBAAmB;EACnB,YAAY,OACV,EAAmB,IAAI,CAAE,SACZ;GACX,EAAmB,OAAO,CAAE;EAC9B;EAEF,oBAAoB,OAClB,EAAyB,IAAI,CAAE,SAClB;GACX,EAAyB,OAAO,CAAE;EACpC;CAEJ,GACK,EAAQ,iBACX,EAAQ,GAEH,KAAoB;AAC7B,GCxdM,KAAc,MAAQ,OAAO,YAAY,GACzC,KAAsB,MAE1B,aAAa,GAET,KAAkB,GAAQ,MAAW;CACzC,IAAM,IAAO,aAAkB,MAAM,IAAS,IAAI,IAAI,EAAO,QAAQ,CAAC,GAChE,IAAO,aAAkB,MAAM,IAAS,IAAI,IAAI,EAAO,QAAQ,CAAC;CACtE,IAAI,EAAK,SAAS,EAAK,MACrB,OAAO;CAET,KAAK,IAAM,CAAC,GAAK,MAAU,GACzB,IAAI,CAAC,EAAK,IAAI,CAAG,KAAK,CAAC,OAAO,GAAG,GAAO,EAAK,IAAI,CAAG,CAAC,GACnD,OAAO;CAGX,OAAO;AACT,GACM,MAAoB,GAAQ,MAAW;CAC3C,IAAM,IAAY,EAAO,OAAO,UAAU,GACpC,IAAY,EAAO,OAAO,UAAU,GACtC,IAAQ,EAAU,KAAK,GACvB,IAAQ,EAAU,KAAK;CAC3B,OAAO,CAAC,EAAM,QAAQ,CAAC,EAAM,OAAM;EACjC,IAAI,CAAC,OAAO,GAAG,EAAM,OAAO,EAAM,KAAK,GACrC,OAAO;EAGT,AADA,IAAQ,EAAU,KAAK,GACvB,IAAQ,EAAU,KAAK;CACzB;CACA,OAAO,CAAC,CAAC,EAAM,QAAQ,CAAC,CAAC,EAAM;AACjC;AACA,SAAS,GAAQ,GAAQ,GAAQ;CAgB/B,OAfI,OAAO,GAAG,GAAQ,CAAM,IACnB,KAEL,OAAO,KAAW,aAAY,KAAmB,OAAO,KAAW,aAAY,KAG/E,OAAO,eAAe,CAAM,MAAM,OAAO,eAAe,CAAM,IACzD,KAEL,EAAW,CAAM,KAAK,EAAW,CAAM,IACrC,EAAmB,CAAM,KAAK,EAAmB,CAAM,IAClD,EAAe,GAAQ,CAAM,IAE/B,GAAiB,GAAQ,CAAM,IAEjC,EACL,EAAE,eAAe,OAAO,QAAQ,CAAM,EAAE,GACxC,EAAE,eAAe,OAAO,QAAQ,CAAM,EAAE,CAC1C;AACF;;;ACjDA,SAAS,GAAW,GAAU;CAC5B,IAAM,IAAO,EAAM,OAAO,KAAK,CAAC;CAChC,QAAQ,MAAU;EAChB,IAAM,IAAO,EAAS,CAAK;EAC3B,OAAO,GAAQ,EAAK,SAAS,CAAI,IAAI,EAAK,UAAU,EAAK,UAAU;CACrE;AACF;;;;CCAA,IAAI,KAAY,WAAW;EAG3B,IAAI,IAAI,OAAO,cACX,IAAe,qEACf,IAAgB,qEAChB,IAAiB,CAAC;EAEtB,SAAS,EAAa,GAAU,GAAW;GACzC,IAAI,CAAC,EAAe,IAAW;IAC7B,EAAe,KAAY,CAAC;IAC5B,KAAK,IAAI,IAAE,GAAI,IAAE,EAAS,QAAS,KACjC,EAAe,GAAU,EAAS,OAAO,CAAC,KAAK;GAEnD;GACA,OAAO,EAAe,GAAU;EAClC;EAEA,IAAI,IAAW;GACb,kBAAmB,SAAU,GAAO;IAClC,IAAI,KAAS,MAAM,OAAO;IAC1B,IAAI,IAAM,EAAS,UAAU,GAAO,GAAG,SAAS,GAAE;KAAC,OAAO,EAAa,OAAO,CAAC;IAAE,CAAC;IAClF,QAAQ,EAAI,SAAS,GAArB;KACA;KACA,KAAK,GAAI,OAAO;KAChB,KAAK,GAAI,OAAO,IAAI;KACpB,KAAK,GAAI,OAAO,IAAI;KACpB,KAAK,GAAI,OAAO,IAAI;IACpB;GACF;GAEA,sBAAuB,SAAU,GAAO;IAGtC,OAFI,KAAS,OAAa,KACtB,KAAS,KAAW,OACjB,EAAS,YAAY,EAAM,QAAQ,IAAI,SAAS,GAAO;KAAE,OAAO,EAAa,GAAc,EAAM,OAAO,CAAK,CAAC;IAAG,CAAC;GAC3H;GAEA,iBAAkB,SAAU,GAAO;IAEjC,OADI,KAAS,OAAa,KACnB,EAAS,UAAU,GAAO,IAAI,SAAS,GAAE;KAAC,OAAO,EAAE,IAAE,EAAE;IAAE,CAAC,IAAI;GACvE;GAEA,qBAAqB,SAAU,GAAY;IAGzC,OAFI,KAAc,OAAa,KAC3B,KAAc,KAAW,OACtB,EAAS,YAAY,EAAW,QAAQ,OAAO,SAAS,GAAO;KAAE,OAAO,EAAW,WAAW,CAAK,IAAI;IAAI,CAAC;GACrH;GAGA,sBAAsB,SAAU,GAAc;IAI5C,KAAK,IAHD,IAAa,EAAS,SAAS,CAAY,GAC3C,IAAI,IAAI,WAAW,EAAW,SAAO,CAAC,GAEjC,IAAE,GAAG,IAAS,EAAW,QAAQ,IAAE,GAAU,KAAK;KACzD,IAAI,IAAgB,EAAW,WAAW,CAAC;KAE3C,AADA,EAAI,IAAE,KAAK,MAAkB,GAC7B,EAAI,IAAE,IAAE,KAAK,IAAgB;IAC/B;IACA,OAAO;GACT;GAGA,0BAAyB,SAAU,GAAY;IAC7C,IAAI,KAAa,MACb,OAAO,EAAS,WAAW,CAAU;IAGrC,KAAK,IADD,IAAQ,MAAM,EAAW,SAAO,CAAC,GAC5B,IAAE,GAAG,IAAS,EAAI,QAAQ,IAAE,GAAU,KAC7C,EAAI,KAAG,EAAW,IAAE,KAAG,MAAI,EAAW,IAAE,IAAE;IAG5C,IAAI,IAAS,CAAC;IAId,OAHA,EAAI,QAAQ,SAAU,GAAG;KACvB,EAAO,KAAK,EAAE,CAAC,CAAC;IAClB,CAAC,GACM,EAAS,WAAW,EAAO,KAAK,EAAE,CAAC;GAIhD;GAIA,+BAA+B,SAAU,GAAO;IAE9C,OADI,KAAS,OAAa,KACnB,EAAS,UAAU,GAAO,GAAG,SAAS,GAAE;KAAC,OAAO,EAAc,OAAO,CAAC;IAAE,CAAC;GAClF;GAGA,mCAAkC,SAAU,GAAO;IAIjD,OAHI,KAAS,OAAa,KACtB,KAAS,KAAW,QACxB,IAAQ,EAAM,QAAQ,MAAM,GAAG,GACxB,EAAS,YAAY,EAAM,QAAQ,IAAI,SAAS,GAAO;KAAE,OAAO,EAAa,GAAe,EAAM,OAAO,CAAK,CAAC;IAAG,CAAC;GAC5H;GAEA,UAAU,SAAU,GAAc;IAChC,OAAO,EAAS,UAAU,GAAc,IAAI,SAAS,GAAE;KAAC,OAAO,EAAE,CAAC;IAAE,CAAC;GACvE;GACA,WAAW,SAAU,GAAc,GAAa,GAAgB;IAC9D,IAAI,KAAgB,MAAM,OAAO;IACjC,IAAI,GAAG,GACH,IAAoB,CAAC,GACrB,IAA4B,CAAC,GAC7B,IAAU,IACV,IAAW,IACX,IAAU,IACV,IAAmB,GACnB,IAAkB,GAClB,IAAiB,GACjB,IAAa,CAAC,GACd,IAAiB,GACjB,IAAsB,GACtB;IAEJ,KAAK,IAAK,GAAG,IAAK,EAAa,QAAQ,KAAM,GAQ3C,IAPA,IAAY,EAAa,OAAO,CAAE,GAC7B,OAAO,UAAU,eAAe,KAAK,GAAmB,CAAS,MACpE,EAAmB,KAAa,KAChC,EAA2B,KAAa,KAG1C,IAAa,IAAY,GACrB,OAAO,UAAU,eAAe,KAAK,GAAmB,CAAU,GACpE,IAAY;SACP;KACL,IAAI,OAAO,UAAU,eAAe,KAAK,GAA2B,CAAS,GAAG;MAC9E,IAAI,EAAU,WAAW,CAAC,IAAE,KAAK;OAC/B,KAAK,IAAE,GAAI,IAAE,GAAkB,KAE7B,AADA,MAAwC,GACpC,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB;OAIJ,KADA,IAAQ,EAAU,WAAW,CAAC,GACzB,IAAE,GAAI,IAAE,GAAI,KASf,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;MAErB,OAAO;OAEL,KADA,IAAQ,GACH,IAAE,GAAI,IAAE,GAAkB,KAS7B,AARA,IAAoB,KAAoB,IAAK,GACzC,KAAwB,IAAY,KACtC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,IAAQ;OAGV,KADA,IAAQ,EAAU,WAAW,CAAC,GACzB,IAAE,GAAI,IAAE,IAAK,KAShB,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;MAErB;MAMA,AALA,KACI,KAAqB,MACvB,IAA6B,KAAG,GAChC,MAEF,OAAO,EAA2B;KACpC,OAEE,KADA,IAAQ,EAAmB,IACtB,IAAE,GAAI,IAAE,GAAkB,KAS7B,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;KAYrB,AAPA,KACI,KAAqB,MACvB,IAA6B,KAAG,GAChC,MAGF,EAAmB,KAAc,KACjC,IAAY,OAAO,CAAS;IAC9B;IAIF,IAAI,MAAc,IAAI;KACpB,IAAI,OAAO,UAAU,eAAe,KAAK,GAA2B,CAAS,GAAG;MAC9E,IAAI,EAAU,WAAW,CAAC,IAAE,KAAK;OAC/B,KAAK,IAAE,GAAI,IAAE,GAAkB,KAE7B,AADA,MAAwC,GACpC,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB;OAIJ,KADA,IAAQ,EAAU,WAAW,CAAC,GACzB,IAAE,GAAI,IAAE,GAAI,KASf,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;MAErB,OAAO;OAEL,KADA,IAAQ,GACH,IAAE,GAAI,IAAE,GAAkB,KAS7B,AARA,IAAoB,KAAoB,IAAK,GACzC,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,IAAQ;OAGV,KADA,IAAQ,EAAU,WAAW,CAAC,GACzB,IAAE,GAAI,IAAE,IAAK,KAShB,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;MAErB;MAMA,AALA,KACI,KAAqB,MACvB,IAA6B,KAAG,GAChC,MAEF,OAAO,EAA2B;KACpC,OAEE,KADA,IAAQ,EAAmB,IACtB,IAAE,GAAI,IAAE,GAAkB,KAS7B,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;KAMrB,AADA,KACI,KAAqB,MACvB,IAA6B,KAAG,GAChC;IAEJ;IAIA,KADA,IAAQ,GACH,IAAE,GAAI,IAAE,GAAkB,KAS7B,AARA,IAAoB,KAAoB,IAAM,IAAM,GAChD,KAAyB,IAAY,KACvC,IAAwB,GACxB,EAAa,KAAK,EAAe,CAAgB,CAAC,GAClD,IAAmB,KAEnB,KAEF,MAAiB;IAInB,SAEE,IADA,MAAwC,GACpC,KAAyB,IAAY,GAAG;KAC1C,EAAa,KAAK,EAAe,CAAgB,CAAC;KAClD;IACF,OACK;IAEP,OAAO,EAAa,KAAK,EAAE;GAC7B;GAEA,YAAY,SAAU,GAAY;IAGhC,OAFI,KAAc,OAAa,KAC3B,KAAc,KAAW,OACtB,EAAS,YAAY,EAAW,QAAQ,OAAO,SAAS,GAAO;KAAE,OAAO,EAAW,WAAW,CAAK;IAAG,CAAC;GAChH;GAEA,aAAa,SAAU,GAAQ,GAAY,GAAc;IACvD,IAAI,IAAa,CAAC,GAEd,IAAY,GACZ,IAAW,GACX,IAAU,GACV,IAAQ,IACR,IAAS,CAAC,GACV,GACA,GACA,GAAM,GAAM,GAAU,GACtB,GACA,IAAO;KAAC,KAAI,EAAa,CAAC;KAAG,UAAS;KAAY,OAAM;IAAC;IAE7D,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,GACtB,EAAW,KAAK;IAMlB,KAHA,IAAO,GACP,IAAoB,KAAE,GACtB,IAAM,GACC,KAAO,IAQZ,AAPA,IAAO,EAAK,MAAM,EAAK,UACvB,EAAK,aAAa,GACd,EAAK,YAAY,MACnB,EAAK,WAAW,GAChB,EAAK,MAAM,EAAa,EAAK,OAAO,IAEtC,KAAS,MAAK,KAAa,GAC3B,MAAU;IAGZ,QAAe,GAAf;KACE,KAAK;MAID,KAHA,IAAO,GACP,IAAoB,KAAE,GACtB,IAAM,GACC,KAAO,IAQZ,AAPA,IAAO,EAAK,MAAM,EAAK,UACvB,EAAK,aAAa,GACd,EAAK,YAAY,MACnB,EAAK,WAAW,GAChB,EAAK,MAAM,EAAa,EAAK,OAAO,IAEtC,KAAS,MAAK,KAAa,GAC3B,MAAU;MAEd,IAAI,EAAE,CAAI;MACV;KACF,KAAK;MAID,KAHA,IAAO,GACP,IAAoB,KAAE,IACtB,IAAM,GACC,KAAO,IAQZ,AAPA,IAAO,EAAK,MAAM,EAAK,UACvB,EAAK,aAAa,GACd,EAAK,YAAY,MACnB,EAAK,WAAW,GAChB,EAAK,MAAM,EAAa,EAAK,OAAO,IAEtC,KAAS,MAAK,KAAa,GAC3B,MAAU;MAEd,IAAI,EAAE,CAAI;MACV;KACF,KAAK,GACH,OAAO;IACX;IAIA,KAHA,EAAW,KAAK,GAChB,IAAI,GACJ,EAAO,KAAK,CAAC,KACA;KACX,IAAI,EAAK,QAAQ,GACf,OAAO;KAMT,KAHA,IAAO,GACP,IAAoB,KAAE,GACtB,IAAM,GACC,KAAO,IAQZ,AAPA,IAAO,EAAK,MAAM,EAAK,UACvB,EAAK,aAAa,GACd,EAAK,YAAY,MACnB,EAAK,WAAW,GAChB,EAAK,MAAM,EAAa,EAAK,OAAO,IAEtC,KAAS,MAAK,KAAa,GAC3B,MAAU;KAGZ,QAAQ,IAAI,GAAZ;MACE,KAAK;OAIH,KAHA,IAAO,GACP,IAAoB,KAAE,GACtB,IAAM,GACC,KAAO,IAQZ,AAPA,IAAO,EAAK,MAAM,EAAK,UACvB,EAAK,aAAa,GACd,EAAK,YAAY,MACnB,EAAK,WAAW,GAChB,EAAK,MAAM,EAAa,EAAK,OAAO,IAEtC,KAAS,MAAK,KAAa,GAC3B,MAAU;OAKZ,AAFA,EAAW,OAAc,EAAE,CAAI,GAC/B,IAAI,IAAS,GACb;OACA;MACF,KAAK;OAIH,KAHA,IAAO,GACP,IAAoB,KAAE,IACtB,IAAM,GACC,KAAO,IAQZ,AAPA,IAAO,EAAK,MAAM,EAAK,UACvB,EAAK,aAAa,GACd,EAAK,YAAY,MACnB,EAAK,WAAW,GAChB,EAAK,MAAM,EAAa,EAAK,OAAO,IAEtC,KAAS,MAAK,KAAa,GAC3B,MAAU;OAIZ,AAFA,EAAW,OAAc,EAAE,CAAI,GAC/B,IAAI,IAAS,GACb;OACA;MACF,KAAK,GACH,OAAO,EAAO,KAAK,EAAE;KACzB;KAOA,IALI,KAAa,MACf,IAAqB,KAAG,GACxB,MAGE,EAAW,IACb,IAAQ,EAAW;UAEnB,IAAI,MAAM,GACR,IAAQ,IAAI,EAAE,OAAO,CAAC;UAEtB,OAAO;KAWX,AARA,EAAO,KAAK,CAAK,GAGjB,EAAW,OAAc,IAAI,EAAM,OAAO,CAAC,GAC3C,KAEA,IAAI,GAEA,KAAa,MACf,IAAqB,KAAG,GACxB;IAGJ;GACF;EACF;EACE,OAAO;CACT,GAAG;CAEH,AAAI,OAAO,UAAW,cAAc,OAAO,MACzC,OAAO,WAAY;EAAE,OAAO;CAAU,CAAC,IACvB,MAAW,UAAe,KAAU,OACpD,EAAO,UAAU,IACR,OAAO,UAAY,OAAe,WAAW,QACtD,QAAQ,OAAO,YAAY,CAAC,CAAC,EAC5B,QAAQ,YAAY,WAAY;EAC/B,OAAO;CACT,CAAC"}
|
|
1
|
+
{"version":3,"file":"vendor-CPIYyeuD.js","names":["React3","#client","#updateResult","#currentMutation","#notify","#currentResult","#mutateOptions","#client","#options","#queries","#observers","#result","#onUpdate","#findMatchingObservers","#observerMatches","#notify","#combineResult","#trackResult","#lastQueryHashes","#combinedResult","#lastResult","#lastCombine","#shouldSkipCombine","React","React"],"sources":["../../../node_modules/react-intersection-observer/dist/index.mjs","../../../node_modules/@tanstack/query-core/build/modern/mutationObserver.js","../../../node_modules/@tanstack/query-core/build/modern/queriesObserver.js","../../../node_modules/@tanstack/react-query/build/modern/useQueries.js","../../../node_modules/@tanstack/react-query/build/modern/useMutation.js","../../../node_modules/zustand/esm/vanilla.mjs","../../../node_modules/zustand/esm/react.mjs","../../../node_modules/zustand/esm/middleware.mjs","../../../node_modules/zustand/esm/vanilla/shallow.mjs","../../../node_modules/zustand/esm/react/shallow.mjs","../../../node_modules/lz-string/libs/lz-string.js"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a2;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n [...(_a2 = elements.get(entry.target)) != null ? _a2 : []].forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"lastInView\");\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n this.lastInView = this.props.initialInView;\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n const previousInView = this.lastInView;\n this.lastInView = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n this.lastInView = props.initialInView;\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n if (this.lastInView === void 0) {\n this.lastInView = this.props.initialInView;\n }\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a2;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef(onChange);\n const lastInViewRef = React2.useRef(initialInView);\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (lastInViewRef.current === void 0) {\n lastInViewRef.current = initialInView;\n }\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-expect-error\n trackVisibility,\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a2 = state.entry) == null ? void 0 : _a2.target;\n const previousEntryTarget = React2.useRef(void 0);\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n lastInViewRef.current = initialInView;\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\n// src/useOnInView.tsx\nimport * as React3 from \"react\";\nvar _a, _b;\nvar useSyncEffect = (_b = (_a = \"useInsertionEffect\" in React3 ? React3.useInsertionEffect : void 0) != null ? _a : React3.useLayoutEffect) != null ? _b : React3.useEffect;\nvar useOnInView = (onIntersectionChange, {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n} = {}) => {\n const onIntersectionChangeRef = React3.useRef(onIntersectionChange);\n const observedElementRef = React3.useRef(null);\n const observerCleanupRef = React3.useRef(void 0);\n const lastInViewRef = React3.useRef(void 0);\n useSyncEffect(() => {\n onIntersectionChangeRef.current = onIntersectionChange;\n }, [onIntersectionChange]);\n return React3.useCallback(\n (element) => {\n const cleanupExisting = () => {\n if (observerCleanupRef.current) {\n const cleanup = observerCleanupRef.current;\n observerCleanupRef.current = void 0;\n cleanup();\n }\n };\n if (element === observedElementRef.current) {\n return observerCleanupRef.current;\n }\n if (!element || skip) {\n cleanupExisting();\n observedElementRef.current = null;\n lastInViewRef.current = void 0;\n return;\n }\n cleanupExisting();\n observedElementRef.current = element;\n let destroyed = false;\n const destroyObserver = observe(\n element,\n (inView, entry) => {\n const previousInView = lastInViewRef.current;\n lastInViewRef.current = inView;\n if (previousInView === void 0 && !inView) {\n return;\n }\n onIntersectionChangeRef.current(\n inView,\n entry\n );\n if (triggerOnce && inView) {\n stopObserving();\n }\n },\n {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay\n }\n );\n function stopObserving() {\n if (destroyed) return;\n destroyed = true;\n destroyObserver();\n observedElementRef.current = null;\n observerCleanupRef.current = void 0;\n lastInViewRef.current = void 0;\n }\n observerCleanupRef.current = stopObserving;\n return observerCleanupRef.current;\n },\n [\n Array.isArray(threshold) ? threshold.toString() : threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n triggerOnce,\n skip\n ]\n );\n};\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView,\n useOnInView\n};\n//# sourceMappingURL=index.mjs.map","// src/mutationObserver.ts\nimport { getDefaultState } from \"./mutation.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { hashKey, shallowEqualObjects } from \"./utils.js\";\nvar MutationObserver = class extends Subscribable {\n #client;\n #currentResult = void 0;\n #currentMutation;\n #mutateOptions;\n constructor(client, options) {\n super();\n this.#client = client;\n this.setOptions(options);\n this.bindMethods();\n this.#updateResult();\n }\n bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n }\n setOptions(options) {\n const prevOptions = this.options;\n this.options = this.#client.defaultMutationOptions(options);\n if (!shallowEqualObjects(this.options, prevOptions)) {\n this.#client.getMutationCache().notify({\n type: \"observerOptionsUpdated\",\n mutation: this.#currentMutation,\n observer: this\n });\n }\n if (prevOptions?.mutationKey && this.options.mutationKey && hashKey(prevOptions.mutationKey) !== hashKey(this.options.mutationKey)) {\n this.reset();\n } else if (this.#currentMutation?.state.status === \"pending\") {\n this.#currentMutation.setOptions(this.options);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#currentMutation?.removeObserver(this);\n }\n }\n onMutationUpdate(action) {\n this.#updateResult();\n this.#notify(action);\n }\n getCurrentResult() {\n return this.#currentResult;\n }\n reset() {\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = void 0;\n this.#updateResult();\n this.#notify();\n }\n mutate(variables, options) {\n this.#mutateOptions = options;\n this.#currentMutation?.removeObserver(this);\n this.#currentMutation = this.#client.getMutationCache().build(this.#client, this.options);\n this.#currentMutation.addObserver(this);\n return this.#currentMutation.execute(variables);\n }\n #updateResult() {\n const state = this.#currentMutation?.state ?? getDefaultState();\n this.#currentResult = {\n ...state,\n isPending: state.status === \"pending\",\n isSuccess: state.status === \"success\",\n isError: state.status === \"error\",\n isIdle: state.status === \"idle\",\n mutate: this.mutate,\n reset: this.reset\n };\n }\n #notify(action) {\n notifyManager.batch(() => {\n if (this.#mutateOptions && this.hasListeners()) {\n const variables = this.#currentResult.variables;\n const onMutateResult = this.#currentResult.context;\n const context = {\n client: this.#client,\n meta: this.options.meta,\n mutationKey: this.options.mutationKey\n };\n if (action?.type === \"success\") {\n try {\n this.#mutateOptions.onSuccess?.(\n action.data,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n action.data,\n null,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n } else if (action?.type === \"error\") {\n try {\n this.#mutateOptions.onError?.(\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n try {\n this.#mutateOptions.onSettled?.(\n void 0,\n action.error,\n variables,\n onMutateResult,\n context\n );\n } catch (e) {\n void Promise.reject(e);\n }\n }\n }\n this.listeners.forEach((listener) => {\n listener(this.#currentResult);\n });\n });\n }\n};\nexport {\n MutationObserver\n};\n//# sourceMappingURL=mutationObserver.js.map","// src/queriesObserver.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { QueryObserver } from \"./queryObserver.js\";\nimport { Subscribable } from \"./subscribable.js\";\nimport { replaceEqualDeep, shallowEqualObjects } from \"./utils.js\";\nfunction difference(array1, array2) {\n const excludeSet = new Set(array2);\n return array1.filter((x) => !excludeSet.has(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nvar QueriesObserver = class extends Subscribable {\n #client;\n #result;\n #queries;\n #options;\n #observers;\n #combinedResult;\n #lastCombine;\n #lastResult;\n #lastQueryHashes;\n #observerMatches = [];\n constructor(client, queries, options) {\n super();\n this.#client = client;\n this.#options = options;\n this.#queries = [];\n this.#observers = [];\n this.#result = [];\n this.setQueries(queries);\n }\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.#observers.forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n }\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n destroy() {\n this.listeners = /* @__PURE__ */ new Set();\n this.#observers.forEach((observer) => {\n observer.destroy();\n });\n }\n setQueries(queries, options) {\n this.#queries = queries;\n this.#options = options;\n if (process.env.NODE_ENV !== \"production\") {\n const queryHashes = queries.map(\n (query) => this.#client.defaultQueryOptions(query).queryHash\n );\n if (new Set(queryHashes).size !== queryHashes.length) {\n console.warn(\n \"[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.\"\n );\n }\n }\n notifyManager.batch(() => {\n const prevObservers = this.#observers;\n const newObserverMatches = this.#findMatchingObservers(this.#queries);\n newObserverMatches.forEach(\n (match) => match.observer.setOptions(match.defaultedQueryOptions)\n );\n const newObservers = newObserverMatches.map((match) => match.observer);\n const newResult = newObservers.map(\n (observer) => observer.getCurrentResult()\n );\n const hasLengthChange = prevObservers.length !== newObservers.length;\n const hasIndexChange = newObservers.some(\n (observer, index) => observer !== prevObservers[index]\n );\n const hasStructuralChange = hasLengthChange || hasIndexChange;\n const hasResultChange = hasStructuralChange ? true : newResult.some((result, index) => {\n const prev = this.#result[index];\n return !prev || !shallowEqualObjects(result, prev);\n });\n if (!hasStructuralChange && !hasResultChange) return;\n if (hasStructuralChange) {\n this.#observerMatches = newObserverMatches;\n this.#observers = newObservers;\n }\n this.#result = newResult;\n if (!this.hasListeners()) return;\n if (hasStructuralChange) {\n difference(prevObservers, newObservers).forEach((observer) => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach((observer) => {\n observer.subscribe((result) => {\n this.#onUpdate(observer, result);\n });\n });\n }\n this.#notify();\n });\n }\n getCurrentResult() {\n return this.#result;\n }\n getQueries() {\n return this.#observers.map((observer) => observer.getCurrentQuery());\n }\n getObservers() {\n return this.#observers;\n }\n getOptimisticResult(queries, combine) {\n const matches = this.#findMatchingObservers(queries);\n const result = matches.map(\n (match) => match.observer.getOptimisticResult(match.defaultedQueryOptions)\n );\n const queryHashes = matches.map(\n (match) => match.defaultedQueryOptions.queryHash\n );\n return [\n result,\n (r) => {\n return this.#combineResult(r ?? result, combine, queryHashes);\n },\n () => {\n return this.#trackResult(result, matches);\n }\n ];\n }\n #trackResult(result, matches) {\n return matches.map((match, index) => {\n const observerResult = result[index];\n return !match.defaultedQueryOptions.notifyOnChangeProps ? match.observer.trackResult(observerResult, (accessedProp) => {\n matches.forEach((m) => {\n m.observer.trackProp(accessedProp);\n });\n }) : observerResult;\n });\n }\n #combineResult(input, combine, queryHashes) {\n if (combine) {\n const lastHashes = this.#lastQueryHashes;\n const queryHashesChanged = queryHashes !== void 0 && lastHashes !== void 0 && (lastHashes.length !== queryHashes.length || queryHashes.some((hash, i) => hash !== lastHashes[i]));\n if (!this.#combinedResult || this.#result !== this.#lastResult || queryHashesChanged || combine !== this.#lastCombine) {\n this.#lastCombine = combine;\n this.#lastResult = this.#result;\n if (queryHashes !== void 0) {\n this.#lastQueryHashes = queryHashes;\n }\n this.#combinedResult = replaceEqualDeep(\n this.#combinedResult,\n combine(input)\n );\n }\n return this.#combinedResult;\n }\n return input;\n }\n #shouldSkipCombine() {\n return this.#options?.combine !== void 0 && this.#observers.some((observer, index) => {\n return observer.options.suspense && this.#result[index]?.data === void 0;\n });\n }\n #findMatchingObservers(queries) {\n const prevObserversMap = /* @__PURE__ */ new Map();\n this.#observers.forEach((observer) => {\n const key = observer.options.queryHash;\n if (!key) return;\n const previousObservers = prevObserversMap.get(key);\n if (previousObservers) {\n previousObservers.push(observer);\n } else {\n prevObserversMap.set(key, [observer]);\n }\n });\n const observers = [];\n queries.forEach((options) => {\n const defaultedOptions = this.#client.defaultQueryOptions(options);\n const match = prevObserversMap.get(defaultedOptions.queryHash)?.shift();\n const observer = match ?? new QueryObserver(this.#client, defaultedOptions);\n observers.push({\n defaultedQueryOptions: defaultedOptions,\n observer\n });\n });\n return observers;\n }\n #onUpdate(observer, result) {\n const index = this.#observers.indexOf(observer);\n if (index !== -1) {\n this.#result = replaceAt(this.#result, index, result);\n this.#notify();\n }\n }\n #notify() {\n if (this.hasListeners()) {\n const newTracked = this.#trackResult(this.#result, this.#observerMatches);\n const shouldSkipCombine = this.#shouldSkipCombine();\n const previousResult = this.#combinedResult;\n const newResult = shouldSkipCombine ? previousResult : this.#combineResult(newTracked, this.#options?.combine);\n if (shouldSkipCombine || previousResult !== newResult) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(this.#result);\n });\n });\n }\n }\n }\n};\nexport {\n QueriesObserver\n};\n//# sourceMappingURL=queriesObserver.js.map","\"use client\";\n\n// src/useQueries.ts\nimport * as React from \"react\";\nimport {\n QueriesObserver,\n QueryObserver,\n noop,\n notifyManager\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nimport { useIsRestoring } from \"./IsRestoringProvider.js\";\nimport { useQueryErrorResetBoundary } from \"./QueryErrorResetBoundary.js\";\nimport {\n ensurePreventErrorBoundaryRetry,\n getHasError,\n useClearResetErrorBoundary\n} from \"./errorBoundaryUtils.js\";\nimport {\n ensureSuspenseTimers,\n fetchOptimistic,\n shouldSuspend\n} from \"./suspense.js\";\nfunction useQueries({\n queries,\n ...options\n}, queryClient) {\n const client = useQueryClient(queryClient);\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(\n () => queries.map((opts) => {\n const defaultedOptions = client.defaultQueryOptions(\n opts\n );\n defaultedOptions._optimisticResults = isRestoring ? \"isRestoring\" : \"optimistic\";\n return defaultedOptions;\n }),\n [queries, client, isRestoring]\n );\n defaultedQueries.forEach((queryOptions) => {\n ensureSuspenseTimers(queryOptions);\n const query = client.getQueryCache().get(queryOptions.queryHash);\n ensurePreventErrorBoundaryRetry(queryOptions, errorResetBoundary, query);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(\n () => new QueriesObserver(\n client,\n defaultedQueries,\n options\n )\n );\n const [optimisticResult, getCombinedResult, trackResult] = observer.getOptimisticResult(\n defaultedQueries,\n options.combine\n );\n const shouldSubscribe = !isRestoring && options.subscribed !== false;\n React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop,\n [observer, shouldSubscribe]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n React.useEffect(() => {\n observer.setQueries(\n defaultedQueries,\n options\n );\n }, [defaultedQueries, options, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some(\n (result, index) => shouldSuspend(defaultedQueries[index], result)\n );\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const opts = defaultedQueries[index];\n if (opts && shouldSuspend(opts, result)) {\n const queryObserver = new QueryObserver(client, opts);\n return fetchOptimistic(opts, queryObserver, errorResetBoundary);\n }\n return [];\n }) : [];\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n const firstSingleResultWhichShouldThrow = optimisticResult.find(\n (result, index) => {\n const query = defaultedQueries[index];\n return query && getHasError({\n result,\n errorResetBoundary,\n throwOnError: query.throwOnError,\n query: client.getQueryCache().get(query.queryHash),\n suspense: query.suspense\n });\n }\n );\n if (firstSingleResultWhichShouldThrow?.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n return getCombinedResult(trackResult());\n}\nexport {\n useQueries\n};\n//# sourceMappingURL=useQueries.js.map","\"use client\";\n\n// src/useMutation.ts\nimport * as React from \"react\";\nimport {\n MutationObserver,\n noop,\n notifyManager,\n shouldThrowError\n} from \"@tanstack/query-core\";\nimport { useQueryClient } from \"./QueryClientProvider.js\";\nfunction useMutation(options, queryClient) {\n const client = useQueryClient(queryClient);\n const [observer] = React.useState(\n () => new MutationObserver(\n client,\n options\n )\n );\n React.useEffect(() => {\n observer.setOptions(options);\n }, [observer, options]);\n const result = React.useSyncExternalStore(\n React.useCallback(\n (onStoreChange) => observer.subscribe(notifyManager.batchCalls(onStoreChange)),\n [observer]\n ),\n () => observer.getCurrentResult(),\n () => observer.getCurrentResult()\n );\n const mutate = React.useCallback(\n (variables, mutateOptions) => {\n observer.mutate(variables, mutateOptions).catch(noop);\n },\n [observer]\n );\n if (result.error && shouldThrowError(observer.options.throwOnError, [result.error])) {\n throw result.error;\n }\n return { ...result, mutate, mutateAsync: result.mutate };\n}\nexport {\n useMutation\n};\n//# sourceMappingURL=useMutation.js.map","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n React.useCallback(() => selector(api.getInitialState()), [api, selector])\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst shouldDispatchFromDevtools = (api) => !!api.dispatchFromDevtools && typeof api.dispatch === \"function\";\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst v8StackLineRe = /.+ (.+) .+/;\nconst geckoStackLineRe = /^([^@]+)@/;\nfunction findCallerName(stack) {\n var _a, _b, _c;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return ((_b = v8StackLineRe.exec(callerLine)) == null ? void 0 : _b[1]) || ((_c = geckoStackLineRe.exec(callerLine)) == null ? void 0 : _c[1]);\n}\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (shouldDispatchFromDevtools(api)) {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (shouldDispatchFromDevtools(api)) {\n api.dispatch(action);\n }\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => window.localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n let hydrationVersion = 0;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n const currentVersion = ++hydrationVersion;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n if (currentVersion !== hydrationVersion) {\n return;\n }\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(get(), void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n if (currentVersion !== hydrationVersion) {\n return;\n }\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nfunction ssrSafe(config, isSSR = typeof window === \"undefined\") {\n return (set, get, api) => {\n if (!isSSR) {\n return config(set, get, api);\n }\n const ssrSet = () => {\n throw new Error(\"Cannot set state of Zustand store in SSR\");\n };\n api.setState = ssrSet;\n return config(ssrSet, get, api);\n };\n}\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector, ssrSafe as unstable_ssrSafe };\n","const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n // HACK: avoid checking entries type\n \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n if (mapA.size !== mapB.size) {\n return false;\n }\n for (const [key, value] of mapA) {\n if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n return false;\n }\n }\n return true;\n};\nconst compareIterables = (valueA, valueB) => {\n const iteratorA = valueA[Symbol.iterator]();\n const iteratorB = valueB[Symbol.iterator]();\n let nextA = iteratorA.next();\n let nextB = iteratorB.next();\n while (!nextA.done && !nextB.done) {\n if (!Object.is(nextA.value, nextB.value)) {\n return false;\n }\n nextA = iteratorA.next();\n nextB = iteratorB.next();\n }\n return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n if (Object.is(valueA, valueB)) {\n return true;\n }\n if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n return false;\n }\n if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n return false;\n }\n if (isIterable(valueA) && isIterable(valueB)) {\n if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n return compareEntries(valueA, valueB);\n }\n return compareIterables(valueA, valueB);\n }\n return compareEntries(\n { entries: () => Object.entries(valueA) },\n { entries: () => Object.entries(valueB) }\n );\n}\n\nexport { shallow };\n","import React from 'react';\nimport { shallow } from 'zustand/vanilla/shallow';\n\nfunction useShallow(selector) {\n const prev = React.useRef(void 0);\n return (state) => {\n const next = selector(state);\n return shallow(prev.current, next) ? prev.current : prev.current = next;\n };\n}\n\nexport { useShallow };\n","// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>\n// This work is free. You can redistribute it and/or modify it\n// under the terms of the WTFPL, Version 2\n// For more information see LICENSE.txt or http://www.wtfpl.net/\n//\n// For more information, the home page:\n// http://pieroxy.net/blog/pages/lz-string/testing.html\n//\n// LZ-based compression algorithm, version 1.4.5\nvar LZString = (function() {\n\n// private property\nvar f = String.fromCharCode;\nvar keyStrBase64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar keyStrUriSafe = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$\";\nvar baseReverseDic = {};\n\nfunction getBaseValue(alphabet, character) {\n if (!baseReverseDic[alphabet]) {\n baseReverseDic[alphabet] = {};\n for (var i=0 ; i<alphabet.length ; i++) {\n baseReverseDic[alphabet][alphabet.charAt(i)] = i;\n }\n }\n return baseReverseDic[alphabet][character];\n}\n\nvar LZString = {\n compressToBase64 : function (input) {\n if (input == null) return \"\";\n var res = LZString._compress(input, 6, function(a){return keyStrBase64.charAt(a);});\n switch (res.length % 4) { // To produce valid Base64\n default: // When could this happen ?\n case 0 : return res;\n case 1 : return res+\"===\";\n case 2 : return res+\"==\";\n case 3 : return res+\"=\";\n }\n },\n\n decompressFromBase64 : function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrBase64, input.charAt(index)); });\n },\n\n compressToUTF16 : function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 15, function(a){return f(a+32);}) + \" \";\n },\n\n decompressFromUTF16: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 16384, function(index) { return compressed.charCodeAt(index) - 32; });\n },\n\n //compress into uint8array (UCS-2 big endian format)\n compressToUint8Array: function (uncompressed) {\n var compressed = LZString.compress(uncompressed);\n var buf=new Uint8Array(compressed.length*2); // 2 bytes per character\n\n for (var i=0, TotalLen=compressed.length; i<TotalLen; i++) {\n var current_value = compressed.charCodeAt(i);\n buf[i*2] = current_value >>> 8;\n buf[i*2+1] = current_value % 256;\n }\n return buf;\n },\n\n //decompress from uint8array (UCS-2 big endian format)\n decompressFromUint8Array:function (compressed) {\n if (compressed===null || compressed===undefined){\n return LZString.decompress(compressed);\n } else {\n var buf=new Array(compressed.length/2); // 2 bytes per character\n for (var i=0, TotalLen=buf.length; i<TotalLen; i++) {\n buf[i]=compressed[i*2]*256+compressed[i*2+1];\n }\n\n var result = [];\n buf.forEach(function (c) {\n result.push(f(c));\n });\n return LZString.decompress(result.join(''));\n\n }\n\n },\n\n\n //compress into a string that is already URI encoded\n compressToEncodedURIComponent: function (input) {\n if (input == null) return \"\";\n return LZString._compress(input, 6, function(a){return keyStrUriSafe.charAt(a);});\n },\n\n //decompress from an output of compressToEncodedURIComponent\n decompressFromEncodedURIComponent:function (input) {\n if (input == null) return \"\";\n if (input == \"\") return null;\n input = input.replace(/ /g, \"+\");\n return LZString._decompress(input.length, 32, function(index) { return getBaseValue(keyStrUriSafe, input.charAt(index)); });\n },\n\n compress: function (uncompressed) {\n return LZString._compress(uncompressed, 16, function(a){return f(a);});\n },\n _compress: function (uncompressed, bitsPerChar, getCharFromInt) {\n if (uncompressed == null) return \"\";\n var i, value,\n context_dictionary= {},\n context_dictionaryToCreate= {},\n context_c=\"\",\n context_wc=\"\",\n context_w=\"\",\n context_enlargeIn= 2, // Compensate for the first entry which should not count\n context_dictSize= 3,\n context_numBits= 2,\n context_data=[],\n context_data_val=0,\n context_data_position=0,\n ii;\n\n for (ii = 0; ii < uncompressed.length; ii += 1) {\n context_c = uncompressed.charAt(ii);\n if (!Object.prototype.hasOwnProperty.call(context_dictionary,context_c)) {\n context_dictionary[context_c] = context_dictSize++;\n context_dictionaryToCreate[context_c] = true;\n }\n\n context_wc = context_w + context_c;\n if (Object.prototype.hasOwnProperty.call(context_dictionary,context_wc)) {\n context_w = context_wc;\n } else {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position ==bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n // Add wc to the dictionary.\n context_dictionary[context_wc] = context_dictSize++;\n context_w = String(context_c);\n }\n }\n\n // Output the code for w.\n if (context_w !== \"\") {\n if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate,context_w)) {\n if (context_w.charCodeAt(0)<256) {\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<8 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n } else {\n value = 1;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | value;\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = 0;\n }\n value = context_w.charCodeAt(0);\n for (i=0 ; i<16 ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n delete context_dictionaryToCreate[context_w];\n } else {\n value = context_dictionary[context_w];\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n\n }\n context_enlargeIn--;\n if (context_enlargeIn == 0) {\n context_enlargeIn = Math.pow(2, context_numBits);\n context_numBits++;\n }\n }\n\n // Mark the end of the stream\n value = 2;\n for (i=0 ; i<context_numBits ; i++) {\n context_data_val = (context_data_val << 1) | (value&1);\n if (context_data_position == bitsPerChar-1) {\n context_data_position = 0;\n context_data.push(getCharFromInt(context_data_val));\n context_data_val = 0;\n } else {\n context_data_position++;\n }\n value = value >> 1;\n }\n\n // Flush the last char\n while (true) {\n context_data_val = (context_data_val << 1);\n if (context_data_position == bitsPerChar-1) {\n context_data.push(getCharFromInt(context_data_val));\n break;\n }\n else context_data_position++;\n }\n return context_data.join('');\n },\n\n decompress: function (compressed) {\n if (compressed == null) return \"\";\n if (compressed == \"\") return null;\n return LZString._decompress(compressed.length, 32768, function(index) { return compressed.charCodeAt(index); });\n },\n\n _decompress: function (length, resetValue, getNextValue) {\n var dictionary = [],\n next,\n enlargeIn = 4,\n dictSize = 4,\n numBits = 3,\n entry = \"\",\n result = [],\n i,\n w,\n bits, resb, maxpower, power,\n c,\n data = {val:getNextValue(0), position:resetValue, index:1};\n\n for (i = 0; i < 3; i += 1) {\n dictionary[i] = i;\n }\n\n bits = 0;\n maxpower = Math.pow(2,2);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (next = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n c = f(bits);\n break;\n case 2:\n return \"\";\n }\n dictionary[3] = c;\n w = c;\n result.push(c);\n while (true) {\n if (data.index > length) {\n return \"\";\n }\n\n bits = 0;\n maxpower = Math.pow(2,numBits);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n switch (c = bits) {\n case 0:\n bits = 0;\n maxpower = Math.pow(2,8);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 1:\n bits = 0;\n maxpower = Math.pow(2,16);\n power=1;\n while (power!=maxpower) {\n resb = data.val & data.position;\n data.position >>= 1;\n if (data.position == 0) {\n data.position = resetValue;\n data.val = getNextValue(data.index++);\n }\n bits |= (resb>0 ? 1 : 0) * power;\n power <<= 1;\n }\n dictionary[dictSize++] = f(bits);\n c = dictSize-1;\n enlargeIn--;\n break;\n case 2:\n return result.join('');\n }\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n if (dictionary[c]) {\n entry = dictionary[c];\n } else {\n if (c === dictSize) {\n entry = w + w.charAt(0);\n } else {\n return null;\n }\n }\n result.push(entry);\n\n // Add w+entry[0] to the dictionary.\n dictionary[dictSize++] = w + entry.charAt(0);\n enlargeIn--;\n\n w = entry;\n\n if (enlargeIn == 0) {\n enlargeIn = Math.pow(2, numBits);\n numBits++;\n }\n\n }\n }\n};\n return LZString;\n})();\n\nif (typeof define === 'function' && define.amd) {\n define(function () { return LZString; });\n} else if( typeof module !== 'undefined' && module != null ) {\n module.exports = LZString\n} else if( typeof angular !== 'undefined' && angular != null ) {\n angular.module('LZString', [])\n .factory('LZString', function () {\n return LZString;\n });\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10],"mappings":"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"}
|
|
@@ -22,4 +22,4 @@ export interface AnalysisAIPanelProps {
|
|
|
22
22
|
/** Callback to cancel and restore previous state */
|
|
23
23
|
onCancel: () => void;
|
|
24
24
|
}
|
|
25
|
-
export default function AnalysisAIPanel({ userPrompt, onPromptChange, isGenerating, error, hasGeneratedQuery, onGenerate, onAccept, onCancel }: AnalysisAIPanelProps): import("react
|
|
25
|
+
export default function AnalysisAIPanel({ userPrompt, onPromptChange, isGenerating, error, hasGeneratedQuery, onGenerate, onAccept, onCancel }: AnalysisAIPanelProps): import("react").JSX.Element;
|
|
@@ -25,5 +25,5 @@ interface AnalysisAxisDropZoneProps {
|
|
|
25
25
|
yAxisAssignment?: Record<string, 'left' | 'right'>;
|
|
26
26
|
onYAxisAssignmentChange?: (field: string, axis: 'left' | 'right') => void;
|
|
27
27
|
}
|
|
28
|
-
export default function AnalysisAxisDropZone({ config, fields, onDrop, onRemove, onDragStart, onDragEnd, onDragOver, onReorder, draggedItem, getFieldMeta, yAxisAssignment, onYAxisAssignmentChange }: AnalysisAxisDropZoneProps): import("react
|
|
28
|
+
export default function AnalysisAxisDropZone({ config, fields, onDrop, onRemove, onDragStart, onDragEnd, onDragOver, onReorder, draggedItem, getFieldMeta, yAxisAssignment, onYAxisAssignmentChange }: AnalysisAxisDropZoneProps): import("react").JSX.Element;
|
|
29
29
|
export {};
|
|
@@ -14,5 +14,5 @@ interface AnalysisChartConfigPanelProps {
|
|
|
14
14
|
onChartTypeChange: (type: ChartType) => void;
|
|
15
15
|
onChartConfigChange: (config: ChartAxisConfig) => void;
|
|
16
16
|
}
|
|
17
|
-
export default function AnalysisChartConfigPanel({ chartType, chartConfig, metrics, breakdowns, schema, chartAvailability, onChartTypeChange, onChartConfigChange }: AnalysisChartConfigPanelProps): import("react
|
|
17
|
+
export default function AnalysisChartConfigPanel({ chartType, chartConfig, metrics, breakdowns, schema, chartAvailability, onChartTypeChange, onChartConfigChange }: AnalysisChartConfigPanelProps): import("react").JSX.Element;
|
|
18
18
|
export {};
|
|
@@ -7,5 +7,5 @@ interface AnalysisDisplayConfigPanelProps {
|
|
|
7
7
|
/** Keys to exclude from displayOptionsConfig rendering (e.g., ['content'] when content is managed elsewhere) */
|
|
8
8
|
excludeKeys?: string[];
|
|
9
9
|
}
|
|
10
|
-
export default function AnalysisDisplayConfigPanel({ chartType, displayConfig, colorPalette, onDisplayConfigChange, excludeKeys, }: AnalysisDisplayConfigPanelProps): import("react
|
|
10
|
+
export default function AnalysisDisplayConfigPanel({ chartType, displayConfig, colorPalette, onDisplayConfigChange, excludeKeys, }: AnalysisDisplayConfigPanelProps): import("react").JSX.Element;
|
|
11
11
|
export {};
|
|
@@ -16,5 +16,5 @@ interface AnalysisFilterGroupProps {
|
|
|
16
16
|
/** Whether to hide the remove button (for top-level groups) */
|
|
17
17
|
hideRemoveButton?: boolean;
|
|
18
18
|
}
|
|
19
|
-
export default function AnalysisFilterGroup({ group, schema, onUpdate, onRemove, onAddFilter, depth, hideRemoveButton }: AnalysisFilterGroupProps): import("react
|
|
19
|
+
export default function AnalysisFilterGroup({ group, schema, onUpdate, onRemove, onAddFilter, depth, hideRemoveButton }: AnalysisFilterGroupProps): import("react").JSX.Element;
|
|
20
20
|
export {};
|
|
@@ -10,5 +10,5 @@ interface AnalysisFilterItemProps {
|
|
|
10
10
|
/** Callback to update this filter */
|
|
11
11
|
onUpdate: (filter: SimpleFilter) => void;
|
|
12
12
|
}
|
|
13
|
-
export default function AnalysisFilterItem({ filter, schema, onRemove, onUpdate }: AnalysisFilterItemProps): import("react
|
|
13
|
+
export default function AnalysisFilterItem({ filter, schema, onRemove, onUpdate }: AnalysisFilterItemProps): import("react").JSX.Element;
|
|
14
14
|
export {};
|
|
@@ -12,5 +12,5 @@ interface AnalysisFilterSectionProps {
|
|
|
12
12
|
/** Only allow dimension filters (no measures) - used for funnel step filters */
|
|
13
13
|
dimensionsOnly?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export default function AnalysisFilterSection({ filters, schema, onFiltersChange, onFieldDropped, dimensionsOnly }: AnalysisFilterSectionProps): import("react
|
|
15
|
+
export default function AnalysisFilterSection({ filters, schema, onFiltersChange, onFieldDropped, dimensionsOnly }: AnalysisFilterSectionProps): import("react").JSX.Element;
|
|
16
16
|
export {};
|
|
@@ -22,6 +22,6 @@ export declare class AnalysisModeErrorBoundary extends Component<Props, State> {
|
|
|
22
22
|
componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
|
|
23
23
|
handleReset: () => void;
|
|
24
24
|
handleSwitchToSafeMode: () => void;
|
|
25
|
-
render(): string | number | boolean | Iterable<React.ReactNode> |
|
|
25
|
+
render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
|
|
26
26
|
}
|
|
27
27
|
export default AnalysisModeErrorBoundary;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
1
2
|
import { AIExplainAnalysis } from '../../types';
|
|
2
3
|
interface ExplainAIPanelProps {
|
|
3
4
|
/** AI analysis result */
|
|
@@ -11,5 +12,5 @@ interface ExplainAIPanelProps {
|
|
|
11
12
|
* ExplainAIPanel - Modal component for displaying AI analysis results
|
|
12
13
|
* Shows in a near full-screen modal with scrolling
|
|
13
14
|
*/
|
|
14
|
-
export declare function ExplainAIPanel({ analysis, onClose, onClear }: ExplainAIPanelProps):
|
|
15
|
+
export declare function ExplainAIPanel({ analysis, onClose, onClear }: ExplainAIPanelProps): React.JSX.Element;
|
|
15
16
|
export default ExplainAIPanel;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { FieldDetailPanelProps } from './types';
|
|
2
|
-
declare function FieldDetailPanel({ field }: FieldDetailPanelProps): import("react
|
|
2
|
+
declare function FieldDetailPanel({ field }: FieldDetailPanelProps): import("react").JSX.Element;
|
|
3
3
|
declare const _default: import('react').MemoExoticComponent<typeof FieldDetailPanel>;
|
|
4
4
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FieldSearchItemProps } from './types';
|
|
2
2
|
declare function FieldSearchItem({ field, isSelected, isFocused, onClick, onMouseEnter, ...props }: FieldSearchItemProps & {
|
|
3
3
|
'data-field-index'?: number;
|
|
4
|
-
}): import("react
|
|
4
|
+
}): import("react").JSX.Element;
|
|
5
5
|
declare const _default: import('react').MemoExoticComponent<typeof FieldSearchItem>;
|
|
6
6
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { FieldSearchModalProps } from './types';
|
|
2
|
-
export default function FieldSearchModal({ isOpen, onClose, onSelect, mode, schema, selectedFields, recentFields: externalRecentFields }: FieldSearchModalProps): import("react
|
|
2
|
+
export default function FieldSearchModal({ isOpen, onClose, onSelect, mode, schema, selectedFields, recentFields: externalRecentFields }: FieldSearchModalProps): import("react").JSX.Element | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
1
2
|
import { SimpleFilter } from '../../types';
|
|
2
3
|
import { MetaResponse } from '../../shared/types';
|
|
3
4
|
interface FilterConfigModalProps {
|
|
@@ -12,5 +13,5 @@ interface FilterConfigModalProps {
|
|
|
12
13
|
/** Element to position the modal near */
|
|
13
14
|
anchorElement?: HTMLElement | null;
|
|
14
15
|
}
|
|
15
|
-
export default function FilterConfigModal({ filter: initialFilter, schema, onSave, onCancel, anchorElement }: FilterConfigModalProps):
|
|
16
|
+
export default function FilterConfigModal({ filter: initialFilter, schema, onSave, onCancel, anchorElement }: FilterConfigModalProps): React.JSX.Element;
|
|
16
17
|
export {};
|
|
@@ -10,5 +10,5 @@ interface LimitSectionProps {
|
|
|
10
10
|
/** Callback when limit changes */
|
|
11
11
|
onLimitChange: (limit: number | undefined) => void;
|
|
12
12
|
}
|
|
13
|
-
export default function LimitSection({ limit, onLimitChange }: LimitSectionProps): import("react
|
|
13
|
+
export default function LimitSection({ limit, onLimitChange }: LimitSectionProps): import("react").JSX.Element;
|
|
14
14
|
export {};
|
|
@@ -8,5 +8,5 @@ interface SectionHeadingProps {
|
|
|
8
8
|
* Consistent section heading style for Analysis Builder panels.
|
|
9
9
|
* Change the styles here to update all section headings at once.
|
|
10
10
|
*/
|
|
11
|
-
export default function SectionHeading({ children, className }: SectionHeadingProps): import("react
|
|
11
|
+
export default function SectionHeading({ children, className }: SectionHeadingProps): import("react").JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { AnalyticsDashboardProps } from '../types';
|
|
2
|
-
export default function AnalyticsDashboard({ config, editable, dashboardFilters: propDashboardFilters, loadingComponent, onConfigChange, onSave, onSaveThumbnail, onDirtyStateChange }: AnalyticsDashboardProps): import("react
|
|
2
|
+
export default function AnalyticsDashboard({ config, editable, dashboardFilters: propDashboardFilters, loadingComponent, onConfigChange, onSave, onSaveThumbnail, onDirtyStateChange }: AnalyticsDashboardProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function AnalyticsPage(): import("react
|
|
1
|
+
export declare function AnalyticsPage(): import("react").JSX.Element;
|