From 6d8623b00fbb4e24ba8ca5518164ca7fbc716c5a Mon Sep 17 00:00:00 2001 From: kumarabhirup Date: Wed, 11 Feb 2026 19:22:53 -0800 Subject: [PATCH] Dench workspace: file manager, relation resolution, and chat refactor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit File Manager & Filesystem Operations: - Add FileManagerTree component with drag-and-drop (dnd-kit), inline rename, right-click context menu, and compact sidebar mode - Add context-menu component (open, new file/folder, rename, duplicate, copy, paste, move, delete) rendered via portal - Add InlineRename component with validation and shake-on-error animation - Add useWorkspaceWatcher hook with SSE live-reload and polling fallback - Add API routes: mkdir, rename, copy, move, watch (SSE file-change events), and DELETE on /api/workspace/file with system-file protection - Add safeResolveNewPath and isSystemFile helpers to workspace lib - Replace inline WorkspaceTreeNode in sidebar with shared FileManagerTree (compact mode), add workspace refresh callback Object Relation Resolution: - Resolve relation fields to human-readable display labels server-side (resolveRelationLabels, resolveDisplayField helpers) - Add reverse relation discovery (findReverseRelations) — surfaces incoming links from other objects - Add display_field column migration (idempotent ALTER TABLE) and PATCH /api/workspace/objects/[name]/display-field endpoint - Enrich object API response with relationLabels, reverseRelations, effectiveDisplayField, and related_object_name per field - Add RelationCell, RelationChip, ReverseRelationCell, LinkIcon components to object-table with clickable cross-object navigation - Add relation label rendering to kanban cards - Extract ObjectView component in workspace page with display-field selector dropdown and relation/reverse-relation badge counts Chat Panel Extraction: - Extract chat logic from page.tsx into standalone ChatPanel component with forwardRef/useImperativeHandle for session control - ChatPanel supports file-scoped sessions (filePath param) and context-aware file chat sidebar - Simplify page.tsx to thin orchestrator delegating to ChatPanel - Add filePath filter to GET /api/web-sessions for scoped session lists Dependencies: - Add @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities - Add duckdbExec and parseRelationValue to workspace lib Co-authored-by: Cursor --- .../plans/file_chat_sidebar_368973cb.plan.md | 138 +++ .../reports_analytics_layer_d6cf8500.plan.md | 258 +++++ .../sidebar_file_manager_02ed8b45.plan.md | 282 +++++ apps/web/app/api/web-sessions/route.ts | 20 +- apps/web/app/api/workspace/copy/route.ts | 77 ++ apps/web/app/api/workspace/file/route.ts | 57 +- apps/web/app/api/workspace/mkdir/route.ts | 53 + apps/web/app/api/workspace/move/route.ts | 93 ++ .../objects/[name]/display-field/route.ts | 82 ++ .../app/api/workspace/objects/[name]/route.ts | 290 ++++- apps/web/app/api/workspace/rename/route.ts | 84 ++ apps/web/app/api/workspace/watch/route.ts | 106 ++ apps/web/app/components/chat-panel.tsx | 670 +++++++++++ apps/web/app/components/sidebar.tsx | 180 +-- .../app/components/workspace/context-menu.tsx | 253 ++++ .../workspace/file-manager-tree.tsx | 1022 +++++++++++++++++ .../components/workspace/inline-rename.tsx | 103 ++ .../components/workspace/object-kanban.tsx | 55 +- .../app/components/workspace/object-table.tsx | 261 +++++ .../workspace/workspace-sidebar.tsx | 7 +- apps/web/app/hooks/use-workspace-watcher.ts | 143 +++ apps/web/app/page.tsx | 330 +----- apps/web/app/workspace/page.tsx | 433 +++++-- apps/web/lib/workspace.ts | 80 ++ apps/web/package-lock.json | 62 + apps/web/package.json | 3 + apps/web/tsconfig.tsbuildinfo | 2 +- 27 files changed, 4542 insertions(+), 602 deletions(-) create mode 100644 .cursor/plans/file_chat_sidebar_368973cb.plan.md create mode 100644 .cursor/plans/reports_analytics_layer_d6cf8500.plan.md create mode 100644 .cursor/plans/sidebar_file_manager_02ed8b45.plan.md create mode 100644 apps/web/app/api/workspace/copy/route.ts create mode 100644 apps/web/app/api/workspace/mkdir/route.ts create mode 100644 apps/web/app/api/workspace/move/route.ts create mode 100644 apps/web/app/api/workspace/objects/[name]/display-field/route.ts create mode 100644 apps/web/app/api/workspace/rename/route.ts create mode 100644 apps/web/app/api/workspace/watch/route.ts create mode 100644 apps/web/app/components/chat-panel.tsx create mode 100644 apps/web/app/components/workspace/context-menu.tsx create mode 100644 apps/web/app/components/workspace/file-manager-tree.tsx create mode 100644 apps/web/app/components/workspace/inline-rename.tsx create mode 100644 apps/web/app/hooks/use-workspace-watcher.ts diff --git a/.cursor/plans/file_chat_sidebar_368973cb.plan.md b/.cursor/plans/file_chat_sidebar_368973cb.plan.md new file mode 100644 index 00000000000..a5e14610732 --- /dev/null +++ b/.cursor/plans/file_chat_sidebar_368973cb.plan.md @@ -0,0 +1,138 @@ +--- +name: File chat sidebar +overview: Add a collapsible chat sidebar to the workspace file view that lets users chat with the agent about the currently open file, with file-scoped sessions stored separately from the main chat list. +todos: + - id: extract-chat-panel + content: Extract ChatPanel component from page.tsx with fileContext prop support + status: in_progress + - id: simplify-home-page + content: Simplify page.tsx to render Sidebar + ChatPanel + status: pending + - id: tag-file-sessions + content: Add filePath field to WebSessionMeta and filtering to GET /api/web-sessions + status: pending + - id: workspace-chat-sidebar + content: Add collapsible ChatPanel sidebar to workspace page with file context + status: pending + - id: live-reload + content: Re-fetch file content after agent finishes streaming to show edits live + status: pending +isProject: false +--- + +# File Chat Sidebar for Workspace + +## Architecture + +The workspace page layout changes from `[sidebar | content]` to `[sidebar | content | chat-panel]`. The chat panel reuses the same `useChat` + `ChatMessage` + session persistence logic from the main chat page. + +```mermaid +graph LR + subgraph workspace [Workspace Page Layout] + WS[WorkspaceSidebar_260px] --> MC[MainContent_flex1] + MC --> CP[ChatPanel_380px] + end + subgraph storage [Session Storage] + idx[index.json] -->|filePath field| fileScoped[File-scoped sessions] + idx -->|no filePath| globalSessions[Global sessions] + end + CP -->|POST /api/chat| agent[Agent Runner] + CP -->|file context in message| agent +``` + +## Step 1: Extract `ChatPanel` from `page.tsx` + +Extract the entire chat UI (messages list, input form, session management, `useChat`, streaming status) from [apps/web/app/page.tsx](apps/web/app/page.tsx) into a new reusable component: + +**New file:** `apps/web/app/components/chat-panel.tsx` + +```typescript +type ChatPanelProps = { + /** When set, scopes sessions to this file and prepends content as context */ + fileContext?: { path: string; content: string; filename: string }; + /** External session list (for sidebar session list) */ + sessions?: WebSessionMeta[]; + onSessionsChange?: () => void; + /** Compact mode for workspace sidebar (no lobster, smaller empty state) */ + compact?: boolean; +}; +``` + +- Internally uses `useChat` from `@ai-sdk/react` with `DefaultChatTransport` +- Manages its own `currentSessionId`, `savedMessageIdsRef`, `input`, etc. (same logic as `page.tsx`) +- When `fileContext` is provided: + - The first message in each session is prefixed with: `"[Context: file '{path}']\n\n{content}\n\n---\n\nUser question: {userText}"` -- subsequent messages just send `userText` as-is (the agent already has context from the conversation) + - Session creation passes `filePath` to the API +- Renders: header bar (with session title / status), scrollable message list using `ChatMessage`, error bar, input form + +Then **simplify `page.tsx**` to just: + +```tsx + + +``` + +## Step 2: Tag file sessions in web-sessions API + +Modify [apps/web/app/api/web-sessions/route.ts](apps/web/app/api/web-sessions/route.ts): + +- Add optional `filePath` to `WebSessionMeta` type +- `POST` accepts `filePath` in the body and stores it in the index +- `GET` accepts `?filePath=...` query param: + - If `filePath` is set: returns only sessions where `meta.filePath === filePath` + - If `filePath` is absent: returns only sessions where `meta.filePath` is falsy (excludes file-scoped sessions from the main list) + +This single change means the main chat sidebar automatically stops showing file sessions, with no other code changes needed. + +## Step 3: Add chat sidebar to workspace page + +Modify [apps/web/app/workspace/page.tsx](apps/web/app/workspace/page.tsx): + +- Add a collapsible right panel (380px) that renders `ChatPanel` with `fileContext` +- The panel appears when a file or document is selected (content kinds: `"document"`, `"file"`) +- Add a toggle button in the breadcrumbs bar to show/hide the chat panel +- Pass the file's `content`, `path`, and `filename` as `fileContext` +- The panel shows a mini session list at top (file-scoped sessions only) and the chat below + +Layout becomes: + +``` ++------------------+------------------------+-------------------+ +| WorkspaceSidebar | Content (flex-1) | ChatPanel (380px) | +| (260px) | | [toggle] | ++------------------+------------------------+-------------------+ +``` + +## Step 4: File-scoped session list inside ChatPanel + +Inside `ChatPanel`, when `fileContext` is provided: + +- Fetch sessions filtered by `filePath` via `GET /api/web-sessions?filePath=...` +- Show a compact session list (just titles, clickable) above the messages area +- "New chat" button creates a new file-scoped session +- Selecting a session loads its messages (same logic as main page's `handleSessionSelect`) + +## Step 5: Live file reload after agent edits + +When the agent finishes streaming (status goes from `streaming` -> `ready`) and `fileContext` is provided: + +- Re-fetch the file content via `GET /api/workspace/file?path=...` +- Call a callback `onFileChanged?.(newContent)` so the workspace page can update `ContentState` without a full reload +- This makes edits appear live in the file viewer/document view next to the chat + +## Key files touched + +| File | Change | +| ---------------------------------------- | ------------------------------------ | +| `apps/web/app/components/chat-panel.tsx` | **New** -- extracted chat UI + logic | +| `apps/web/app/page.tsx` | Simplify to use `ChatPanel` | +| `apps/web/app/api/web-sessions/route.ts` | Add `filePath` field + filtering | +| `apps/web/app/workspace/page.tsx` | Add right chat sidebar with toggle | + +## What stays the same (reused as-is) + +- `ChatMessage` component -- no changes +- `ChainOfThought` component -- no changes +- `/api/chat` route + `agent-runner.ts` -- no changes (file context goes in the message text) +- `/api/web-sessions/[id]` and `/api/web-sessions/[id]/messages` routes -- no changes +- `useChat` from `@ai-sdk/react` -- same transport, same everything diff --git a/.cursor/plans/reports_analytics_layer_d6cf8500.plan.md b/.cursor/plans/reports_analytics_layer_d6cf8500.plan.md new file mode 100644 index 00000000000..c00ac4740c3 --- /dev/null +++ b/.cursor/plans/reports_analytics_layer_d6cf8500.plan.md @@ -0,0 +1,258 @@ +--- +name: Reports Analytics Layer +overview: "Add a generative-UI reports feature to the Dench web app: the agent creates JSON report definitions with SQL queries and chart configs, rendered live via Recharts in both the workspace view and inline in chat as artifacts." +todos: + - id: recharts-dep + content: Add recharts dependency to apps/web/package.json + status: completed + - id: chart-panel + content: Create ChartPanel component supporting bar/line/area/pie/donut/radar/scatter/funnel via Recharts with CSS variable theming + status: completed + - id: filter-bar + content: Create FilterBar component with dateRange, select, multiSelect filter types; fetches options via SQL + status: completed + - id: report-viewer + content: "Create ReportViewer component: loads report config, executes panel SQL with filter injection, renders ChartPanel grid" + status: completed + - id: report-execute-api + content: Create POST /api/workspace/reports/execute route for SQL execution with filter clause injection + status: completed + - id: workspace-report-type + content: Add report content type to workspace/page.tsx ContentState + ContentRenderer; detect .report.json in tree API + status: completed + - id: knowledge-tree-report + content: Add report node type + icon to knowledge-tree.tsx and tree/route.ts + status: completed + - id: chat-artifact + content: Modify chat-message.tsx to detect report-json fenced blocks and render inline ReportCard + status: completed + - id: report-card + content: Create ReportCard component for compact inline chart rendering in chat with Pin/Open actions + status: completed + - id: sidebar-reports + content: Add Reports section to sidebar.tsx listing .report.json files from workspace tree + status: completed + - id: skill-update + content: Add Section 13 (Report Generation) to skills/dench/SKILL.md with schema, examples, and agent instructions + status: completed +isProject: false +--- + +# Reports / Analytics Layer for Dench Workspace + +## Architecture + +Reports are **JSON config files** (`.report.json`) that declare SQL queries to run against `workspace.duckdb` and how to visualize the results. The web app executes SQL at render time (live data), renders charts via Recharts, and supports interactive filters. + +Reports surface in **three places**: + +1. **Workspace view** -- full-page report dashboard when clicking a report in the tree +2. **Chat** -- inline chart artifact when the agent generates a report in conversation +3. **Sidebar** -- reports listed under a new "Reports" section + +```mermaid +flowchart LR + subgraph agent [Agent] + skill[Dench Skill] + skill -->|"write .report.json"| fs[Filesystem] + skill -->|"emit report block in text"| chat[Chat Stream] + end + + subgraph web [Web App] + fs --> treeAPI["/api/workspace/tree"] + fs --> reportAPI["/api/workspace/reports"] + reportAPI --> execAPI["/api/workspace/query"] + execAPI --> duckdb["workspace.duckdb"] + + treeAPI --> sidebar[Sidebar + KnowledgeTree] + reportAPI --> workspaceView[ReportViewer in Workspace] + chat --> chatUI["ChatMessage with inline ReportCard"] + chatUI --> execAPI + workspaceView --> recharts[Recharts Charts] + chatUI --> recharts + end +``` + +--- + +## Report Definition Format + +Stored as `.report.json` files in `dench/reports/` (or nested under any knowledge path). Agent generates these via the `write` tool. + +```json +{ + "version": 1, + "title": "Deals Pipeline", + "description": "Revenue breakdown by stage and rep", + "panels": [ + { + "id": "deals-by-stage", + "title": "Deal Count by Stage", + "type": "bar", + "sql": "SELECT \"Stage\", COUNT(*) as count FROM v_deal GROUP BY \"Stage\" ORDER BY count DESC", + "mapping": { "xAxis": "Stage", "yAxis": ["count"] }, + "size": "half" + }, + { + "id": "revenue-trend", + "title": "Revenue Over Time", + "type": "area", + "sql": "SELECT DATE_TRUNC('month', created_at) as month, SUM(\"Amount\"::NUMERIC) as revenue FROM v_deal GROUP BY month ORDER BY month", + "mapping": { "xAxis": "month", "yAxis": ["revenue"] }, + "size": "half" + }, + { + "id": "stage-distribution", + "title": "Stage Distribution", + "type": "pie", + "sql": "SELECT \"Stage\", COUNT(*) as count FROM v_deal GROUP BY \"Stage\"", + "mapping": { "nameKey": "Stage", "valueKey": "count" }, + "size": "third" + } + ], + "filters": [ + { + "id": "date-range", + "type": "dateRange", + "label": "Date Range", + "column": "created_at" + }, + { + "id": "assigned-to", + "type": "select", + "label": "Assigned To", + "sql": "SELECT DISTINCT \"Assigned To\" as value FROM v_deal WHERE \"Assigned To\" IS NOT NULL", + "column": "Assigned To" + } + ] +} +``` + +**Chart types supported:** `bar`, `line`, `area`, `pie`, `donut`, `radar`, `radialBar`, `scatter`, `funnel`. +**Panel sizes:** `full`, `half`, `third` (CSS grid layout). +**Filter types:** `dateRange`, `select`, `multiSelect`, `number`. + +When filters are active, they inject `WHERE` clauses into each panel's SQL before execution. + +--- + +## Phase 1: Recharts + Report Viewer Component + +**Add Recharts dependency:** + +- [apps/web/package.json](apps/web/package.json) -- add `recharts` to dependencies + +**New components** (all in `apps/web/app/components/charts/`): + +- `**chart-panel.tsx**` -- Wrapper that takes a panel config + data rows, renders the correct Recharts chart (Bar, Line, Area, Pie, etc.). Uses the app's CSS variable palette for theming (`--color-accent`, `--color-text`, `--color-border`). One component, switch on `panel.type`. +- `**filter-bar.tsx**` -- Horizontal filter strip. Reads filter configs from the report, fetches options for `select` type filters via SQL, renders date pickers / dropdowns. Emits active filter state upward. +- `**report-viewer.tsx**` -- Full report dashboard. Fetches report config (from file or prop), iterates panels, executes each panel's SQL (with filter injection), renders `ChartPanel` components in a CSS grid (`size` controls column span). Includes a header with title/description and the filter bar. + +--- + +## Phase 2: Workspace Integration + +**Extend content types** in [apps/web/app/workspace/page.tsx](apps/web/app/workspace/page.tsx): + +- Add `report` to the `ContentState` union: `{ kind: "report"; reportPath: string; filename: string }` +- Add `report` case to `ContentRenderer` that renders `ReportViewer` +- In `loadContent`, detect `.report.json` files and load as `report` kind + +**Extend knowledge tree** in [apps/web/app/components/workspace/knowledge-tree.tsx](apps/web/app/components/workspace/knowledge-tree.tsx): + +- Add `"report"` to the `TreeNode.type` union +- Add report icon (bar chart icon) to `NodeTypeIcon` + +**Extend tree API** in [apps/web/app/api/workspace/tree/route.ts](apps/web/app/api/workspace/tree/route.ts): + +- Detect `.report.json` files and assign them `type: "report"` in the tree + +**New API route** -- `apps/web/app/api/workspace/reports/execute/route.ts`: + +- POST `{ sql: string, filters?: FilterState }` -- injects filter WHERE clauses into SQL, executes via `duckdbQuery`, returns rows +- This is separate from the generic query endpoint because it handles filter injection safely + +--- + +## Phase 3: Chat Artifact (Inline Reports) + +**Report block convention in agent text:** +The agent emits a fenced code block with language `report-json` containing the report JSON. Example in the streamed text: + +```` +Here's your pipeline analysis: + +```report-json +{"version":1,"title":"Deals by Stage","panels":[...]} +```` + +The data shows most deals are in the Discovery stage. + +````` + +**Modify [apps/web/app/components/chat-message.tsx](apps/web/app/components/chat-message.tsx):** + +- In `groupParts`, detect text segments containing ````report-json ... ```` blocks +- Split text around report blocks into `text` and `report-artifact` segments +- New segment type: `{ type: "report-artifact"; config: ReportConfig }` + +**New component** -- `apps/web/app/components/charts/report-card.tsx`: + +- Compact inline report card rendered inside chat bubbles +- Shows report title + a subset of panels (auto-sized to fit chat width) +- "Open in Workspace" button that saves to filesystem + navigates +- "Pin" action to persist an ephemeral chat report as a `.report.json` file + +--- + +## Phase 4: Sidebar Reports Section + +**Modify [apps/web/app/components/sidebar.tsx](apps/web/app/components/sidebar.tsx):** + +- Add "Reports" as a new `SidebarSection` (between Workspace and Memories) +- Fetch report list from `/api/workspace/tree` (filter for `type: "report"` nodes) +- Each report links to `/workspace?path=reports/{name}.report.json` +- Show chart icon + report title + +--- + +## Phase 5: Dench Skill Updates + +**Modify [skills/dench/SKILL.md](skills/dench/SKILL.md):** + +- Add Section 13: Report Generation +- Document the `.report.json` format with full schema reference +- Provide example reports for common CRM analytics: + - Pipeline funnel (deals by stage) + - Revenue trend over time + - Lead source breakdown + - Activity/task completion rates + - Contact growth over time +- Instruct the agent to: + - Create reports in `reports/` directory + - Use the existing `v_{object}` PIVOT views in SQL queries + - Include relevant filters (date range, assignee, status) + - Emit `report-json` blocks in chat for inline rendering + - Choose appropriate chart types for the data shape +- Add a "Post-Report Checklist" matching the existing post-mutation pattern + +--- + +## File Summary + + +| Action | File | +| ------ | -------------------------------------------------------------------- | +| Modify | `apps/web/package.json` (add recharts) | +| Create | `apps/web/app/components/charts/chart-panel.tsx` | +| Create | `apps/web/app/components/charts/report-viewer.tsx` | +| Create | `apps/web/app/components/charts/report-card.tsx` | +| Create | `apps/web/app/components/charts/filter-bar.tsx` | +| Create | `apps/web/app/api/workspace/reports/execute/route.ts` | +| Modify | `apps/web/app/workspace/page.tsx` (add report content type) | +| Modify | `apps/web/app/components/chat-message.tsx` (detect report blocks) | +| Modify | `apps/web/app/components/sidebar.tsx` (Reports section) | +| Modify | `apps/web/app/components/workspace/knowledge-tree.tsx` (report node) | +| Modify | `apps/web/app/api/workspace/tree/route.ts` (detect .report.json) | +| Modify | `skills/dench/SKILL.md` (report generation instructions) | +````` diff --git a/.cursor/plans/sidebar_file_manager_02ed8b45.plan.md b/.cursor/plans/sidebar_file_manager_02ed8b45.plan.md new file mode 100644 index 00000000000..bc5d5719c90 --- /dev/null +++ b/.cursor/plans/sidebar_file_manager_02ed8b45.plan.md @@ -0,0 +1,282 @@ +--- +name: Sidebar File Manager +overview: Transform the workspace file tree sidebar (both on `/` home and `/workspace` pages) into a full-fledged file system manager with context menus, drag-and-drop file moves, create/delete/rename operations, system file locking, and live reactivity -- modeled after macOS Finder. +todos: + - id: api-system-files + content: Add isSystemFile() to lib/workspace.ts, extend safeResolvePath to support non-existent target paths + status: pending + - id: api-delete + content: Add DELETE handler to /api/workspace/file/route.ts with system file protection + status: pending + - id: api-rename + content: Create /api/workspace/rename/route.ts (POST) with validation and system file protection + status: pending + - id: api-move + content: Create /api/workspace/move/route.ts (POST) for drag-and-drop moves + status: pending + - id: api-mkdir + content: Create /api/workspace/mkdir/route.ts (POST) for creating new directories + status: pending + - id: api-copy + content: Create /api/workspace/copy/route.ts (POST) for duplicating files/folders + status: pending + - id: api-watch + content: Create /api/workspace/watch/route.ts SSE endpoint using chokidar for live file events + status: pending + - id: install-dndkit + content: Install @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities in apps/web + status: pending + - id: context-menu + content: "Build context-menu.tsx: portal-based right-click menu with Finder-like options, system file lock states" + status: pending + - id: inline-rename + content: "Build inline-rename.tsx: double-click/F2 to rename in-place with validation" + status: pending + - id: file-manager-tree + content: "Build file-manager-tree.tsx: unified DnD tree wrapping context menu, inline rename, drag-drop, keyboard shortcuts" + status: pending + - id: sse-hook + content: "Build useWorkspaceWatcher hook: SSE connection with debounced tree refetch and auto-reconnect" + status: pending + - id: integrate-workspace-sidebar + content: Replace KnowledgeTree with FileManagerTree in workspace-sidebar.tsx + status: pending + - id: integrate-home-sidebar + content: Replace WorkspaceTreeNode in sidebar.tsx with FileManagerTree (compact mode) + status: pending + - id: integrate-workspace-page + content: Wire workspace/page.tsx to useWorkspaceWatcher for live-reactive tree state + status: pending + - id: keyboard-shortcuts + content: Add keyboard navigation and file operation shortcuts to FileManagerTree + status: pending +isProject: false +--- + +# Full File System Manager Sidebar + +## Current State + +Two sidebar trees render workspace files read-only: + +- **Home sidebar** (`[apps/web/app/components/sidebar.tsx](apps/web/app/components/sidebar.tsx)`): `WorkspaceSection` / `WorkspaceTreeNode` -- compact tree inside collapsible section +- **Workspace sidebar** (`[apps/web/app/components/workspace/workspace-sidebar.tsx](apps/web/app/components/workspace/workspace-sidebar.tsx)`): wraps `KnowledgeTree` from `[knowledge-tree.tsx](apps/web/app/components/workspace/knowledge-tree.tsx)` + +Both fetch from `GET /api/workspace/tree` (`[apps/web/app/api/workspace/tree/route.ts](apps/web/app/api/workspace/tree/route.ts)`). File read/write exists at `/api/workspace/file` (`[apps/web/app/api/workspace/file/route.ts](apps/web/app/api/workspace/file/route.ts)`). No delete, rename, move, mkdir, or copy endpoints exist. No context menus, drag-and-drop, or live refresh. + +## Architecture + +```mermaid +flowchart TD + subgraph frontend [Frontend Components] + ContextMenu[ContextMenu Component] + FileTree[FileTree - Unified Tree with DnD] + InlineRename[Inline Rename Input] + NewFileDialog[New File/Folder Prompt] + end + + subgraph api [API Routes - apps/web/app/api/workspace/] + TreeRoute[GET /tree] + FileRoute[GET+POST /file] + DeleteRoute[DELETE /file] + RenameRoute[POST /rename] + MoveRoute[POST /move] + MkdirRoute[POST /mkdir] + CopyRoute[POST /copy] + WatchRoute[GET /watch - SSE] + end + + subgraph fsLib [lib/workspace.ts] + SafeResolve[safeResolvePath] + IsSystemFile[isSystemFile] + end + + FileTree -->|right-click| ContextMenu + FileTree -->|drag-drop| MoveRoute + ContextMenu -->|"New File/Folder"| MkdirRoute + ContextMenu -->|Delete| DeleteRoute + ContextMenu -->|Rename| InlineRename + ContextMenu -->|Duplicate| CopyRoute + ContextMenu -->|"Move to..."| MoveRoute + InlineRename --> RenameRoute + NewFileDialog --> MkdirRoute + NewFileDialog --> FileRoute + + DeleteRoute --> SafeResolve + RenameRoute --> SafeResolve + MoveRoute --> SafeResolve + CopyRoute --> SafeResolve + DeleteRoute --> IsSystemFile + RenameRoute --> IsSystemFile + MoveRoute --> IsSystemFile + + WatchRoute -->|"SSE events"| FileTree +``` + +## 1. New Backend API Endpoints + +Add to `[apps/web/app/api/workspace/](apps/web/app/api/workspace/)`: + +`**DELETE /api/workspace/file**` - Delete a file or folder + +- Body: `{ path: string }` +- Reject if `isSystemFile(path)` returns true +- Use `fs.rmSync(absPath, { recursive: true })` for folders + +`**POST /api/workspace/rename**` - Rename a file or folder (new route file) + +- Body: `{ path: string, newName: string }` +- Reject system files; validate newName (no slashes, no `.` prefix for non-system) +- Use `fs.renameSync(oldAbs, newAbs)` where newAbs replaces only the basename + +`**POST /api/workspace/move**` - Move a file/folder to a new parent (new route file) + +- Body: `{ sourcePath: string, destinationDir: string }` +- Reject system files; validate destination exists and is a directory +- Use `fs.renameSync(srcAbs, join(destAbs, basename(srcAbs)))` + +`**POST /api/workspace/mkdir**` - Create a directory (new route file) + +- Body: `{ path: string }` +- Use `fs.mkdirSync(absPath, { recursive: true })` + +`**POST /api/workspace/copy**` - Duplicate a file or folder (new route file) + +- Body: `{ path: string, destinationPath?: string }` +- If no destination, auto-name as ` copy.` +- Use `fs.cpSync` for recursive copy + +`**GET /api/workspace/watch**` - SSE endpoint for live changes (new route file) + +- Uses `chokidar` to watch the dench workspace root +- Streams SSE events: `{ type: "add"|"change"|"unlink"|"addDir"|"unlinkDir", path: string }` +- Client reconnects on close; debounce events (200ms) + +### System File Protection + +Add to `[apps/web/lib/workspace.ts](apps/web/lib/workspace.ts)`: + +```typescript +const SYSTEM_FILE_PATTERNS = [ + /^\.object\.yaml$/, + /^workspace\.duckdb/, + /^workspace_context\.yaml$/, + /\.wal$/, + /\.tmp$/, +]; + +export function isSystemFile(relativePath: string): boolean { + const basename = relativePath.split("/").pop() ?? ""; + return SYSTEM_FILE_PATTERNS.some((p) => p.test(basename)); +} +``` + +Extend `safeResolvePath` to optionally accept a `mustExist: false` flag (currently returns null for non-existent paths, but mkdir/create need paths that don't exist yet). + +## 2. Context Menu Component + +Create `[apps/web/app/components/workspace/context-menu.tsx](apps/web/app/components/workspace/context-menu.tsx)`: + +- Pure CSS + React portal-based context menu (no library, matches the zero-dep approach) +- Positioned at cursor coordinates, clamped to viewport +- Closes on click-outside, Escape, or scroll +- Menu items with icons, keyboard shortcut hints, separators, and disabled states + +**Menu structure** (mirrors Finder): + +| For files | For folders | For empty area | +| ---------- | -------------------- | -------------- | +| Open | Open | New File | +| Rename | New File inside... | New Folder | +| Duplicate | New Folder inside... | Paste | +| Copy | Rename | --- | +| Move to... | Duplicate | --- | +| --- | Copy | --- | +| Get Info | Move to... | --- | +| --- | --- | --- | +| Delete | Delete | --- | + +System files (`.object.yaml`, `workspace.duckdb`) show the same menu but all mutating actions are **disabled** with a lock icon and "System file" tooltip. + +## 3. Drag-and-Drop for File Moves + +Install `@dnd-kit/core` + `@dnd-kit/sortable` + `@dnd-kit/utilities` (lightweight, ~15KB gzipped, React 19 compatible). + +Create `[apps/web/app/components/workspace/dnd-file-tree.tsx](apps/web/app/components/workspace/dnd-file-tree.tsx)`: + +- Each tree node is both a **draggable** and a **droppable** (folders accept drops) +- Drag overlay shows a ghost of the file/folder name with icon +- Drop targets highlight with accent border when hovered +- On drop: call `POST /api/workspace/move` with `{ sourcePath, destinationDir }` +- System files: draggable is **disabled** (visual lock indicator) +- Folder auto-expand on hover during drag (300ms delay) +- Drop validation: prevent dropping a folder into itself or its children + +## 4. Inline Rename + +- Double-click or press Enter/F2 on a selected node to enter rename mode +- Replace the label `` with a controlled `` pre-filled with the current name +- Commit on Enter or blur; cancel on Escape +- Call `POST /api/workspace/rename` on commit +- Shake animation + red border on validation error (empty name, invalid chars, name collision) + +## 5. Unified FileManagerTree Component + +Refactor `[knowledge-tree.tsx](apps/web/app/components/workspace/knowledge-tree.tsx)` into a new `FileManagerTree` that wraps DnD + context menu + inline rename: + +``` +FileManagerTree (DndContext provider + SSE watcher) + └─ FileManagerNode (draggable + droppable + onContextMenu + double-click rename) + ├─ ChevronIcon + ├─ NodeIcon (+ lock badge for system files) + ├─ InlineRenameInput | Label + └─ Children (recursive) +``` + +Both sidebars (`sidebar.tsx` WorkspaceSection and `workspace-sidebar.tsx`) will use this unified component, passing a `compact` prop to control spacing/features for the home sidebar (e.g., hide "Get Info", simpler context menu). + +## 6. Live Reactivity (SSE) + +Create a `useWorkspaceWatcher` hook in `[apps/web/app/hooks/use-workspace-watcher.ts](apps/web/app/hooks/use-workspace-watcher.ts)`: + +- Opens an `EventSource` to `GET /api/workspace/watch` +- On any file event, debounces and refetches the tree from `/api/workspace/tree` +- Provides `tree`, `loading`, and `refresh()` to consumers +- Auto-reconnects with exponential backoff (1s, 2s, 4s, max 30s) +- Falls back to polling every 5s if SSE fails + +Both sidebars and the workspace page will use this hook for shared, reactive tree state. + +## 7. Keyboard Shortcuts + +In the `FileManagerTree`, attach keyboard handlers on the focused tree container: + +- **Delete / Backspace**: Delete selected item (with confirmation dialog) +- **Enter / F2**: Start inline rename +- **Cmd+C**: Copy path to clipboard +- **Cmd+D**: Duplicate +- **Cmd+N**: New file in current folder +- **Cmd+Shift+N**: New folder in current folder +- **Arrow keys**: Navigate tree up/down, expand/collapse with left/right +- **Space**: Quick Look / preview toggle (future) + +## Files Changed + +| File | Action | +| --------------------------------------------------------- | -------------------------------------------------------------- | +| `apps/web/package.json` | Add `@dnd-kit/core`, `@dnd-kit/sortable`, `@dnd-kit/utilities` | +| `apps/web/lib/workspace.ts` | Add `isSystemFile()`, extend `safeResolvePath` | +| `apps/web/app/api/workspace/file/route.ts` | Add `DELETE` handler | +| `apps/web/app/api/workspace/rename/route.ts` | New -- rename endpoint | +| `apps/web/app/api/workspace/move/route.ts` | New -- move endpoint | +| `apps/web/app/api/workspace/mkdir/route.ts` | New -- mkdir endpoint | +| `apps/web/app/api/workspace/copy/route.ts` | New -- copy endpoint | +| `apps/web/app/api/workspace/watch/route.ts` | New -- SSE file watcher | +| `apps/web/app/components/workspace/context-menu.tsx` | New -- right-click menu | +| `apps/web/app/components/workspace/file-manager-tree.tsx` | New -- unified DnD + context menu tree | +| `apps/web/app/components/workspace/inline-rename.tsx` | New -- inline rename input | +| `apps/web/app/hooks/use-workspace-watcher.ts` | New -- SSE watcher hook | +| `apps/web/app/components/workspace/knowledge-tree.tsx` | Refactor into file-manager-tree | +| `apps/web/app/components/workspace/workspace-sidebar.tsx` | Use new FileManagerTree | +| `apps/web/app/components/sidebar.tsx` | Use new FileManagerTree (compact mode) | +| `apps/web/app/workspace/page.tsx` | Use `useWorkspaceWatcher` hook | diff --git a/apps/web/app/api/web-sessions/route.ts b/apps/web/app/api/web-sessions/route.ts index a07455e6e46..3327e74a81c 100644 --- a/apps/web/app/api/web-sessions/route.ts +++ b/apps/web/app/api/web-sessions/route.ts @@ -14,6 +14,8 @@ export type WebSessionMeta = { createdAt: number; updatedAt: number; messageCount: number; + /** When set, this session is scoped to a specific workspace file. */ + filePath?: string; }; function ensureDir() { @@ -24,7 +26,7 @@ function ensureDir() { function readIndex(): WebSessionMeta[] { ensureDir(); - if (!existsSync(INDEX_FILE)) return []; + if (!existsSync(INDEX_FILE)) {return [];} try { return JSON.parse(readFileSync(INDEX_FILE, "utf-8")); } catch { @@ -37,9 +39,18 @@ function writeIndex(sessions: WebSessionMeta[]) { writeFileSync(INDEX_FILE, JSON.stringify(sessions, null, 2)); } -/** GET /api/web-sessions — list all web chat sessions */ -export async function GET() { - const sessions = readIndex(); +/** GET /api/web-sessions — list web chat sessions. + * ?filePath=... → returns only sessions scoped to that file. + * No filePath → returns only global (non-file) sessions. */ +export async function GET(req: Request) { + const url = new URL(req.url); + const filePath = url.searchParams.get("filePath"); + + const all = readIndex(); + const sessions = filePath + ? all.filter((s) => s.filePath === filePath) + : all.filter((s) => !s.filePath); + return Response.json({ sessions }); } @@ -53,6 +64,7 @@ export async function POST(req: Request) { createdAt: Date.now(), updatedAt: Date.now(), messageCount: 0, + ...(body.filePath ? { filePath: body.filePath } : {}), }; const sessions = readIndex(); diff --git a/apps/web/app/api/workspace/copy/route.ts b/apps/web/app/api/workspace/copy/route.ts new file mode 100644 index 00000000000..9623f8f2b2c --- /dev/null +++ b/apps/web/app/api/workspace/copy/route.ts @@ -0,0 +1,77 @@ +import { cpSync, existsSync, statSync } from "node:fs"; +import { dirname, basename, extname, join } from "node:path"; +import { safeResolvePath, safeResolveNewPath, isSystemFile } from "@/lib/workspace"; + +export const dynamic = "force-dynamic"; +export const runtime = "nodejs"; + +/** + * POST /api/workspace/copy + * Body: { path: string, destinationPath?: string } + * + * Duplicates a file or folder. If no destinationPath is provided, + * creates a copy next to the original with " copy" appended. + */ +export async function POST(req: Request) { + let body: { path?: string; destinationPath?: string }; + try { + body = await req.json(); + } catch { + return Response.json({ error: "Invalid JSON body" }, { status: 400 }); + } + + const { path: relPath, destinationPath } = body; + if (!relPath || typeof relPath !== "string") { + return Response.json( + { error: "Missing 'path' field" }, + { status: 400 }, + ); + } + + const srcAbs = safeResolvePath(relPath); + if (!srcAbs) { + return Response.json( + { error: "Source not found or path traversal rejected" }, + { status: 404 }, + ); + } + + let destRelPath: string; + if (destinationPath && typeof destinationPath === "string") { + destRelPath = destinationPath; + } else { + // Auto-generate "name copy.ext" or "name copy" for folders + const name = basename(relPath); + const dir = dirname(relPath); + const ext = extname(name); + const stem = ext ? name.slice(0, -ext.length) : name; + const copyName = ext ? `${stem} copy${ext}` : `${stem} copy`; + destRelPath = dir === "." ? copyName : `${dir}/${copyName}`; + } + + const destAbs = safeResolveNewPath(destRelPath); + if (!destAbs) { + return Response.json( + { error: "Invalid destination path" }, + { status: 400 }, + ); + } + + if (existsSync(destAbs)) { + return Response.json( + { error: "Destination already exists" }, + { status: 409 }, + ); + } + + try { + const isDir = statSync(srcAbs).isDirectory(); + cpSync(srcAbs, destAbs, { recursive: isDir }); + return Response.json({ ok: true, sourcePath: relPath, newPath: destRelPath }); + } catch (err) { + return Response.json( + { error: err instanceof Error ? err.message : "Copy failed" }, + { status: 500 }, + ); + } +} diff --git a/apps/web/app/api/workspace/file/route.ts b/apps/web/app/api/workspace/file/route.ts index f667bc92f62..6f51a6be274 100644 --- a/apps/web/app/api/workspace/file/route.ts +++ b/apps/web/app/api/workspace/file/route.ts @@ -1,6 +1,6 @@ -import { writeFileSync, mkdirSync } from "node:fs"; +import { writeFileSync, mkdirSync, rmSync, statSync } from "node:fs"; import { dirname } from "node:path"; -import { readWorkspaceFile, safeResolvePath } from "@/lib/workspace"; +import { readWorkspaceFile, safeResolvePath, safeResolveNewPath, isSystemFile } from "@/lib/workspace"; export const dynamic = "force-dynamic"; export const runtime = "nodejs"; @@ -49,7 +49,8 @@ export async function POST(req: Request) { ); } - const absPath = safeResolvePath(relPath); + // Use safeResolveNewPath (not safeResolvePath) because the file may not exist yet + const absPath = safeResolveNewPath(relPath); if (!absPath) { return Response.json( { error: "Invalid path or path traversal rejected" }, @@ -68,3 +69,53 @@ export async function POST(req: Request) { ); } } + +/** + * DELETE /api/workspace/file + * Body: { path: string } + * + * Deletes a file or folder from the dench workspace. + * System files (.object.yaml, workspace.duckdb, etc.) are protected. + */ +export async function DELETE(req: Request) { + let body: { path?: string }; + try { + body = await req.json(); + } catch { + return Response.json({ error: "Invalid JSON body" }, { status: 400 }); + } + + const { path: relPath } = body; + if (!relPath || typeof relPath !== "string") { + return Response.json( + { error: "Missing 'path' field" }, + { status: 400 }, + ); + } + + if (isSystemFile(relPath)) { + return Response.json( + { error: "Cannot delete system file" }, + { status: 403 }, + ); + } + + const absPath = safeResolvePath(relPath); + if (!absPath) { + return Response.json( + { error: "File not found or path traversal rejected" }, + { status: 404 }, + ); + } + + try { + const stat = statSync(absPath); + rmSync(absPath, { recursive: stat.isDirectory() }); + return Response.json({ ok: true, path: relPath }); + } catch (err) { + return Response.json( + { error: err instanceof Error ? err.message : "Delete failed" }, + { status: 500 }, + ); + } +} diff --git a/apps/web/app/api/workspace/mkdir/route.ts b/apps/web/app/api/workspace/mkdir/route.ts new file mode 100644 index 00000000000..2414acdf594 --- /dev/null +++ b/apps/web/app/api/workspace/mkdir/route.ts @@ -0,0 +1,53 @@ +import { mkdirSync, existsSync } from "node:fs"; +import { safeResolveNewPath } from "@/lib/workspace"; + +export const dynamic = "force-dynamic"; +export const runtime = "nodejs"; + +/** + * POST /api/workspace/mkdir + * Body: { path: string } + * + * Creates a new directory in the dench workspace. + */ +export async function POST(req: Request) { + let body: { path?: string }; + try { + body = await req.json(); + } catch { + return Response.json({ error: "Invalid JSON body" }, { status: 400 }); + } + + const { path: relPath } = body; + if (!relPath || typeof relPath !== "string") { + return Response.json( + { error: "Missing 'path' field" }, + { status: 400 }, + ); + } + + const absPath = safeResolveNewPath(relPath); + if (!absPath) { + return Response.json( + { error: "Invalid path or path traversal rejected" }, + { status: 400 }, + ); + } + + if (existsSync(absPath)) { + return Response.json( + { error: "Directory already exists" }, + { status: 409 }, + ); + } + + try { + mkdirSync(absPath, { recursive: true }); + return Response.json({ ok: true, path: relPath }); + } catch (err) { + return Response.json( + { error: err instanceof Error ? err.message : "mkdir failed" }, + { status: 500 }, + ); + } +} diff --git a/apps/web/app/api/workspace/move/route.ts b/apps/web/app/api/workspace/move/route.ts new file mode 100644 index 00000000000..4223b260990 --- /dev/null +++ b/apps/web/app/api/workspace/move/route.ts @@ -0,0 +1,93 @@ +import { renameSync, existsSync, statSync } from "node:fs"; +import { join, basename } from "node:path"; +import { safeResolvePath, safeResolveNewPath, isSystemFile } from "@/lib/workspace"; + +export const dynamic = "force-dynamic"; +export const runtime = "nodejs"; + +/** + * POST /api/workspace/move + * Body: { sourcePath: string, destinationDir: string } + * + * Moves a file or folder into a different directory. + * System files are protected from moving. + */ +export async function POST(req: Request) { + let body: { sourcePath?: string; destinationDir?: string }; + try { + body = await req.json(); + } catch { + return Response.json({ error: "Invalid JSON body" }, { status: 400 }); + } + + const { sourcePath, destinationDir } = body; + if (!sourcePath || typeof sourcePath !== "string" || !destinationDir || typeof destinationDir !== "string") { + return Response.json( + { error: "Missing 'sourcePath' and 'destinationDir' fields" }, + { status: 400 }, + ); + } + + if (isSystemFile(sourcePath)) { + return Response.json( + { error: "Cannot move system file" }, + { status: 403 }, + ); + } + + const srcAbs = safeResolvePath(sourcePath); + if (!srcAbs) { + return Response.json( + { error: "Source not found or path traversal rejected" }, + { status: 404 }, + ); + } + + const destDirAbs = safeResolvePath(destinationDir); + if (!destDirAbs) { + return Response.json( + { error: "Destination not found or path traversal rejected" }, + { status: 404 }, + ); + } + + // Destination must be a directory + if (!statSync(destDirAbs).isDirectory()) { + return Response.json( + { error: "Destination is not a directory" }, + { status: 400 }, + ); + } + + // Prevent moving a folder into itself or its children + const srcAbsNorm = srcAbs + "/"; + if (destDirAbs.startsWith(srcAbsNorm) || destDirAbs === srcAbs) { + return Response.json( + { error: "Cannot move a folder into itself" }, + { status: 400 }, + ); + } + + const itemName = basename(srcAbs); + const destAbs = join(destDirAbs, itemName); + + if (existsSync(destAbs)) { + return Response.json( + { error: `'${itemName}' already exists in destination` }, + { status: 409 }, + ); + } + + // Build new relative path + const newRelPath = destinationDir === "." ? itemName : `${destinationDir}/${itemName}`; + + try { + renameSync(srcAbs, destAbs); + return Response.json({ ok: true, oldPath: sourcePath, newPath: newRelPath }); + } catch (err) { + return Response.json( + { error: err instanceof Error ? err.message : "Move failed" }, + { status: 500 }, + ); + } +} diff --git a/apps/web/app/api/workspace/objects/[name]/display-field/route.ts b/apps/web/app/api/workspace/objects/[name]/display-field/route.ts new file mode 100644 index 00000000000..2f34545a0cb --- /dev/null +++ b/apps/web/app/api/workspace/objects/[name]/display-field/route.ts @@ -0,0 +1,82 @@ +import { duckdbQuery, duckdbPath, duckdbExec } from "@/lib/workspace"; + +export const dynamic = "force-dynamic"; +export const runtime = "nodejs"; + +/** + * PATCH /api/workspace/objects/[name]/display-field + * Set which field is used as the display label for entries of this object. + * Body: { displayField: string } + */ +export async function PATCH( + req: Request, + { params }: { params: Promise<{ name: string }> }, +) { + const { name } = await params; + + if (!duckdbPath()) { + return Response.json( + { error: "DuckDB database not found" }, + { status: 404 }, + ); + } + + if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(name)) { + return Response.json( + { error: "Invalid object name" }, + { status: 400 }, + ); + } + + const body = await req.json(); + const { displayField } = body; + + if (typeof displayField !== "string" || !displayField.trim()) { + return Response.json( + { error: "displayField must be a non-empty string" }, + { status: 400 }, + ); + } + + // Ensure display_field column exists + duckdbExec( + "ALTER TABLE objects ADD COLUMN IF NOT EXISTS display_field VARCHAR", + ); + + // Verify the object exists + const objects = duckdbQuery<{ id: string }>( + `SELECT id FROM objects WHERE name = '${name}' LIMIT 1`, + ); + if (objects.length === 0) { + return Response.json( + { error: `Object '${name}' not found` }, + { status: 404 }, + ); + } + + // Verify the field exists on this object + const escapedField = displayField.replace(/'/g, "''"); + const fieldCheck = duckdbQuery<{ id: string }>( + `SELECT id FROM fields WHERE object_id = '${objects[0].id}' AND name = '${escapedField}' LIMIT 1`, + ); + if (fieldCheck.length === 0) { + return Response.json( + { error: `Field '${displayField}' not found on object '${name}'` }, + { status: 400 }, + ); + } + + // Update the display_field + const success = duckdbExec( + `UPDATE objects SET display_field = '${escapedField}', updated_at = now() WHERE name = '${name}'`, + ); + + if (!success) { + return Response.json( + { error: "Failed to update display field" }, + { status: 500 }, + ); + } + + return Response.json({ ok: true, displayField }); +} diff --git a/apps/web/app/api/workspace/objects/[name]/route.ts b/apps/web/app/api/workspace/objects/[name]/route.ts index 3e4f4b0ddc7..086abf6f4c6 100644 --- a/apps/web/app/api/workspace/objects/[name]/route.ts +++ b/apps/web/app/api/workspace/objects/[name]/route.ts @@ -1,4 +1,4 @@ -import { duckdbQuery, duckdbPath } from "@/lib/workspace"; +import { duckdbQuery, duckdbPath, duckdbExec, parseRelationValue } from "@/lib/workspace"; export const dynamic = "force-dynamic"; export const runtime = "nodejs"; @@ -9,6 +9,7 @@ type ObjectRow = { description?: string; icon?: string; default_view?: string; + display_field?: string; immutable?: boolean; created_at?: string; updated_at?: string; @@ -44,18 +45,25 @@ type EavRow = { value: string | null; }; +// --- Schema migration (idempotent, runs once per process) --- + +let schemaMigrated = false; + +function ensureDisplayFieldColumn() { + if (schemaMigrated) {return;} + duckdbExec( + "ALTER TABLE objects ADD COLUMN IF NOT EXISTS display_field VARCHAR", + ); + schemaMigrated = true; +} + +// --- Helpers --- + /** * Pivot raw EAV rows into one object per entry with field names as keys. - * Input: [{ entry_id, field_name, value }, ...] - * Output: [{ entry_id, "Full Name": "Sarah", "Email": "sarah@..." }, ...] */ -function pivotEavRows( - rows: EavRow[], -): Record[] { - const grouped = new Map< - string, - Record - >(); +function pivotEavRows(rows: EavRow[]): Record[] { + const grouped = new Map>(); for (const row of rows) { let entry = grouped.get(row.entry_id); @@ -75,6 +83,232 @@ function pivotEavRows( return Array.from(grouped.values()); } +function tryParseJson(value: unknown): unknown { + if (typeof value !== "string") {return value;} + try { + return JSON.parse(value); + } catch { + return value; + } +} + +/** SQL-escape a string (double single-quotes). */ +function sqlEscape(s: string): string { + return s.replace(/'/g, "''"); +} + +/** + * Determine the display field for an object. + * Priority: explicit display_field > heuristic (name/title) > first text field > first field. + */ +function resolveDisplayField( + obj: ObjectRow, + objFields: FieldRow[], +): string { + if (obj.display_field) {return obj.display_field;} + + // Heuristic: look for name/title fields + const nameField = objFields.find( + (f) => + /\bname\b/i.test(f.name) || /\btitle\b/i.test(f.name), + ); + if (nameField) {return nameField.name;} + + // Fallback: first text field + const textField = objFields.find((f) => f.type === "text"); + if (textField) {return textField.name;} + + // Ultimate fallback: first field + return objFields[0]?.name ?? "id"; +} + +/** + * Resolve relation field values to human-readable display labels. + * Returns: { fieldName: { entryId: displayLabel } } + */ +function resolveRelationLabels( + fields: FieldRow[], + entries: Record[], +): { + labels: Record>; + relatedObjectNames: Record; +} { + const labels: Record> = {}; + const relatedObjectNames: Record = {}; + + const relationFields = fields.filter( + (f) => f.type === "relation" && f.related_object_id, + ); + + for (const rf of relationFields) { + const relatedObjs = duckdbQuery( + `SELECT * FROM objects WHERE id = '${sqlEscape(rf.related_object_id!)}' LIMIT 1`, + ); + if (relatedObjs.length === 0) {continue;} + const relObj = relatedObjs[0]; + relatedObjectNames[rf.name] = relObj.name; + + // Get related object's fields for display field resolution + const relFields = duckdbQuery( + `SELECT * FROM fields WHERE object_id = '${sqlEscape(relObj.id)}' ORDER BY sort_order`, + ); + const displayFieldName = resolveDisplayField(relObj, relFields); + + // Collect all referenced entry IDs from our entries + const entryIds = new Set(); + for (const entry of entries) { + const val = entry[rf.name]; + if (val == null || val === "") {continue;} + for (const id of parseRelationValue(String(val))) { + entryIds.add(id); + } + } + + if (entryIds.size === 0) { + labels[rf.name] = {}; + continue; + } + + // Query display values for the referenced entries + const idList = Array.from(entryIds) + .map((id) => `'${sqlEscape(id)}'`) + .join(","); + const displayRows = duckdbQuery<{ + entry_id: string; + value: string; + }>( + `SELECT e.id as entry_id, ef.value + FROM entries e + JOIN entry_fields ef ON ef.entry_id = e.id + JOIN fields f ON f.id = ef.field_id + WHERE e.id IN (${idList}) + AND f.object_id = '${sqlEscape(relObj.id)}' + AND f.name = '${sqlEscape(displayFieldName)}'`, + ); + + const labelMap: Record = {}; + for (const row of displayRows) { + labelMap[row.entry_id] = row.value || row.entry_id; + } + // Fill in any IDs that didn't get a display label + for (const id of entryIds) { + if (!labelMap[id]) {labelMap[id] = id;} + } + + labels[rf.name] = labelMap; + } + + return { labels, relatedObjectNames }; +} + +type ReverseRelation = { + fieldName: string; + sourceObjectName: string; + sourceObjectId: string; + displayField: string; + entries: Record>; +}; + +/** + * Find reverse relations: other objects with relation fields pointing TO this object. + * For each, resolve the display labels and group by target entry ID. + */ +function findReverseRelations(objectId: string): ReverseRelation[] { + // Find all relation fields in other objects that reference this object + const reverseFields = duckdbQuery< + FieldRow & { source_object_id: string; source_object_name: string } + >( + `SELECT f.*, f.object_id as source_object_id, o.name as source_object_name + FROM fields f + JOIN objects o ON o.id = f.object_id + WHERE f.type = 'relation' + AND f.related_object_id = '${sqlEscape(objectId)}'`, + ); + + if (reverseFields.length === 0) {return [];} + + const result: ReverseRelation[] = []; + + for (const rrf of reverseFields) { + // Get source object and its fields + const sourceObjs = duckdbQuery( + `SELECT * FROM objects WHERE id = '${sqlEscape(rrf.source_object_id)}' LIMIT 1`, + ); + if (sourceObjs.length === 0) {continue;} + + const sourceFields = duckdbQuery( + `SELECT * FROM fields WHERE object_id = '${sqlEscape(rrf.source_object_id)}' ORDER BY sort_order`, + ); + const displayFieldName = resolveDisplayField(sourceObjs[0], sourceFields); + + // Fetch all source entries that have this relation field set + const refRows = duckdbQuery<{ + source_entry_id: string; + target_value: string; + }>( + `SELECT ef.entry_id as source_entry_id, ef.value as target_value + FROM entry_fields ef + WHERE ef.field_id = '${sqlEscape(rrf.id)}' + AND ef.value IS NOT NULL + AND ef.value != ''`, + ); + + if (refRows.length === 0) {continue;} + + // Get display labels for the source entries + const sourceEntryIds = [ + ...new Set(refRows.map((r) => r.source_entry_id)), + ]; + const idList = sourceEntryIds + .map((id) => `'${sqlEscape(id)}'`) + .join(","); + const displayRows = duckdbQuery<{ + entry_id: string; + value: string; + }>( + `SELECT ef.entry_id, ef.value + FROM entry_fields ef + JOIN fields f ON f.id = ef.field_id + WHERE ef.entry_id IN (${idList}) + AND f.name = '${sqlEscape(displayFieldName)}' + AND f.object_id = '${sqlEscape(rrf.source_object_id)}'`, + ); + + const displayMap: Record = {}; + for (const row of displayRows) { + displayMap[row.entry_id] = row.value || row.entry_id; + } + + // Build: target_entry_id -> [{id, label}] + const entriesMap: Record< + string, + Array<{ id: string; label: string }> + > = {}; + for (const row of refRows) { + const targetIds = parseRelationValue(row.target_value); + for (const targetId of targetIds) { + if (!entriesMap[targetId]) {entriesMap[targetId] = [];} + entriesMap[targetId].push({ + id: row.source_entry_id, + label: displayMap[row.source_entry_id] || row.source_entry_id, + }); + } + } + + result.push({ + fieldName: rrf.name, + sourceObjectName: rrf.source_object_name, + sourceObjectId: rrf.source_object_id, + displayField: displayFieldName, + entries: entriesMap, + }); + } + + return result; +} + +// --- Route handler --- + export async function GET( _req: Request, { params }: { params: Promise<{ name: string }> }, @@ -96,6 +330,9 @@ export async function GET( ); } + // Ensure display_field column exists (idempotent migration) + ensureDisplayFieldColumn(); + // Fetch object metadata const objects = duckdbQuery( `SELECT * FROM objects WHERE name = '${name}' LIMIT 1`, @@ -123,7 +360,6 @@ export async function GET( // Try the PIVOT view first, then fall back to raw EAV query + client-side pivot let entries: Record[] = []; - // Attempt PIVOT view const pivotEntries = duckdbQuery( `SELECT * FROM v_${name} ORDER BY created_at DESC LIMIT 200`, ); @@ -131,7 +367,6 @@ export async function GET( if (pivotEntries.length > 0) { entries = pivotEntries; } else { - // Fallback: raw EAV query, then pivot in JS const rawRows = duckdbQuery( `SELECT e.id as entry_id, e.created_at, e.updated_at, f.name as field_name, ef.value @@ -153,19 +388,30 @@ export async function GET( enum_colors: f.enum_colors ? tryParseJson(f.enum_colors) : undefined, })); + // Resolve relation field values to human-readable display labels + const { labels: relationLabels, relatedObjectNames } = + resolveRelationLabels(fields, entries); + + // Enrich fields with related object names for frontend display + const enrichedFields = parsedFields.map((f) => ({ + ...f, + related_object_name: + f.type === "relation" ? relatedObjectNames[f.name] : undefined, + })); + + // Find reverse relations (other objects linking TO this one) + const reverseRelations = findReverseRelations(obj.id); + + // Compute the effective display field for this object + const effectiveDisplayField = resolveDisplayField(obj, fields); + return Response.json({ object: obj, - fields: parsedFields, + fields: enrichedFields, statuses, entries, + relationLabels, + reverseRelations, + effectiveDisplayField, }); } - -function tryParseJson(value: unknown): unknown { - if (typeof value !== "string") {return value;} - try { - return JSON.parse(value); - } catch { - return value; - } -} diff --git a/apps/web/app/api/workspace/rename/route.ts b/apps/web/app/api/workspace/rename/route.ts new file mode 100644 index 00000000000..e97f7f8ac8d --- /dev/null +++ b/apps/web/app/api/workspace/rename/route.ts @@ -0,0 +1,84 @@ +import { renameSync, existsSync } from "node:fs"; +import { join, dirname, basename } from "node:path"; +import { safeResolvePath, safeResolveNewPath, isSystemFile } from "@/lib/workspace"; + +export const dynamic = "force-dynamic"; +export const runtime = "nodejs"; + +/** + * POST /api/workspace/rename + * Body: { path: string, newName: string } + * + * Renames a file or folder within the same directory. + * System files are protected from renaming. + */ +export async function POST(req: Request) { + let body: { path?: string; newName?: string }; + try { + body = await req.json(); + } catch { + return Response.json({ error: "Invalid JSON body" }, { status: 400 }); + } + + const { path: relPath, newName } = body; + if (!relPath || typeof relPath !== "string" || !newName || typeof newName !== "string") { + return Response.json( + { error: "Missing 'path' and 'newName' fields" }, + { status: 400 }, + ); + } + + if (isSystemFile(relPath)) { + return Response.json( + { error: "Cannot rename system file" }, + { status: 403 }, + ); + } + + // Validate newName: no slashes, no empty, no traversal + if (newName.includes("/") || newName.includes("\\") || newName.trim() === "") { + return Response.json( + { error: "Invalid file name" }, + { status: 400 }, + ); + } + + const absPath = safeResolvePath(relPath); + if (!absPath) { + return Response.json( + { error: "Source not found or path traversal rejected" }, + { status: 404 }, + ); + } + + const parentDir = dirname(absPath); + const newAbsPath = join(parentDir, newName); + + // Ensure the new path stays within workspace + const parentRel = dirname(relPath); + const newRelPath = parentRel === "." ? newName : `${parentRel}/${newName}`; + const validated = safeResolveNewPath(newRelPath); + if (!validated) { + return Response.json( + { error: "Invalid destination path" }, + { status: 400 }, + ); + } + + if (existsSync(newAbsPath)) { + return Response.json( + { error: `A file named '${newName}' already exists` }, + { status: 409 }, + ); + } + + try { + renameSync(absPath, newAbsPath); + return Response.json({ ok: true, oldPath: relPath, newPath: newRelPath }); + } catch (err) { + return Response.json( + { error: err instanceof Error ? err.message : "Rename failed" }, + { status: 500 }, + ); + } +} diff --git a/apps/web/app/api/workspace/watch/route.ts b/apps/web/app/api/workspace/watch/route.ts new file mode 100644 index 00000000000..72e0e2e6710 --- /dev/null +++ b/apps/web/app/api/workspace/watch/route.ts @@ -0,0 +1,106 @@ +import { resolveDenchRoot } from "@/lib/workspace"; + +export const dynamic = "force-dynamic"; +export const runtime = "nodejs"; + +/** + * GET /api/workspace/watch + * + * Server-Sent Events endpoint that watches the dench workspace for file changes. + * Sends events: { type: "add"|"change"|"unlink"|"addDir"|"unlinkDir", path: string } + * Falls back gracefully if chokidar is unavailable. + */ +export async function GET() { + const root = resolveDenchRoot(); + if (!root) { + return new Response("Workspace not found", { status: 404 }); + } + + const encoder = new TextEncoder(); + + const stream = new ReadableStream({ + async start(controller) { + // Send initial heartbeat so the client knows the connection is alive + controller.enqueue(encoder.encode("event: connected\ndata: {}\n\n")); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let watcher: any = null; + let closed = false; + + // Debounce: batch rapid events into a single "refresh" signal + let debounceTimer: ReturnType | null = null; + + function sendEvent(type: string, filePath: string) { + if (closed) {return;} + if (debounceTimer) {clearTimeout(debounceTimer);} + debounceTimer = setTimeout(() => { + if (closed) {return;} + try { + const data = JSON.stringify({ type, path: filePath }); + controller.enqueue(encoder.encode(`event: change\ndata: ${data}\n\n`)); + } catch { + // Stream may have been closed + } + }, 200); + } + + // Keep-alive heartbeat every 30s to prevent proxy/timeout disconnects + const heartbeat = setInterval(() => { + if (closed) {return;} + try { + controller.enqueue(encoder.encode(": heartbeat\n\n")); + } catch { + // Ignore if closed + } + }, 30_000); + + try { + // Dynamic import so the route still compiles if chokidar is missing + const chokidar = await import("chokidar"); + watcher = chokidar.watch(root, { + ignoreInitial: true, + awaitWriteFinish: { stabilityThreshold: 150, pollInterval: 50 }, + ignored: [ + /(^|[\\/])node_modules([\\/]|$)/, + /\.duckdb\.wal$/, + /\.duckdb\.tmp$/, + ], + depth: 10, + }); + + watcher.on("all", (eventType: string, filePath: string) => { + // Make path relative to workspace root + const rel = filePath.startsWith(root) + ? filePath.slice(root.length + 1) + : filePath; + sendEvent(eventType, rel); + }); + } catch { + // chokidar not available, send a fallback event and close + controller.enqueue( + encoder.encode("event: error\ndata: {\"error\":\"File watching unavailable\"}\n\n"), + ); + } + + // Cleanup when the client disconnects + // The cancel callback is invoked by the runtime when the response is aborted + const originalCancel = stream.cancel?.bind(stream); + stream.cancel = async (reason) => { + closed = true; + clearInterval(heartbeat); + if (debounceTimer) {clearTimeout(debounceTimer);} + if (watcher) {await watcher.close();} + if (originalCancel) {return originalCancel(reason);} + }; + }, + }); + + return new Response(stream, { + headers: { + "Content-Type": "text/event-stream", + "Cache-Control": "no-cache, no-transform", + Connection: "keep-alive", + "X-Accel-Buffering": "no", + }, + }); +} diff --git a/apps/web/app/components/chat-panel.tsx b/apps/web/app/components/chat-panel.tsx new file mode 100644 index 00000000000..4d6276d1770 --- /dev/null +++ b/apps/web/app/components/chat-panel.tsx @@ -0,0 +1,670 @@ +"use client"; + +import { useChat } from "@ai-sdk/react"; +import { DefaultChatTransport, type UIMessage } from "ai"; +import { + forwardRef, + useCallback, + useEffect, + useImperativeHandle, + useRef, + useState, +} from "react"; +import { ChatMessage } from "./chat-message"; + +const transport = new DefaultChatTransport({ api: "/api/chat" }); + +/** Imperative handle for parent-driven session control (main page). */ +export type ChatPanelHandle = { + loadSession: (sessionId: string) => Promise; + newSession: () => Promise; +}; + +export type FileContext = { + path: string; + filename: string; +}; + +type FileScopedSession = { + id: string; + title: string; + createdAt: number; + updatedAt: number; + messageCount: number; +}; + +type ChatPanelProps = { + /** When set, scopes sessions to this file and prepends content as context. */ + fileContext?: FileContext; + /** Compact mode for workspace sidebar (smaller UI, built-in session tabs). */ + compact?: boolean; + /** Called when file content may have changed after agent edits. */ + onFileChanged?: (newContent: string) => void; + /** Called when active session changes (for external sidebar highlighting). */ + onActiveSessionChange?: (sessionId: string | null) => void; + /** Called when session list needs refresh (for external sidebar). */ + onSessionsChange?: () => void; +}; + +export const ChatPanel = forwardRef( + function ChatPanel( + { + fileContext, + compact, + onFileChanged, + onActiveSessionChange, + onSessionsChange, + }, + ref, + ) { + const { messages, sendMessage, status, stop, error, setMessages } = + useChat({ transport }); + const [input, setInput] = useState(""); + const [currentSessionId, setCurrentSessionId] = useState( + null, + ); + const [loadingSession, setLoadingSession] = useState(false); + const [startingNewSession, setStartingNewSession] = useState(false); + const messagesEndRef = useRef(null); + + // Track persisted messages to avoid double-saves + const savedMessageIdsRef = useRef>(new Set()); + // Set when /new or + triggers a new session + const newSessionPendingRef = useRef(false); + // Whether the next message should include file context + const isFirstFileMessageRef = useRef(true); + + // File-scoped session list (compact mode only) + const [fileSessions, setFileSessions] = useState( + [], + ); + + const filePath = fileContext?.path ?? null; + const isStreaming = status === "streaming" || status === "submitted"; + + // Auto-scroll to bottom on new messages + useEffect(() => { + messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); + }, [messages]); + + // ── File-scoped sessions ── + + const fetchFileSessions = useCallback(async () => { + if (!filePath) {return;} + try { + const res = await fetch( + `/api/web-sessions?filePath=${encodeURIComponent(filePath)}`, + ); + const data = await res.json(); + setFileSessions(data.sessions || []); + } catch { + // ignore + } + }, [filePath]); + + useEffect(() => { + if (filePath) {fetchFileSessions();} + }, [filePath, fetchFileSessions]); + + // Reset chat state when the active file changes + useEffect(() => { + if (!filePath) {return;} + stop(); + setCurrentSessionId(null); + onActiveSessionChange?.(null); + setMessages([]); + savedMessageIdsRef.current.clear(); + isFirstFileMessageRef.current = true; + // eslint-disable-next-line react-hooks/exhaustive-deps -- stable setters + }, [filePath]); + + // ── Session persistence ── + + const saveMessages = useCallback( + async ( + sessionId: string, + msgs: Array<{ + id: string; + role: string; + content: string; + parts?: unknown[]; + }>, + title?: string, + ) => { + const toSave = msgs.map((m) => ({ + id: m.id, + role: m.role, + content: m.content, + ...(m.parts ? { parts: m.parts } : {}), + timestamp: new Date().toISOString(), + })); + try { + await fetch( + `/api/web-sessions/${sessionId}/messages`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + messages: toSave, + title, + }), + }, + ); + for (const m of msgs) + {savedMessageIdsRef.current.add(m.id);} + onSessionsChange?.(); + if (filePath) {fetchFileSessions();} + } catch (err) { + console.error("Failed to save messages:", err); + } + }, + [onSessionsChange, filePath, fetchFileSessions], + ); + + const createSession = useCallback( + async (title: string): Promise => { + const body: Record = { title }; + if (filePath) {body.filePath = filePath;} + const res = await fetch("/api/web-sessions", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body), + }); + const data = await res.json(); + return data.session.id; + }, + [filePath], + ); + + /** Extract plain text from a UIMessage */ + const getMessageText = useCallback( + (msg: (typeof messages)[number]): string => { + return ( + msg.parts + ?.filter( + ( + p, + ): p is { + type: "text"; + text: string; + } => p.type === "text", + ) + .map((p) => p.text) + .join("\n") ?? "" + ); + }, + [], + ); + + // Persist unsaved messages when streaming finishes + live-reload file + const prevStatusRef = useRef(status); + useEffect(() => { + const wasStreaming = + prevStatusRef.current === "streaming" || + prevStatusRef.current === "submitted"; + const isNowReady = status === "ready"; + + if (wasStreaming && isNowReady && currentSessionId) { + const unsaved = messages.filter( + (m) => !savedMessageIdsRef.current.has(m.id), + ); + if (unsaved.length > 0) { + const toSave = unsaved.map((m) => ({ + id: m.id, + role: m.role, + content: getMessageText(m), + parts: m.parts, + })); + saveMessages(currentSessionId, toSave); + } + + // Re-fetch file content for live reload after agent edits + if (filePath && onFileChanged) { + fetch( + `/api/workspace/file?path=${encodeURIComponent(filePath)}`, + ) + .then((r) => r.json()) + .then((data) => { + if (data.content) {onFileChanged(data.content);} + }) + .catch(() => {}); + } + } + prevStatusRef.current = status; + }, [ + status, + messages, + currentSessionId, + saveMessages, + getMessageText, + filePath, + onFileChanged, + ]); + + // ── Actions ── + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + if (!input.trim() || isStreaming) {return;} + + const userText = input.trim(); + setInput(""); + + if (userText.toLowerCase() === "/new") { + handleNewSession(); + return; + } + + // Create session if none + let sessionId = currentSessionId; + if (!sessionId) { + const title = + userText.length > 60 + ? userText.slice(0, 60) + "..." + : userText; + sessionId = await createSession(title); + setCurrentSessionId(sessionId); + onActiveSessionChange?.(sessionId); + onSessionsChange?.(); + if (filePath) {fetchFileSessions();} + + if (newSessionPendingRef.current) { + newSessionPendingRef.current = false; + const newMsgId = `system-new-${Date.now()}`; + await saveMessages(sessionId, [ + { + id: newMsgId, + role: "user", + content: "/new", + parts: [{ type: "text", text: "/new" }], + }, + ]); + } + } + + // Prepend file path context for the first message in a file-scoped session + let messageText = userText; + if (fileContext && isFirstFileMessageRef.current) { + messageText = `[Context: workspace file '${fileContext.path}']\n\n${userText}`; + isFirstFileMessageRef.current = false; + } + + sendMessage({ text: messageText }); + }; + + const handleSessionSelect = useCallback( + async (sessionId: string) => { + if (sessionId === currentSessionId) {return;} + + setLoadingSession(true); + setCurrentSessionId(sessionId); + onActiveSessionChange?.(sessionId); + savedMessageIdsRef.current.clear(); + isFirstFileMessageRef.current = false; // loaded session has context + + try { + const response = await fetch( + `/api/web-sessions/${sessionId}`, + ); + if (!response.ok) + {throw new Error("Failed to load session");} + + const data = await response.json(); + const sessionMessages: Array<{ + id: string; + role: "user" | "assistant"; + content: string; + parts?: Array>; + }> = data.messages || []; + + const uiMessages = sessionMessages.map((msg) => { + savedMessageIdsRef.current.add(msg.id); + return { + id: msg.id, + role: msg.role, + parts: (msg.parts ?? [ + { + type: "text" as const, + text: msg.content, + }, + ]) as UIMessage["parts"], + }; + }); + + setMessages(uiMessages); + } catch (err) { + console.error("Error loading session:", err); + } finally { + setLoadingSession(false); + } + }, + [currentSessionId, setMessages, onActiveSessionChange], + ); + + const handleNewSession = useCallback(async () => { + setCurrentSessionId(null); + onActiveSessionChange?.(null); + setMessages([]); + savedMessageIdsRef.current.clear(); + isFirstFileMessageRef.current = true; + newSessionPendingRef.current = true; + + // Only send /new to backend for non-file sessions (main chat) + if (!filePath) { + setStartingNewSession(true); + try { + await fetch("/api/new-session", { method: "POST" }); + } catch (err) { + console.error("Failed to send /new:", err); + } finally { + setStartingNewSession(false); + } + } + }, [setMessages, onActiveSessionChange, filePath]); + + // Expose imperative handle for parent-driven session management + useImperativeHandle( + ref, + () => ({ + loadSession: handleSessionSelect, + newSession: handleNewSession, + }), + [handleSessionSelect, handleNewSession], + ); + + // ── Status label ── + + const statusLabel = startingNewSession + ? "Starting new session..." + : loadingSession + ? "Loading session..." + : status === "ready" + ? "Ready" + : status === "submitted" + ? "Thinking..." + : status === "streaming" + ? "Streaming..." + : status === "error" + ? "Error" + : status; + + // ── Render ── + + return ( +
+ {/* Header */} +
+
+ {compact && fileContext ? ( + <> +

+ Chat: {fileContext.filename} +

+

+ {statusLabel} +

+ + ) : ( + <> +

+ {currentSessionId + ? "Chat Session" + : "New Chat"} +

+

+ {statusLabel} +

+ + )} +
+
+ {compact && ( + + )} + {isStreaming && ( + + )} +
+
+ + {/* File-scoped session tabs (compact mode) */} + {compact && fileContext && fileSessions.length > 0 && ( +
+ {fileSessions.slice(0, 10).map((s) => ( + + ))} +
+ )} + + {/* Messages */} +
+ {loadingSession ? ( +
+
+
+

+ Loading session... +

+
+
+ ) : messages.length === 0 ? ( +
+
+ {compact ? ( +

+ Ask about this file +

+ ) : ( + <> +

+ 🦞 +

+

+ OpenClaw Chat +

+

+ Send a message to start a + conversation with your + agent. +

+ + )} +
+
+ ) : ( +
+ {messages.map((message) => ( + + ))} +
+
+ )} +
+ + {/* Error display */} + {error && ( +
+

+ Error: {error.message} +

+
+ )} + + {/* Input */} +
+
+ setInput(e.target.value)} + placeholder={ + compact && fileContext + ? `Ask about ${fileContext.filename}...` + : "Message OpenClaw..." + } + disabled={ + isStreaming || + loadingSession || + startingNewSession + } + className={`flex-1 ${compact ? "px-3 py-2 text-xs rounded-lg" : "px-4 py-3 text-sm rounded-xl"} border focus:outline-none focus:ring-2 focus:ring-[var(--color-accent)] focus:border-transparent disabled:opacity-50`} + style={{ + background: "var(--color-bg)", + borderColor: "var(--color-border)", + color: "var(--color-text)", + }} + /> + +
+
+
+ ); + }, +); diff --git a/apps/web/app/components/sidebar.tsx b/apps/web/app/components/sidebar.tsx index 8c975f28b09..e334e512a5f 100644 --- a/apps/web/app/components/sidebar.tsx +++ b/apps/web/app/components/sidebar.tsx @@ -1,6 +1,7 @@ "use client"; -import { useEffect, useState } from "react"; +import { useEffect, useState, useCallback } from "react"; +import { FileManagerTree } from "./workspace/file-manager-tree"; // --- Types --- @@ -209,150 +210,15 @@ function MemoriesSection({ ); } -// --- Workspace Section --- +// --- Workspace Section (uses FileManagerTree in compact mode) --- -function WorkspaceTreeNode({ - node, - depth, - expanded, - onToggle, -}: { - node: TreeNode; - depth: number; - expanded: Set; - onToggle: (path: string) => void; -}) { - const hasChildren = node.children && node.children.length > 0; - const isExpandable = hasChildren || node.type === "folder" || node.type === "object"; - const isOpen = expanded.has(node.path); - - const iconColor = - node.type === "object" - ? "var(--color-accent)" - : node.type === "document" - ? "#60a5fa" - : node.type === "database" - ? "#c084fc" - : node.type === "report" - ? "#22c55e" - : "var(--color-text-muted)"; - - return ( -
-
{ - if (isExpandable) {onToggle(node.path);} - // Navigate to workspace page for actionable items - if (node.type === "object" || node.type === "document" || node.type === "file" || node.type === "database" || node.type === "report") { - window.location.href = `/workspace?path=${encodeURIComponent(node.path)}`; - } - }} - > - {/* Chevron */} - - {isExpandable && ( - - - - )} - - - {/* Icon */} - - {node.type === "object" ? ( - node.defaultView === "kanban" ? ( - - - - ) : ( - - - - ) - ) : node.type === "document" ? ( - - - - ) : node.type === "folder" ? ( - - - - ) : node.type === "database" ? ( - - - - - - ) : node.type === "report" ? ( - - - - - - ) : ( - - - - )} - - - {/* Name */} - {node.name.replace(/\.md$/, "")} - - {/* Type badge for objects */} - {node.type === "object" && ( - - {node.defaultView === "kanban" ? "board" : "table"} - - )} -
- - {isOpen && hasChildren && ( -
- {node.children!.map((child) => ( - - ))} -
- )} -
- ); -} - -function WorkspaceSection({ tree }: { tree: TreeNode[] }) { - const [expanded, setExpanded] = useState>(() => { - // Auto-expand first level - const initial = new Set(); - for (const node of tree) { - if (node.children && node.children.length > 0) { - initial.add(node.path); - } +function WorkspaceSection({ tree, onRefresh }: { tree: TreeNode[]; onRefresh: () => void }) { + const handleSelect = useCallback((node: TreeNode) => { + // Navigate to workspace page for actionable items + if (node.type === "object" || node.type === "document" || node.type === "file" || node.type === "database" || node.type === "report") { + window.location.href = `/workspace?path=${encodeURIComponent(node.path)}`; } - return initial; - }); - - const toggle = (path: string) => { - setExpanded((prev) => { - const next = new Set(prev); - if (next.has(path)) {next.delete(path);} - else {next.add(path);} - return next; - }); - }; + }, []); if (tree.length === 0) { return ( @@ -364,15 +230,13 @@ function WorkspaceSection({ tree }: { tree: TreeNode[] }) { return ( )} diff --git a/apps/web/app/components/workspace/context-menu.tsx b/apps/web/app/components/workspace/context-menu.tsx new file mode 100644 index 00000000000..6379fdd97a5 --- /dev/null +++ b/apps/web/app/components/workspace/context-menu.tsx @@ -0,0 +1,253 @@ +"use client"; + +import { useEffect, useRef, useCallback } from "react"; +import { createPortal } from "react-dom"; + +// --- Types --- + +export type ContextMenuAction = + | "open" + | "newFile" + | "newFolder" + | "rename" + | "duplicate" + | "copy" + | "paste" + | "moveTo" + | "getInfo" + | "delete"; + +export type ContextMenuItem = { + action: ContextMenuAction; + label: string; + shortcut?: string; + icon?: React.ReactNode; + disabled?: boolean; + danger?: boolean; + separator?: false; +} | { + separator: true; +}; + +export type ContextMenuTarget = + | { kind: "file"; path: string; name: string; isSystem: boolean } + | { kind: "folder"; path: string; name: string; isSystem: boolean } + | { kind: "empty" }; + +// --- Menu item definitions per target kind --- + +function getMenuItems(target: ContextMenuTarget): ContextMenuItem[] { + const isSystem = target.kind !== "empty" && target.isSystem; + + if (target.kind === "file") { + return [ + { action: "open", label: "Open" }, + { separator: true }, + { action: "rename", label: "Rename", shortcut: "Enter", disabled: isSystem }, + { action: "duplicate", label: "Duplicate", shortcut: "\u2318D", disabled: isSystem }, + { action: "copy", label: "Copy Path", shortcut: "\u2318C" }, + { separator: true }, + { action: "getInfo", label: "Get Info", shortcut: "\u2318I" }, + { separator: true }, + { action: "delete", label: "Move to Trash", shortcut: "\u2318\u232B", disabled: isSystem, danger: true }, + ]; + } + + if (target.kind === "folder") { + return [ + { action: "open", label: "Open" }, + { separator: true }, + { action: "newFile", label: "New File", shortcut: "\u2318N", disabled: isSystem }, + { action: "newFolder", label: "New Folder", shortcut: "\u21E7\u2318N", disabled: isSystem }, + { separator: true }, + { action: "rename", label: "Rename", shortcut: "Enter", disabled: isSystem }, + { action: "duplicate", label: "Duplicate", shortcut: "\u2318D", disabled: isSystem }, + { action: "copy", label: "Copy Path", shortcut: "\u2318C" }, + { separator: true }, + { action: "getInfo", label: "Get Info", shortcut: "\u2318I" }, + { separator: true }, + { action: "delete", label: "Move to Trash", shortcut: "\u2318\u232B", disabled: isSystem, danger: true }, + ]; + } + + // Empty area + return [ + { action: "newFile", label: "New File", shortcut: "\u2318N" }, + { action: "newFolder", label: "New Folder", shortcut: "\u21E7\u2318N" }, + { separator: true }, + { action: "paste", label: "Paste", shortcut: "\u2318V", disabled: true }, + ]; +} + +// --- Lock icon for system files --- + +function LockIcon() { + return ( + + + + + ); +} + +// --- Context Menu Component --- + +type ContextMenuProps = { + x: number; + y: number; + target: ContextMenuTarget; + onAction: (action: ContextMenuAction) => void; + onClose: () => void; +}; + +export function ContextMenu({ x, y, target, onAction, onClose }: ContextMenuProps) { + const menuRef = useRef(null); + const items = getMenuItems(target); + const isSystem = target.kind !== "empty" && target.isSystem; + + // Clamp position to viewport + const clampedPos = useRef({ x, y }); + useEffect(() => { + const el = menuRef.current; + if (!el) {return;} + const rect = el.getBoundingClientRect(); + const vw = window.innerWidth; + const vh = window.innerHeight; + let cx = x; + let cy = y; + if (cx + rect.width > vw - 8) {cx = vw - rect.width - 8;} + if (cy + rect.height > vh - 8) {cy = vh - rect.height - 8;} + if (cx < 8) {cx = 8;} + if (cy < 8) {cy = 8;} + clampedPos.current = { x: cx, y: cy }; + el.style.left = `${cx}px`; + el.style.top = `${cy}px`; + }, [x, y]); + + // Close on click-outside, escape, scroll + useEffect(() => { + function handleClickOutside(e: MouseEvent) { + if (menuRef.current && !menuRef.current.contains(e.target as Node)) { + onClose(); + } + } + function handleKeyDown(e: KeyboardEvent) { + if (e.key === "Escape") {onClose();} + } + function handleScroll() { + onClose(); + } + + document.addEventListener("mousedown", handleClickOutside, true); + document.addEventListener("keydown", handleKeyDown, true); + window.addEventListener("scroll", handleScroll, true); + return () => { + document.removeEventListener("mousedown", handleClickOutside, true); + document.removeEventListener("keydown", handleKeyDown, true); + window.removeEventListener("scroll", handleScroll, true); + }; + }, [onClose]); + + const handleItemClick = useCallback( + (action: ContextMenuAction, disabled?: boolean) => { + if (disabled) {return;} + onAction(action); + onClose(); + }, + [onAction, onClose], + ); + + return createPortal( +
+ {/* System file badge */} + {isSystem && ( +
+ + System file (locked) +
+ )} + + {items.map((item, i) => { + if ("separator" in item && item.separator) { + return ( +
+ ); + } + + const menuItem = item as Exclude; + const isDisabled = menuItem.disabled; + + return ( + + ); + })} + + {/* Global animation style */} + +
, + document.body, + ); +} diff --git a/apps/web/app/components/workspace/file-manager-tree.tsx b/apps/web/app/components/workspace/file-manager-tree.tsx new file mode 100644 index 00000000000..2f446c5a7f4 --- /dev/null +++ b/apps/web/app/components/workspace/file-manager-tree.tsx @@ -0,0 +1,1022 @@ +"use client"; + +import { useState, useCallback, useRef, useEffect } from "react"; +import { + DndContext, + DragOverlay, + useDraggable, + useDroppable, + closestCenter, + type DragStartEvent, + type DragEndEvent, + type DragOverEvent, + PointerSensor, + useSensor, + useSensors, +} from "@dnd-kit/core"; +import { ContextMenu, type ContextMenuAction, type ContextMenuTarget } from "./context-menu"; +import { InlineRename, RENAME_SHAKE_STYLE } from "./inline-rename"; + +// --- Types --- + +export type TreeNode = { + name: string; + path: string; + type: "object" | "document" | "folder" | "file" | "database" | "report"; + icon?: string; + defaultView?: "table" | "kanban"; + children?: TreeNode[]; +}; + +type FileManagerTreeProps = { + tree: TreeNode[]; + activePath: string | null; + onSelect: (node: TreeNode) => void; + onRefresh: () => void; + compact?: boolean; +}; + +// --- System file detection (client-side mirror) --- + +const SYSTEM_PATTERNS = [ + /^\.object\.yaml$/, + /^workspace\.duckdb/, + /^workspace_context\.yaml$/, + /\.wal$/, + /\.tmp$/, +]; + +function isSystemFile(path: string): boolean { + const base = path.split("/").pop() ?? ""; + return SYSTEM_PATTERNS.some((p) => p.test(base)); +} + +// --- Icons (inline SVG, zero-dep) --- + +function FolderIcon({ open }: { open?: boolean }) { + return open ? ( + + + + ) : ( + + + + ); +} + +function TableIcon() { + return ( + + + + ); +} + +function KanbanIcon() { + return ( + + + + ); +} + +function DocumentIcon() { + return ( + + + + ); +} + +function FileIcon() { + return ( + + + + ); +} + +function DatabaseIcon() { + return ( + + + + ); +} + +function ReportIcon() { + return ( + + + + ); +} + +function LockBadge() { + return ( + + + + ); +} + +function ChevronIcon({ open }: { open: boolean }) { + return ( + + + + ); +} + +function NodeIcon({ node, open }: { node: TreeNode; open?: boolean }) { + switch (node.type) { + case "object": + return node.defaultView === "kanban" ? : ; + case "document": + return ; + case "folder": + return ; + case "database": + return ; + case "report": + return ; + default: + return ; + } +} + +function typeColor(node: TreeNode): string { + switch (node.type) { + case "object": return "var(--color-accent)"; + case "document": return "#60a5fa"; + case "database": return "#c084fc"; + case "report": return "#22c55e"; + default: return "var(--color-text-muted)"; + } +} + +// --- API helpers --- + +async function apiRename(path: string, newName: string) { + const res = await fetch("/api/workspace/rename", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ path, newName }), + }); + return res.json(); +} + +async function apiDelete(path: string) { + const res = await fetch("/api/workspace/file", { + method: "DELETE", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ path }), + }); + return res.json(); +} + +async function apiMove(sourcePath: string, destinationDir: string) { + const res = await fetch("/api/workspace/move", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ sourcePath, destinationDir }), + }); + return res.json(); +} + +async function apiDuplicate(path: string) { + const res = await fetch("/api/workspace/copy", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ path }), + }); + return res.json(); +} + +async function apiMkdir(path: string) { + const res = await fetch("/api/workspace/mkdir", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ path }), + }); + return res.json(); +} + +async function apiCreateFile(path: string, content: string = "") { + const res = await fetch("/api/workspace/file", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ path, content }), + }); + return res.json(); +} + +// --- Confirm dialog --- + +function ConfirmDialog({ + message, + onConfirm, + onCancel, +}: { + message: string; + onConfirm: () => void; + onCancel: () => void; +}) { + useEffect(() => { + function handleKey(e: KeyboardEvent) { + if (e.key === "Escape") {onCancel();} + if (e.key === "Enter") {onConfirm();} + } + document.addEventListener("keydown", handleKey); + return () => document.removeEventListener("keydown", handleKey); + }, [onConfirm, onCancel]); + + return ( +
+
+

{message}

+
+ + +
+
+
+ ); +} + +// --- New item prompt --- + +function NewItemPrompt({ + kind, + parentPath, + onSubmit, + onCancel, +}: { + kind: "file" | "folder"; + parentPath: string; + onSubmit: (name: string) => void; + onCancel: () => void; +}) { + const [value, setValue] = useState(kind === "file" ? "untitled.md" : "new-folder"); + const inputRef = useRef(null); + + useEffect(() => { + const el = inputRef.current; + if (!el) {return;} + el.focus(); + if (kind === "file") { + const dot = value.lastIndexOf("."); + el.setSelectionRange(0, dot > 0 ? dot : value.length); + } else { + el.select(); + } + }, []); + + return ( +
+
+

+ New {kind} in {parentPath || "/"} +

+ setValue(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") {onSubmit(value.trim());} + if (e.key === "Escape") {onCancel();} + }} + className="w-full px-3 py-2 rounded-md text-sm outline-none border" + style={{ background: "var(--color-bg)", color: "var(--color-text)", borderColor: "var(--color-border)" }} + /> +
+ + +
+
+
+ ); +} + +// --- Draggable + Droppable Node --- + +function DraggableNode({ + node, + depth, + activePath, + selectedPath, + onSelect, + onNodeSelect, + expandedPaths, + onToggleExpand, + renamingPath, + onStartRename, + onCommitRename, + onCancelRename, + onContextMenu, + compact, + dragOverPath, +}: { + node: TreeNode; + depth: number; + activePath: string | null; + selectedPath: string | null; + onSelect: (node: TreeNode) => void; + onNodeSelect: (path: string) => void; + expandedPaths: Set; + onToggleExpand: (path: string) => void; + renamingPath: string | null; + onStartRename: (path: string) => void; + onCommitRename: (newName: string) => void; + onCancelRename: () => void; + onContextMenu: (e: React.MouseEvent, node: TreeNode) => void; + compact?: boolean; + dragOverPath: string | null; +}) { + const hasChildren = node.children && node.children.length > 0; + const isExpandable = hasChildren || node.type === "folder" || node.type === "object"; + const isExpanded = expandedPaths.has(node.path); + const isActive = activePath === node.path; + const isSelected = selectedPath === node.path; + const isRenaming = renamingPath === node.path; + const isSysFile = isSystemFile(node.path); + const isDragOver = dragOverPath === node.path && isExpandable; + + const { attributes, listeners, setNodeRef: setDragRef, isDragging } = useDraggable({ + id: `drag-${node.path}`, + data: { node }, + disabled: isSysFile, + }); + + const { setNodeRef: setDropRef, isOver } = useDroppable({ + id: `drop-${node.path}`, + data: { node }, + disabled: !isExpandable, + }); + + const handleClick = useCallback(() => { + onNodeSelect(node.path); + onSelect(node); + if (isExpandable) { + onToggleExpand(node.path); + } + }, [node, isExpandable, onSelect, onNodeSelect, onToggleExpand]); + + const handleDoubleClick = useCallback(() => { + if (!isSysFile) { + onStartRename(node.path); + } + }, [node.path, isSysFile, onStartRename]); + + const handleContextMenu = useCallback( + (e: React.MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + onNodeSelect(node.path); + onContextMenu(e, node); + }, + [node, onNodeSelect, onContextMenu], + ); + + // Merge drag + drop refs + const mergedRef = useCallback( + (el: HTMLElement | null) => { + setDragRef(el); + setDropRef(el); + }, + [setDragRef, setDropRef], + ); + + const showDropHighlight = (isOver || isDragOver) && isExpandable; + + return ( +
+
{ + if (!isActive && !isSelected && !showDropHighlight) { + (e.currentTarget as HTMLElement).style.background = "var(--color-surface-hover)"; + } + }} + onMouseLeave={(e) => { + if (!isActive && !isSelected && !showDropHighlight) { + (e.currentTarget as HTMLElement).style.background = "transparent"; + } + }} + > + {/* Expand/collapse chevron */} + + {isExpandable && } + + + {/* Icon */} + + + + + {/* Label or rename input */} + {isRenaming ? ( + + ) : ( + {node.name.replace(/\.md$/, "")} + )} + + {/* Lock badge for system files */} + {isSysFile && !compact && ( + + + + )} + + {/* Type badge for objects */} + {node.type === "object" && ( + + {node.defaultView === "kanban" ? "board" : "table"} + + )} +
+ + {/* Children */} + {isExpanded && hasChildren && ( +
0 ? "1px solid var(--color-border)" : "none", + marginLeft: `${depth * 16 + 16}px`, + }}> + {node.children!.map((child) => ( + + ))} +
+ )} +
+ ); +} + +// --- Drag Overlay --- + +function DragOverlayContent({ node }: { node: TreeNode }) { + return ( +
+ + + + {node.name} +
+ ); +} + +// --- Helper: find node by path --- + +function findNode(tree: TreeNode[], path: string): TreeNode | null { + for (const n of tree) { + if (n.path === path) {return n;} + if (n.children) { + const found = findNode(n.children, path); + if (found) {return found;} + } + } + return null; +} + +// --- Helper: get parent path --- + +function parentPath(path: string): string { + const parts = path.split("/"); + parts.pop(); + return parts.join("/") || "."; +} + +// --- Flatten tree for keyboard navigation --- + +function flattenVisible(tree: TreeNode[], expanded: Set): TreeNode[] { + const result: TreeNode[] = []; + function walk(nodes: TreeNode[]) { + for (const n of nodes) { + result.push(n); + if (n.children && expanded.has(n.path)) { + walk(n.children); + } + } + } + walk(tree); + return result; +} + +// --- Main Exported Component --- + +export function FileManagerTree({ tree, activePath, onSelect, onRefresh, compact }: FileManagerTreeProps) { + const [expandedPaths, setExpandedPaths] = useState>(() => new Set()); + const [selectedPath, setSelectedPath] = useState(null); + const [renamingPath, setRenamingPath] = useState(null); + const [dragOverPath, setDragOverPath] = useState(null); + const [activeNode, setActiveNode] = useState(null); + + // Context menu state + const [ctxMenu, setCtxMenu] = useState<{ x: number; y: number; target: ContextMenuTarget } | null>(null); + + // Confirm dialog + const [confirmDelete, setConfirmDelete] = useState(null); + + // New item prompt + const [newItemPrompt, setNewItemPrompt] = useState<{ kind: "file" | "folder"; parentPath: string } | null>(null); + + const containerRef = useRef(null); + + // Auto-expand first level on mount + useEffect(() => { + if (tree.length > 0 && expandedPaths.size === 0) { + const initial = new Set(); + for (const node of tree) { + if (node.children && node.children.length > 0) { + initial.add(node.path); + } + } + setExpandedPaths(initial); + } + }, [tree]); + + const handleToggleExpand = useCallback((path: string) => { + setExpandedPaths((prev) => { + const next = new Set(prev); + if (next.has(path)) {next.delete(path);} + else {next.add(path);} + return next; + }); + }, []); + + // DnD sensors -- require 8px movement before dragging starts (prevents accidental drags on click) + const sensors = useSensors( + useSensor(PointerSensor, { activationConstraint: { distance: 8 } }), + ); + + const handleDragStart = useCallback((event: DragStartEvent) => { + const data = event.active.data.current as { node: TreeNode } | undefined; + if (data?.node) {setActiveNode(data.node);} + }, []); + + const handleDragOver = useCallback((event: DragOverEvent) => { + const overData = event.over?.data.current as { node: TreeNode } | undefined; + if (overData?.node) { + setDragOverPath(overData.node.path); + // Auto-expand folders on drag hover (300ms delay) + const path = overData.node.path; + if (overData.node.type === "folder" || overData.node.type === "object") { + setTimeout(() => { + setExpandedPaths((prev) => { + if (prev.has(path)) {return prev;} + const next = new Set(prev); + next.add(path); + return next; + }); + }, 300); + } + } else { + setDragOverPath(null); + } + }, []); + + const handleDragEnd = useCallback( + async (event: DragEndEvent) => { + setActiveNode(null); + setDragOverPath(null); + + const activeData = event.active.data.current as { node: TreeNode } | undefined; + const overData = event.over?.data.current as { node: TreeNode } | undefined; + + if (!activeData?.node || !overData?.node) {return;} + + const source = activeData.node; + const target = overData.node; + + // Only drop onto expandable targets (folders/objects) + if (target.type !== "folder" && target.type !== "object") {return;} + + // Prevent dropping into self or children + if (target.path === source.path || target.path.startsWith(source.path + "/")) {return;} + + // Prevent no-op moves (already in same parent) + if (parentPath(source.path) === target.path) {return;} + + const result = await apiMove(source.path, target.path); + if (result.ok) { + onRefresh(); + } + }, + [onRefresh], + ); + + const handleDragCancel = useCallback(() => { + setActiveNode(null); + setDragOverPath(null); + }, []); + + // Context menu handlers + const handleContextMenu = useCallback((e: React.MouseEvent, node: TreeNode) => { + const isSys = isSystemFile(node.path); + const isFolder = node.type === "folder" || node.type === "object"; + setCtxMenu({ + x: e.clientX, + y: e.clientY, + target: { + kind: isFolder ? "folder" : "file", + path: node.path, + name: node.name, + isSystem: isSys, + }, + }); + }, []); + + const handleEmptyContextMenu = useCallback((e: React.MouseEvent) => { + e.preventDefault(); + setCtxMenu({ + x: e.clientX, + y: e.clientY, + target: { kind: "empty" }, + }); + }, []); + + const handleContextMenuAction = useCallback( + async (action: ContextMenuAction) => { + const target = ctxMenu?.target; + if (!target) {return;} + + switch (action) { + case "open": { + if (target.kind !== "empty") { + const node = findNode(tree, target.path); + if (node) {onSelect(node);} + } + break; + } + case "rename": { + if (target.kind !== "empty") { + setRenamingPath(target.path); + } + break; + } + case "duplicate": { + if (target.kind !== "empty") { + await apiDuplicate(target.path); + onRefresh(); + } + break; + } + case "copy": { + if (target.kind !== "empty") { + await navigator.clipboard.writeText(target.path); + } + break; + } + case "delete": { + if (target.kind !== "empty") { + setConfirmDelete(target.path); + } + break; + } + case "newFile": { + const parent = target.kind === "folder" ? target.path : target.kind === "file" ? parentPath(target.path) : "knowledge"; + setNewItemPrompt({ kind: "file", parentPath: parent }); + break; + } + case "newFolder": { + const parent = target.kind === "folder" ? target.path : target.kind === "file" ? parentPath(target.path) : "knowledge"; + setNewItemPrompt({ kind: "folder", parentPath: parent }); + break; + } + case "getInfo": { + // Future: show info panel. For now, copy path. + if (target.kind !== "empty") { + await navigator.clipboard.writeText(target.path); + } + break; + } + } + }, + [ctxMenu, tree, onSelect, onRefresh], + ); + + // Rename handlers + const handleCommitRename = useCallback( + async (newName: string) => { + if (!renamingPath) {return;} + const result = await apiRename(renamingPath, newName); + setRenamingPath(null); + if (result.ok) {onRefresh();} + }, + [renamingPath, onRefresh], + ); + + const handleCancelRename = useCallback(() => { + setRenamingPath(null); + }, []); + + // Delete confirm + const handleConfirmDelete = useCallback(async () => { + if (!confirmDelete) {return;} + const result = await apiDelete(confirmDelete); + setConfirmDelete(null); + if (result.ok) {onRefresh();} + }, [confirmDelete, onRefresh]); + + // New item submit + const handleNewItemSubmit = useCallback( + async (name: string) => { + if (!newItemPrompt || !name) {return;} + const fullPath = newItemPrompt.parentPath ? `${newItemPrompt.parentPath}/${name}` : name; + + if (newItemPrompt.kind === "folder") { + await apiMkdir(fullPath); + } else { + await apiCreateFile(fullPath, ""); + } + + setNewItemPrompt(null); + onRefresh(); + + // Auto-expand parent + setExpandedPaths((prev) => { + const next = new Set(prev); + next.add(newItemPrompt.parentPath); + return next; + }); + }, + [newItemPrompt, onRefresh], + ); + + // Keyboard shortcuts + const handleKeyDown = useCallback( + (e: React.KeyboardEvent) => { + // Don't capture keyboard events when renaming + if (renamingPath) {return;} + + const flat = flattenVisible(tree, expandedPaths); + const curIdx = flat.findIndex((n) => n.path === selectedPath); + const curNode = curIdx >= 0 ? flat[curIdx] : null; + + switch (e.key) { + case "ArrowDown": { + e.preventDefault(); + const next = curIdx < flat.length - 1 ? flat[curIdx + 1] : flat[0]; + if (next) {setSelectedPath(next.path);} + break; + } + case "ArrowUp": { + e.preventDefault(); + const prev = curIdx > 0 ? flat[curIdx - 1] : flat[flat.length - 1]; + if (prev) {setSelectedPath(prev.path);} + break; + } + case "ArrowRight": { + e.preventDefault(); + if (curNode && (curNode.type === "folder" || curNode.type === "object")) { + setExpandedPaths((p) => new Set([...p, curNode.path])); + } + break; + } + case "ArrowLeft": { + e.preventDefault(); + if (curNode && expandedPaths.has(curNode.path)) { + setExpandedPaths((p) => { + const n = new Set(p); + n.delete(curNode.path); + return n; + }); + } + break; + } + case "Enter": { + e.preventDefault(); + if (curNode) { + if (e.shiftKey || isSystemFile(curNode.path)) { + onSelect(curNode); + } else { + setRenamingPath(curNode.path); + } + } + break; + } + case "F2": { + e.preventDefault(); + if (curNode && !isSystemFile(curNode.path)) { + setRenamingPath(curNode.path); + } + break; + } + case "Backspace": + case "Delete": { + if (curNode && !isSystemFile(curNode.path)) { + e.preventDefault(); + setConfirmDelete(curNode.path); + } + break; + } + default: { + // Cmd+key shortcuts + if (e.metaKey || e.ctrlKey) { + if (e.key === "c" && curNode) { + e.preventDefault(); + navigator.clipboard.writeText(curNode.path); + } else if (e.key === "d" && curNode && !isSystemFile(curNode.path)) { + e.preventDefault(); + apiDuplicate(curNode.path).then(() => onRefresh()); + } else if (e.key === "n") { + e.preventDefault(); + const parent = curNode + ? curNode.type === "folder" || curNode.type === "object" + ? curNode.path + : parentPath(curNode.path) + : "knowledge"; + if (e.shiftKey) { + setNewItemPrompt({ kind: "folder", parentPath: parent }); + } else { + setNewItemPrompt({ kind: "file", parentPath: parent }); + } + } + } + break; + } + } + }, + [tree, expandedPaths, selectedPath, renamingPath, onSelect, onRefresh], + ); + + if (tree.length === 0) { + return ( +
+ No files in workspace + {ctxMenu && ( + setCtxMenu(null)} + /> + )} + {newItemPrompt && ( + setNewItemPrompt(null)} + /> + )} +
+ ); + } + + return ( + +
+ {tree.map((node) => ( + + ))} +
+ + {/* Drag overlay (ghost) */} + + {activeNode ? : null} + + + {/* Context menu */} + {ctxMenu && ( + setCtxMenu(null)} + /> + )} + + {/* Delete confirmation dialog */} + {confirmDelete && ( + setConfirmDelete(null)} + /> + )} + + {/* New file/folder prompt */} + {newItemPrompt && ( + setNewItemPrompt(null)} + /> + )} + + {/* Inject animation styles */} + +
+ ); +} diff --git a/apps/web/app/components/workspace/inline-rename.tsx b/apps/web/app/components/workspace/inline-rename.tsx new file mode 100644 index 00000000000..2c4519e27dc --- /dev/null +++ b/apps/web/app/components/workspace/inline-rename.tsx @@ -0,0 +1,103 @@ +"use client"; + +import { useState, useRef, useEffect, useCallback } from "react"; + +type InlineRenameProps = { + currentName: string; + onCommit: (newName: string) => void; + onCancel: () => void; +}; + +/** + * Inline text input that replaces a tree node label for renaming. + * Commits on Enter or blur, cancels on Escape. + * Shows a shake animation on validation error. + */ +export function InlineRename({ currentName, onCommit, onCancel }: InlineRenameProps) { + const [value, setValue] = useState(currentName); + const [error, setError] = useState(false); + const inputRef = useRef(null); + + // Auto-focus and select the name (without extension) + useEffect(() => { + const input = inputRef.current; + if (!input) {return;} + input.focus(); + const dotIndex = currentName.lastIndexOf("."); + if (dotIndex > 0) { + input.setSelectionRange(0, dotIndex); + } else { + input.select(); + } + }, [currentName]); + + const validate = useCallback( + (name: string): boolean => { + const trimmed = name.trim(); + if (!trimmed) {return false;} + if (trimmed.includes("/") || trimmed.includes("\\")) {return false;} + return true; + }, + [], + ); + + const handleCommit = useCallback(() => { + const trimmed = value.trim(); + if (!validate(trimmed)) { + setError(true); + setTimeout(() => setError(false), 500); + return; + } + if (trimmed === currentName) { + onCancel(); + return; + } + onCommit(trimmed); + }, [value, currentName, validate, onCommit, onCancel]); + + const handleKeyDown = useCallback( + (e: React.KeyboardEvent) => { + e.stopPropagation(); + if (e.key === "Enter") { + e.preventDefault(); + handleCommit(); + } else if (e.key === "Escape") { + e.preventDefault(); + onCancel(); + } + }, + [handleCommit, onCancel], + ); + + return ( + { + setValue(e.target.value); + setError(false); + }} + onBlur={handleCommit} + onKeyDown={handleKeyDown} + className="flex-1 text-sm rounded px-1 py-0 outline-none min-w-0" + style={{ + background: "var(--color-bg)", + color: "var(--color-text)", + border: error ? "1px solid #ef4444" : "1px solid var(--color-accent)", + animation: error ? "renameShake 300ms ease" : undefined, + }} + onClick={(e) => e.stopPropagation()} + onMouseDown={(e) => e.stopPropagation()} + /> + ); +} + +/** Shake animation style (injected once globally via the FileManagerTree) */ +export const RENAME_SHAKE_STYLE = ` + @keyframes renameShake { + 0%, 100% { transform: translateX(0); } + 20%, 60% { transform: translateX(-3px); } + 40%, 80% { transform: translateX(3px); } + } +`; diff --git a/apps/web/app/components/workspace/object-kanban.tsx b/apps/web/app/components/workspace/object-kanban.tsx index 61395409dd0..7e198ee2582 100644 --- a/apps/web/app/components/workspace/object-kanban.tsx +++ b/apps/web/app/components/workspace/object-kanban.tsx @@ -8,6 +8,7 @@ type Field = { type: string; enum_values?: string[]; enum_colors?: string[]; + related_object_name?: string; }; type Status = { @@ -23,18 +24,38 @@ type ObjectKanbanProps = { entries: Record[]; statuses: Status[]; members?: Array<{ id: string; name: string }>; + relationLabels?: Record>; }; +// --- Helpers --- + +function parseRelationValue(value: string | null | undefined): string[] { + if (!value) {return [];} + const trimmed = value.trim(); + if (!trimmed) {return [];} + if (trimmed.startsWith("[")) { + try { + const parsed = JSON.parse(trimmed); + if (Array.isArray(parsed)) {return parsed.map(String).filter(Boolean);} + } catch { + // not valid JSON + } + } + return [trimmed]; +} + // --- Card component --- function KanbanCard({ entry, fields, members, + relationLabels, }: { entry: Record; fields: Field[]; members?: Array<{ id: string; name: string }>; + relationLabels?: Record>; }) { // Show first 4 non-status fields const displayFields = fields @@ -90,11 +111,16 @@ function KanbanCard({ const val = entry[field.name]; if (!val) {return null;} - // Resolve user fields + // Resolve display value based on field type let displayVal = String(val); if (field.type === "user") { const member = members?.find((m) => m.id === displayVal); if (member) {displayVal = member.name;} + } else if (field.type === "relation") { + const fieldLabels = relationLabels?.[field.name]; + const ids = parseRelationValue(displayVal); + const labels = ids.map((id) => fieldLabels?.[id] ?? id); + displayVal = labels.join(", "); } return ( @@ -104,10 +130,32 @@ function KanbanCard({ {field.type === "enum" ? ( + ) : field.type === "relation" ? ( + + + + + + {displayVal} + ) : ( { @@ -283,6 +332,7 @@ export function ObjectKanban({ entry={entry} fields={cardFields} members={members} + relationLabels={relationLabels} /> )) )} @@ -322,6 +372,7 @@ export function ObjectKanban({ entry={entry} fields={cardFields} members={members} + relationLabels={relationLabels} /> ))}
diff --git a/apps/web/app/components/workspace/object-table.tsx b/apps/web/app/components/workspace/object-table.tsx index 4f3e1a6e5ff..893919afb8a 100644 --- a/apps/web/app/components/workspace/object-table.tsx +++ b/apps/web/app/components/workspace/object-table.tsx @@ -2,6 +2,8 @@ import { useState, useMemo } from "react"; +// --- Types --- + type Field = { id: string; name: string; @@ -9,16 +11,47 @@ type Field = { enum_values?: string[]; enum_colors?: string[]; enum_multiple?: boolean; + related_object_id?: string; + relationship_type?: string; + related_object_name?: string; sort_order?: number; }; +type ReverseRelation = { + fieldName: string; + sourceObjectName: string; + sourceObjectId: string; + displayField: string; + entries: Record>; +}; + type ObjectTableProps = { objectName: string; fields: Field[]; entries: Record[]; members?: Array<{ id: string; name: string }>; + relationLabels?: Record>; + reverseRelations?: ReverseRelation[]; + onNavigateToObject?: (objectName: string) => void; }; +// --- Helpers --- + +function parseRelationValue(value: string | null | undefined): string[] { + if (!value) {return [];} + const trimmed = value.trim(); + if (!trimmed) {return [];} + if (trimmed.startsWith("[")) { + try { + const parsed = JSON.parse(trimmed); + if (Array.isArray(parsed)) {return parsed.map(String).filter(Boolean);} + } catch { + // not valid JSON + } + } + return [trimmed]; +} + // --- Sort helpers --- type SortState = { @@ -111,14 +144,154 @@ function UserCell({ ); } +/** Inline link icon (small arrow) for relation chips. */ +function LinkIcon() { + return ( + + + + + ); +} + +/** A single relation chip showing a display label with an optional link icon. */ +function RelationChip({ + label, + objectName, + onNavigate, +}: { + label: string; + objectName?: string; + onNavigate?: (objectName: string) => void; +}) { + const handleClick = objectName && onNavigate + ? (e: React.MouseEvent) => { + e.stopPropagation(); + onNavigate(objectName); + } + : undefined; + + return ( + + + {label} + + ); +} + +/** Render a relation field cell with resolved display labels. */ +function RelationCell({ + value, + field, + relationLabels, + onNavigate, +}: { + value: unknown; + field: Field; + relationLabels?: Record>; + onNavigate?: (objectName: string) => void; +}) { + const fieldLabels = relationLabels?.[field.name]; + const ids = parseRelationValue(String(value)); + + if (ids.length === 0) { + return ( + + -- + + ); + } + + return ( + + {ids.map((id) => ( + + ))} + + ); +} + +/** Render a reverse relation cell (incoming links from another object). */ +function ReverseRelationCell({ + links, + sourceObjectName, + onNavigate, +}: { + links: Array<{ id: string; label: string }>; + sourceObjectName: string; + onNavigate?: (objectName: string) => void; +}) { + if (!links || links.length === 0) { + return ( + + -- + + ); + } + + const displayLinks = links.slice(0, 5); + const overflow = links.length - displayLinks.length; + + return ( + + {displayLinks.map((link) => ( + + ))} + {overflow > 0 && ( + + +{overflow} more + + )} + + ); +} + function CellValue({ value, field, members, + relationLabels, + onNavigate, }: { value: unknown; field: Field; members?: Array<{ id: string; name: string }>; + relationLabels?: Record>; + onNavigate?: (objectName: string) => void; }) { if (value === null || value === undefined || value === "") { return ( @@ -141,6 +314,15 @@ function CellValue({ return ; case "user": return ; + case "relation": + return ( + + ); case "email": return (
(null); @@ -191,6 +376,14 @@ export function ObjectTable({ }); }, [entries, sort]); + // Filter out reverse relations with no actual data + const activeReverseRelations = useMemo(() => { + if (!reverseRelations) {return [];} + return reverseRelations.filter( + (rr) => Object.keys(rr.entries).length > 0, + ); + }, [reverseRelations]); + if (entries.length === 0) { return (
@@ -210,6 +403,7 @@ export function ObjectTable({ + {/* Regular field columns */} {fields.map((field) => ( ))} + + {/* Reverse relation columns */} + {activeReverseRelations.map((rr) => ( + + ))} @@ -253,6 +492,7 @@ export function ObjectTable({ idx % 2 === 0 ? "transparent" : "var(--color-surface)"; }} > + {/* Regular field cells */} {fields.map((field) => ( ))} + + {/* Reverse relation cells */} + {activeReverseRelations.map((rr) => { + const entryId = String(entry.entry_id ?? ""); + const links = rr.entries[entryId] ?? []; + return ( + + ); + })} ))} diff --git a/apps/web/app/components/workspace/workspace-sidebar.tsx b/apps/web/app/components/workspace/workspace-sidebar.tsx index 1e52d8964ff..9a005e59e37 100644 --- a/apps/web/app/components/workspace/workspace-sidebar.tsx +++ b/apps/web/app/components/workspace/workspace-sidebar.tsx @@ -1,11 +1,12 @@ "use client"; -import { KnowledgeTree, type TreeNode } from "./knowledge-tree"; +import { FileManagerTree, type TreeNode } from "./file-manager-tree"; type WorkspaceSidebarProps = { tree: TreeNode[]; activePath: string | null; onSelect: (node: TreeNode) => void; + onRefresh: () => void; orgName?: string; loading?: boolean; }; @@ -33,6 +34,7 @@ export function WorkspaceSidebar({ tree, activePath, onSelect, + onRefresh, orgName, loading, }: WorkspaceSidebarProps) { @@ -84,10 +86,11 @@ export function WorkspaceSidebar({ /> ) : ( - )} diff --git a/apps/web/app/hooks/use-workspace-watcher.ts b/apps/web/app/hooks/use-workspace-watcher.ts new file mode 100644 index 00000000000..dce541e019d --- /dev/null +++ b/apps/web/app/hooks/use-workspace-watcher.ts @@ -0,0 +1,143 @@ +"use client"; + +import { useState, useEffect, useCallback, useRef } from "react"; + +export type TreeNode = { + name: string; + path: string; + type: "object" | "document" | "folder" | "file" | "database" | "report"; + icon?: string; + defaultView?: "table" | "kanban"; + children?: TreeNode[]; +}; + +/** + * Hook that fetches the workspace tree and subscribes to SSE file-change events + * for live reactivity. Falls back to polling if SSE is unavailable. + */ +export function useWorkspaceWatcher() { + const [tree, setTree] = useState([]); + const [loading, setLoading] = useState(true); + const [exists, setExists] = useState(false); + + const mountedRef = useRef(true); + const retryDelayRef = useRef(1000); + + // Fetch the tree from the API + const fetchTree = useCallback(async () => { + try { + const res = await fetch("/api/workspace/tree"); + const data = await res.json(); + if (mountedRef.current) { + setTree(data.tree ?? []); + setExists(data.exists ?? false); + setLoading(false); + } + } catch { + if (mountedRef.current) {setLoading(false);} + } + }, []); + + // Manual refresh for use after mutations + const refresh = useCallback(() => { + fetchTree(); + }, [fetchTree]); + + // Initial fetch + useEffect(() => { + mountedRef.current = true; + fetchTree(); + return () => { + mountedRef.current = false; + }; + }, [fetchTree]); + + // SSE subscription with auto-reconnect and polling fallback + useEffect(() => { + let eventSource: EventSource | null = null; + let pollInterval: ReturnType | null = null; + let reconnectTimeout: ReturnType | null = null; + let alive = true; + + // Debounce rapid SSE events into a single tree refetch + let debounceTimer: ReturnType | null = null; + function debouncedRefetch() { + if (debounceTimer) {clearTimeout(debounceTimer);} + debounceTimer = setTimeout(() => { + if (alive) {fetchTree();} + }, 300); + } + + function connectSSE() { + if (!alive) {return;} + + try { + eventSource = new EventSource("/api/workspace/watch"); + + eventSource.addEventListener("connected", () => { + // Reset retry delay on successful connection + retryDelayRef.current = 1000; + // Stop polling fallback if it was active + if (pollInterval) { + clearInterval(pollInterval); + pollInterval = null; + } + }); + + eventSource.addEventListener("change", () => { + debouncedRefetch(); + }); + + eventSource.addEventListener("error", () => { + // SSE errored -- close and schedule reconnect + eventSource?.close(); + eventSource = null; + scheduleReconnect(); + }); + + eventSource.onerror = () => { + eventSource?.close(); + eventSource = null; + scheduleReconnect(); + }; + } catch { + // SSE not supported or network error -- fall back to polling + startPolling(); + } + } + + function scheduleReconnect() { + if (!alive) {return;} + // Start polling as fallback while we wait to reconnect + startPolling(); + const delay = retryDelayRef.current; + retryDelayRef.current = Math.min(delay * 2, 30_000); + reconnectTimeout = setTimeout(() => { + if (pollInterval) { + clearInterval(pollInterval); + pollInterval = null; + } + connectSSE(); + }, delay); + } + + function startPolling() { + if (pollInterval || !alive) {return;} + pollInterval = setInterval(() => { + if (alive) {fetchTree();} + }, 5000); + } + + connectSSE(); + + return () => { + alive = false; + if (eventSource) {eventSource.close();} + if (pollInterval) {clearInterval(pollInterval);} + if (reconnectTimeout) {clearTimeout(reconnectTimeout);} + if (debounceTimer) {clearTimeout(debounceTimer);} + }; + }, [fetchTree]); + + return { tree, loading, exists, refresh }; +} diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index fa0efb8a584..079b637241c 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -1,337 +1,45 @@ "use client"; -import { useChat } from "@ai-sdk/react"; -import { DefaultChatTransport } from "ai"; -import { useCallback, useEffect, useRef, useState } from "react"; -import { ChatMessage } from "./components/chat-message"; +import { useCallback, useRef, useState } from "react"; +import { ChatPanel, type ChatPanelHandle } from "./components/chat-panel"; import { Sidebar } from "./components/sidebar"; -const transport = new DefaultChatTransport({ api: "/api/chat" }); - export default function Home() { - const { messages, sendMessage, status, stop, error, setMessages } = useChat({ transport }); - const [input, setInput] = useState(""); - const [currentSessionId, setCurrentSessionId] = useState(null); - const [loadingSession, setLoadingSession] = useState(false); - const [startingNewSession, setStartingNewSession] = useState(false); + const chatRef = useRef(null); + const [activeSessionId, setActiveSessionId] = useState(null); const [sidebarRefreshKey, setSidebarRefreshKey] = useState(0); - const messagesEndRef = useRef(null); - // Track which messages have already been persisted to avoid double-saves - const savedMessageIdsRef = useRef>(new Set()); - // Set when /new or + explicitly triggers a new session, so we can record - // the /new command as the first entry when the session is actually created. - const newSessionPendingRef = useRef(false); - - // Auto-scroll to bottom on new messages - useEffect(() => { - messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); - }, [messages]); - - const isStreaming = status === "streaming" || status === "submitted"; - - const refreshSidebar = useCallback(() => { - setSidebarRefreshKey((k) => k + 1); - }, []); - - /** Persist messages to the web session's .jsonl file. - * Saves the full `parts` array (reasoning, tool calls, output, text) - * alongside a plain-text `content` field for backward compat / sidebar. */ - const saveMessages = useCallback( - async ( - sessionId: string, - msgs: Array<{ - id: string; - role: string; - content: string; - parts?: unknown[]; - }>, - title?: string, - ) => { - const toSave = msgs.map((m) => ({ - id: m.id, - role: m.role, - content: m.content, - // Persist full UIMessage parts so reasoning + tool calls survive reload - ...(m.parts ? { parts: m.parts } : {}), - timestamp: new Date().toISOString(), - })); - try { - await fetch(`/api/web-sessions/${sessionId}/messages`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ messages: toSave, title }), - }); - for (const m of msgs) {savedMessageIdsRef.current.add(m.id);} - refreshSidebar(); - } catch (err) { - console.error("Failed to save messages:", err); - } - }, - [refreshSidebar], - ); - - /** Create a new web chat session and return its ID */ - const createSession = useCallback(async (title: string): Promise => { - const res = await fetch("/api/web-sessions", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ title }), - }); - const data = await res.json(); - return data.session.id; - }, []); - - /** Extract plain text from a UIMessage */ - const getMessageText = useCallback( - (msg: (typeof messages)[number]): string => { - return ( - msg.parts - ?.filter((p): p is { type: "text"; text: string } => p.type === "text") - .map((p) => p.text) - .join("\n") ?? "" - ); + const handleSessionSelect = useCallback( + (sessionId: string) => { + chatRef.current?.loadSession(sessionId); }, [], ); - // When streaming finishes, persist all unsaved messages (user + assistant). - // This is the single save-point for chat messages — handleSubmit only saves - // the synthetic /new marker; actual user/assistant messages are saved here - // so their ids match what useChat tracks (avoids duplicate-id issues). - const prevStatusRef = useRef(status); - useEffect(() => { - const wasStreaming = - prevStatusRef.current === "streaming" || prevStatusRef.current === "submitted"; - const isNowReady = status === "ready"; + const handleNewSession = useCallback(() => { + chatRef.current?.newSession(); + }, []); - if (wasStreaming && isNowReady && currentSessionId) { - const unsaved = messages.filter((m) => !savedMessageIdsRef.current.has(m.id)); - if (unsaved.length > 0) { - const toSave = unsaved.map((m) => ({ - id: m.id, - role: m.role, - content: getMessageText(m), - parts: m.parts, - })); - saveMessages(currentSessionId, toSave); - } - } - prevStatusRef.current = status; - }, [status, messages, currentSessionId, saveMessages, getMessageText]); - - const handleSubmit = async (e: React.FormEvent) => { - e.preventDefault(); - if (!input.trim() || isStreaming) {return;} - - const userText = input.trim(); - setInput(""); - - // "/new" triggers a new session (same as clicking the + button) - if (userText.toLowerCase() === "/new") { - handleNewSession(); - return; - } - - // Create a session if we don't have one yet - let sessionId = currentSessionId; - if (!sessionId) { - const title = userText.length > 60 ? userText.slice(0, 60) + "..." : userText; - sessionId = await createSession(title); - setCurrentSessionId(sessionId); - refreshSidebar(); - - // If this session was triggered by /new or +, record it as the first entry - if (newSessionPendingRef.current) { - newSessionPendingRef.current = false; - const newMsgId = `system-new-${Date.now()}`; - await saveMessages(sessionId, [ - { - id: newMsgId, - role: "user", - content: "/new", - parts: [{ type: "text", text: "/new" }], - }, - ]); - } - } - - // Don't save the user message eagerly here — the useEffect that fires - // when streaming finishes saves all unsaved messages (user + assistant) - // using useChat's own ids, which avoids duplicate entries. - - // Send to agent - sendMessage({ text: userText }); - }; - - /** Load a previous web chat session */ - const handleSessionSelect = useCallback( - async (sessionId: string) => { - if (sessionId === currentSessionId) {return;} - - setLoadingSession(true); - setCurrentSessionId(sessionId); - savedMessageIdsRef.current.clear(); - - try { - const response = await fetch(`/api/web-sessions/${sessionId}`); - if (!response.ok) {throw new Error("Failed to load session");} - - const data = await response.json(); - const sessionMessages: Array<{ - id: string; - role: "user" | "assistant"; - content: string; - parts?: Array>; - }> = data.messages || []; - - // Convert to UIMessage format and mark all as saved. - // Restore from saved `parts` if available (preserves reasoning, - // tool calls, output), falling back to plain text for old sessions. - const uiMessages = sessionMessages.map((msg) => { - savedMessageIdsRef.current.add(msg.id); - return { - id: msg.id, - role: msg.role, - parts: msg.parts ?? [{ type: "text" as const, text: msg.content }], - }; - }); - - setMessages(uiMessages); - } catch (err) { - console.error("Error loading session:", err); - } finally { - setLoadingSession(false); - } - }, - [currentSessionId, setMessages], - ); - - /** Start a brand new session: clear UI, send /new to agent */ - const handleNewSession = useCallback(async () => { - // Clear the UI immediately - setCurrentSessionId(null); - setMessages([]); - savedMessageIdsRef.current.clear(); - // Mark that the next session should start with a /new entry - newSessionPendingRef.current = true; - - // Send /new to the agent backend to start a fresh session - setStartingNewSession(true); - try { - await fetch("/api/new-session", { method: "POST" }); - } catch (err) { - console.error("Failed to send /new:", err); - } finally { - setStartingNewSession(false); - } - }, [setMessages]); + const refreshSidebar = useCallback(() => { + setSidebarRefreshKey((k) => k + 1); + }, []); return (
{/* Main chat area */}
- {/* Chat header */} -
-
-

- {currentSessionId ? "Chat Session" : "New Chat"} -

-

- {startingNewSession - ? "Starting new session..." - : loadingSession - ? "Loading session..." - : status === "ready" - ? "Ready" - : status === "submitted" - ? "Thinking..." - : status === "streaming" - ? "Streaming..." - : status === "error" - ? "Error" - : status} -

-
-
- {isStreaming && ( - - )} -
-
- - {/* Messages */} -
- {loadingSession ? ( -
-
-
-

Loading session...

-
-
- ) : messages.length === 0 ? ( -
-
-

🦞

-

OpenClaw Chat

-

- Send a message to start a conversation with your agent. -

-
-
- ) : ( -
- {messages.map((message) => ( - - ))} -
-
- )} -
- - {/* Error display */} - {error && ( -
-

Error: {error.message}

-
- )} - - {/* Input */} -
-
- setInput(e.target.value)} - placeholder="Message OpenClaw..." - disabled={isStreaming || loadingSession || startingNewSession} - className="flex-1 px-4 py-3 bg-[var(--color-bg)] border border-[var(--color-border)] rounded-xl text-[var(--color-text)] placeholder:text-[var(--color-text-muted)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent)] focus:border-transparent disabled:opacity-50 text-sm" - /> - - -
+
); diff --git a/apps/web/app/workspace/page.tsx b/apps/web/app/workspace/page.tsx index 84a3cc48508..7967583f7d4 100644 --- a/apps/web/app/workspace/page.tsx +++ b/apps/web/app/workspace/page.tsx @@ -1,9 +1,10 @@ "use client"; -import { useEffect, useState, useCallback, useRef } from "react"; +import { useEffect, useState, useCallback, useRef, useMemo } from "react"; import { useSearchParams } from "next/navigation"; import { WorkspaceSidebar } from "../components/workspace/workspace-sidebar"; -import { type TreeNode } from "../components/workspace/knowledge-tree"; +import { type TreeNode } from "../components/workspace/file-manager-tree"; +import { useWorkspaceWatcher } from "../hooks/use-workspace-watcher"; import { ObjectTable } from "../components/workspace/object-table"; import { ObjectKanban } from "../components/workspace/object-kanban"; import { DocumentView } from "../components/workspace/document-view"; @@ -12,6 +13,7 @@ import { DatabaseViewer } from "../components/workspace/database-viewer"; import { Breadcrumbs } from "../components/workspace/breadcrumbs"; import { EmptyState } from "../components/workspace/empty-state"; import { ReportViewer } from "../components/charts/report-viewer"; +import { ChatPanel } from "../components/chat-panel"; // --- Types --- @@ -21,6 +23,14 @@ type WorkspaceContext = { members?: Array<{ id: string; name: string; email: string; role: string }>; }; +type ReverseRelation = { + fieldName: string; + sourceObjectName: string; + sourceObjectId: string; + displayField: string; + entries: Record>; +}; + type ObjectData = { object: { id: string; @@ -28,6 +38,7 @@ type ObjectData = { description?: string; icon?: string; default_view?: string; + display_field?: string; }; fields: Array<{ id: string; @@ -36,6 +47,9 @@ type ObjectData = { enum_values?: string[]; enum_colors?: string[]; enum_multiple?: boolean; + related_object_id?: string; + relationship_type?: string; + related_object_name?: string; sort_order?: number; }>; statuses: Array<{ @@ -45,6 +59,9 @@ type ObjectData = { sort_order?: number; }>; entries: Record[]; + relationLabels?: Record>; + reverseRelations?: ReverseRelation[]; + effectiveDisplayField?: string; }; type FileData = { @@ -91,47 +108,48 @@ export default function WorkspacePage() { const searchParams = useSearchParams(); const initialPathHandled = useRef(false); - const [tree, setTree] = useState([]); + // Live-reactive tree via SSE watcher + const { tree, loading: treeLoading, exists: workspaceExists, refresh: refreshTree } = useWorkspaceWatcher(); + const [context, setContext] = useState(null); const [activePath, setActivePath] = useState(null); const [content, setContent] = useState({ kind: "none" }); - const [treeLoading, setTreeLoading] = useState(true); - const [workspaceExists, setWorkspaceExists] = useState(true); + const [showChatSidebar, setShowChatSidebar] = useState(true); - // Fetch tree and context on mount + // Derive file context for chat sidebar directly from activePath (stable across loading) + const fileContext = useMemo(() => { + if (!activePath) {return undefined;} + const filename = activePath.split("/").pop() || activePath; + return { path: activePath, filename }; + }, [activePath]); + + // Update content state when the agent edits the file (live reload) + const handleFileChanged = useCallback((newContent: string) => { + setContent((prev) => { + if (prev.kind === "document") { + return { ...prev, data: { ...prev.data, content: newContent } }; + } + if (prev.kind === "file") { + return { ...prev, data: { ...prev.data, content: newContent } }; + } + return prev; + }); + }, []); + + // Fetch workspace context on mount useEffect(() => { let cancelled = false; - - async function load() { - setTreeLoading(true); + async function loadContext() { try { - const [treeRes, ctxRes] = await Promise.all([ - fetch("/api/workspace/tree"), - fetch("/api/workspace/context"), - ]); - - const treeData = await treeRes.json(); - const ctxData = await ctxRes.json(); - - if (cancelled) {return;} - - setTree(treeData.tree ?? []); - setWorkspaceExists(treeData.exists ?? false); - setContext(ctxData); + const res = await fetch("/api/workspace/context"); + const data = await res.json(); + if (!cancelled) {setContext(data);} } catch { - if (!cancelled) { - setTree([]); - setWorkspaceExists(false); - } - } finally { - if (!cancelled) {setTreeLoading(false);} + // ignore } } - - load(); - return () => { - cancelled = true; - }; + loadContext(); + return () => { cancelled = true; }; }, []); // Load content when path changes @@ -165,10 +183,8 @@ export default function WorkspacePage() { title: node.name.replace(/\.md$/, ""), }); } else if (node.type === "database") { - // Database files are handled entirely by the DatabaseViewer component setContent({ kind: "database", dbPath: node.path, filename: node.name }); } else if (node.type === "report") { - // Report files are handled entirely by the ReportViewer component setContent({ kind: "report", reportPath: node.path, filename: node.name }); } else if (node.type === "file") { const res = await fetch( @@ -226,6 +242,42 @@ export default function WorkspacePage() { [tree, loadContent], ); + // Navigate to an object by name (used by relation links) + const handleNavigateToObject = useCallback( + (objectName: string) => { + // Find the object node in the tree + function findObjectNode(nodes: TreeNode[]): TreeNode | null { + for (const node of nodes) { + if (node.type === "object" && objectNameFromPath(node.path) === objectName) { + return node; + } + if (node.children) { + const found = findObjectNode(node.children); + if (found) {return found;} + } + } + return null; + } + const node = findObjectNode(tree); + if (node) {loadContent(node);} + }, + [tree, loadContent], + ); + + // Refresh the currently displayed object (e.g. after changing display field) + const refreshCurrentObject = useCallback(async () => { + if (content.kind !== "object") {return;} + const name = content.data.object.name; + try { + const res = await fetch(`/api/workspace/objects/${encodeURIComponent(name)}`); + if (!res.ok) {return;} + const data: ObjectData = await res.json(); + setContent({ kind: "object", data }); + } catch { + // ignore + } + }, [content]); + return (
{/* Sidebar */} @@ -233,6 +285,7 @@ export default function WorkspacePage() { tree={tree} activePath={activePath} onSelect={handleNodeSelect} + onRefresh={refreshTree} orgName={context?.organization?.name} loading={treeLoading} /> @@ -242,25 +295,63 @@ export default function WorkspacePage() { {/* Top bar with breadcrumbs */} {activePath && (
+ {/* Chat sidebar toggle */} +
)} - {/* Content area */} -
- + {/* Content + Chat sidebar row */} +
+ {/* Content area */} +
+ +
+ + {/* Chat sidebar (file-scoped) */} + {fileContext && showChatSidebar && ( + + )}
@@ -275,12 +366,16 @@ function ContentRenderer({ tree, members, onNodeSelect, + onNavigateToObject, + onRefreshObject, }: { content: ContentState; workspaceExists: boolean; tree: TreeNode[]; members?: Array<{ id: string; name: string; email: string; role: string }>; onNodeSelect: (node: TreeNode) => void; + onNavigateToObject: (objectName: string) => void; + onRefreshObject: () => void; }) { switch (content.kind) { case "loading": @@ -298,65 +393,12 @@ function ContentRenderer({ case "object": return ( -
- {/* Object header */} -
-

- {content.data.object.name} -

- {content.data.object.description && ( -

- {content.data.object.description} -

- )} -
- - {content.data.entries.length} entries - - - {content.data.fields.length} fields - -
-
- - {/* Table or Kanban */} - {content.data.object.default_view === "kanban" ? ( - - ) : ( - - )} -
+ ); case "document": @@ -408,6 +450,189 @@ function ContentRenderer({ } } +// --- Object View (header + display field selector + table/kanban) --- + +function ObjectView({ + data, + members, + onNavigateToObject, + onRefreshObject, +}: { + data: ObjectData; + members?: Array<{ id: string; name: string; email: string; role: string }>; + onNavigateToObject: (objectName: string) => void; + onRefreshObject: () => void; +}) { + const [updatingDisplayField, setUpdatingDisplayField] = useState(false); + + const handleDisplayFieldChange = async (fieldName: string) => { + setUpdatingDisplayField(true); + try { + const res = await fetch( + `/api/workspace/objects/${encodeURIComponent(data.object.name)}/display-field`, + { + method: "PATCH", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ displayField: fieldName }), + }, + ); + if (res.ok) { + // Refresh the object data to get updated relation labels + onRefreshObject(); + } + } catch { + // ignore + } finally { + setUpdatingDisplayField(false); + } + }; + + // Fields eligible to be the display field (text-like types) + const displayFieldCandidates = data.fields.filter( + (f) => !["relation", "boolean", "richtext"].includes(f.type), + ); + + const hasRelationFields = data.fields.some((f) => f.type === "relation"); + const hasReverseRelations = + data.reverseRelations && data.reverseRelations.some( + (rr) => Object.keys(rr.entries).length > 0, + ); + + return ( +
+ {/* Object header */} +
+

+ {data.object.name} +

+ {data.object.description && ( +

+ {data.object.description} +

+ )} +
+ + {data.entries.length} entries + + + {data.fields.length} fields + + + {/* Relation info badges */} + {hasRelationFields && ( + + {data.fields.filter((f) => f.type === "relation").length} relation{data.fields.filter((f) => f.type === "relation").length !== 1 ? "s" : ""} + + )} + {hasReverseRelations && ( + + {data.reverseRelations!.filter((rr) => Object.keys(rr.entries).length > 0).length} linked from + + )} +
+ + {/* Display field selector */} + {displayFieldCandidates.length > 0 && ( +
+ + Display field: + + + {updatingDisplayField && ( +
+ )} + + Used when other objects link here + +
+ )} +
+ + {/* Table or Kanban */} + {data.object.default_view === "kanban" ? ( + + ) : ( + + )} +
+ ); +} + // --- Directory Listing --- function DirectoryListing({ diff --git a/apps/web/lib/workspace.ts b/apps/web/lib/workspace.ts index cbf905d60aa..582b076b885 100644 --- a/apps/web/lib/workspace.ts +++ b/apps/web/lib/workspace.ts @@ -91,6 +91,52 @@ export function duckdbQuery>( } } +/** + * Execute a DuckDB statement (no JSON output expected). + * Used for INSERT/UPDATE/ALTER operations. + */ +export function duckdbExec(sql: string): boolean { + const db = duckdbPath(); + if (!db) {return false;} + + const bin = resolveDuckdbBin(); + if (!bin) {return false;} + + try { + const escapedSql = sql.replace(/'/g, "'\\''"); + execSync(`'${bin}' '${db}' '${escapedSql}'`, { + encoding: "utf-8", + timeout: 10_000, + shell: "/bin/sh", + }); + return true; + } catch { + return false; + } +} + +/** + * Parse a relation field value which may be a single ID or a JSON array of IDs. + * Handles both many_to_one (single ID string) and many_to_many (JSON array). + */ +export function parseRelationValue(value: string | null | undefined): string[] { + if (!value) {return [];} + const trimmed = value.trim(); + if (!trimmed) {return [];} + + // Try JSON array first (many-to-many) + if (trimmed.startsWith("[")) { + try { + const parsed = JSON.parse(trimmed); + if (Array.isArray(parsed)) {return parsed.map(String).filter(Boolean);} + } catch { + // not valid JSON array, treat as single value + } + } + + return [trimmed]; +} + /** Database file extensions that trigger the database viewer. */ export const DB_EXTENSIONS = new Set([ "duckdb", @@ -206,6 +252,40 @@ export function parseSimpleYaml( return result; } +// --- System file protection --- + +const SYSTEM_FILE_PATTERNS = [ + /^\.object\.yaml$/, + /^workspace\.duckdb/, + /^workspace_context\.yaml$/, + /\.wal$/, + /\.tmp$/, +]; + +/** Check if a workspace-relative path refers to a protected system file. */ +export function isSystemFile(relativePath: string): boolean { + const base = relativePath.split("/").pop() ?? ""; + return SYSTEM_FILE_PATTERNS.some((p) => p.test(base)); +} + +/** + * Like safeResolvePath but does NOT require the target to exist on disk. + * Useful for mkdir / create / rename-target validation. + * Still prevents path traversal. + */ +export function safeResolveNewPath(relativePath: string): string | null { + const root = resolveDenchRoot(); + if (!root) {return null;} + + const normalized = normalize(relativePath); + if (normalized.startsWith("..") || normalized.includes("/../")) {return null;} + + const absolute = resolve(root, normalized); + if (!absolute.startsWith(resolve(root))) {return null;} + + return absolute; +} + /** * Read a file from the workspace safely. * Returns content and detected type, or null if not found. diff --git a/apps/web/package-lock.json b/apps/web/package-lock.json index 300568ae551..11e98095802 100644 --- a/apps/web/package-lock.json +++ b/apps/web/package-lock.json @@ -9,6 +9,9 @@ "version": "0.1.0", "dependencies": { "@ai-sdk/react": "^3.0.75", + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", "ai": "^6.0.73", "next": "^15.3.3", "react": "^19.1.0", @@ -493,6 +496,59 @@ "resolved": "../../node_modules/.pnpm/@ai-sdk+react@3.0.75_react@19.1.0_zod@4.3.6/node_modules/@ai-sdk/react", "link": true }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", + "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", + "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", + "license": "MIT", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.1", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/sortable": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-10.0.0.tgz", + "integrity": "sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==", + "license": "MIT", + "dependencies": { + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.3.0", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.27.3", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", @@ -3541,6 +3597,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/typescript": { "resolved": "../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript", "link": true diff --git a/apps/web/package.json b/apps/web/package.json index 3933d32c07d..3a61a18dbe6 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -11,6 +11,9 @@ }, "dependencies": { "@ai-sdk/react": "^3.0.75", + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", "ai": "^6.0.73", "next": "^15.3.3", "react": "^19.1.0", diff --git a/apps/web/tsconfig.tsbuildinfo b/apps/web/tsconfig.tsbuildinfo index 23f138d10cd..e86429e5232 100644 --- a/apps/web/tsconfig.tsbuildinfo +++ b/apps/web/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/amp.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/amp.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dom-events.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/canary.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/experimental.d.ts","../../node_modules/.pnpm/@types+react-dom@19.1.5_@types+react@19.1.4/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+react-dom@19.1.5_@types+react@19.1.4/node_modules/@types/react-dom/canary.d.ts","../../node_modules/.pnpm/@types+react-dom@19.1.5_@types+react@19.1.4/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/fallback.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/constants.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/page-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-kind.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/flight-data-helpers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/amp-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/react-dev-overlay/pages/pages-dev-overlay.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/render.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/prefetch-rsc.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/clean-async-snapshot-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/clean-async-snapshot.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/server-inserted-metadata.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/metadata/metadata-boundary.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/utils.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/export/routes/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/export/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/export/worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/after.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/cli/next-test.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/trace.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/shared.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/swc/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/react-dev-overlay/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/.pnpm/@next+env@15.3.3/node_modules/@next/env/dist/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/app.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/runtime-config.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/document.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dynamic.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/error.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/head.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/image-component.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/image.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/link.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/link.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/navigation.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/script.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/script.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/root-params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/connection.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/types/global.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/types/compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/image-types/global.d.ts","./next-env.d.ts","./next.config.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/display.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/@vitest/utils/dist/timers.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/runner/dist/tasks.d-c7uxawj9.d.ts","./node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/tinyrainbow/dist/index.d.ts","./node_modules/@standard-schema/spec/dist/index.d.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/module-runner.d.ts","./node_modules/esbuild/lib/main.d.ts","./node_modules/vite/types/internal/terseroptions.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/types/internal/csspreprocessoroptions.d.ts","./node_modules/vite/types/internal/lightningcssoptions.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/vitest/dist/chunks/traces.d.402v_yfi.d.ts","./node_modules/vitest/dist/chunks/rpc.d.rh3apgef.d.ts","./node_modules/vitest/dist/chunks/config.d.cy95hicx.d.ts","./node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","./node_modules/vitest/dist/chunks/worker.d.dyxm8del.d.ts","./node_modules/vitest/dist/chunks/browser.d.chkacdzh.d.ts","./node_modules/@vitest/mocker/dist/types.d-b8cckmht.d.ts","./node_modules/@vitest/mocker/dist/index.d-c-slyzi-.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vitest/dist/chunks/coverage.d.bztk59wp.d.ts","./node_modules/@vitest/utils/dist/serialize.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/vitest/dist/browser.d.ts","./node_modules/vitest/browser/context.d.ts","./node_modules/vitest/optional-types.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.d.cwxni2jg.d.ts","./node_modules/vitest/dist/chunks/plugin.d.ctqpeehp.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","../../node_modules/.pnpm/@ai-sdk+provider@3.0.7/node_modules/@ai-sdk/provider/dist/index.d.ts","../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/index.d.cts","../../node_modules/.pnpm/eventsource-parser@3.0.6/node_modules/eventsource-parser/dist/stream.d.ts","../../node_modules/.pnpm/@ai-sdk+provider-utils@4.0.13_zod@4.3.6/node_modules/@ai-sdk/provider-utils/dist/index.d.ts","../../node_modules/.pnpm/@ai-sdk+gateway@3.0.36_zod@4.3.6/node_modules/@ai-sdk/gateway/dist/index.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/exception.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/time.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consolelogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/observableresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/metric.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/meter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/noopmeter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/meterprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/textmappropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spanoptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/proxytracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/proxytracerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/samplingresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.d.ts","../../node_modules/.pnpm/ai@6.0.73_zod@4.3.6/node_modules/ai/dist/index.d.ts","./lib/agent-runner.ts","./app/api/chat/route.ts","./app/api/memories/route.ts","./app/api/new-session/route.ts","./app/api/sessions/route.ts","./app/api/sessions/[sessionid]/route.ts","./app/api/skills/route.ts","./app/api/web-sessions/route.ts","./app/api/web-sessions/[id]/route.ts","./app/api/web-sessions/[id]/messages/route.ts","./lib/workspace.ts","./app/api/workspace/context/route.ts","./app/api/workspace/db/introspect/route.ts","./app/api/workspace/db/query/route.ts","./app/api/workspace/file/route.ts","./app/api/workspace/objects/[name]/route.ts","./app/api/workspace/query/route.ts","./lib/report-filters.ts","./app/api/workspace/reports/execute/route.ts","./app/api/workspace/tree/route.ts","./app/components/charts/types.ts","./node_modules/vitest/dist/chunks/global.d.b15mdlcr.d.ts","./node_modules/vitest/dist/chunks/suite.d.bjwk38hb.d.ts","./node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./lib/report-blocks.ts","./lib/report-blocks.test.ts","./lib/report-filters.test.ts","./lib/report-utils.ts","./lib/report-utils.test.ts","./app/layout.tsx","../../node_modules/.pnpm/@ai-sdk+react@3.0.75_react@19.1.0_zod@4.3.6/node_modules/@ai-sdk/react/dist/index.d.ts","./app/components/chain-of-thought.tsx","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/zindex/zindexlayer.d.ts","./node_modules/recharts/types/cartesian/getcartesianposition.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/util/scale/customscaledefinition.d.ts","./node_modules/redux/dist/redux.d.ts","./node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.d.ts","./node_modules/reselect/dist/reselect.d.ts","./node_modules/redux-thunk/dist/redux-thunk.d.ts","./node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","./node_modules/@reduxjs/toolkit/dist/index.d.mts","./node_modules/recharts/types/state/cartesianaxisslice.d.ts","./node_modules/recharts/types/synchronisation/types.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/context/brushupdatecontext.d.ts","./node_modules/recharts/types/state/chartdataslice.d.ts","./node_modules/recharts/types/state/types/linesettings.d.ts","./node_modules/recharts/types/state/types/scattersettings.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/util/useelementoffset.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/state/legendslice.d.ts","./node_modules/recharts/types/state/types/stackedgraphicalitem.d.ts","./node_modules/recharts/types/util/stacks/stacktypes.d.ts","./node_modules/recharts/types/util/scale/rechartsscale.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/state/selectors/areaselectors.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/state/types/areasettings.d.ts","./node_modules/recharts/types/animation/easing.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/state/types/barsettings.d.ts","./node_modules/recharts/types/state/types/radialbarsettings.d.ts","./node_modules/recharts/types/util/svgpropertiesnoevents.d.ts","./node_modules/recharts/types/util/useuniqueid.d.ts","./node_modules/recharts/types/state/types/piesettings.d.ts","./node_modules/recharts/types/state/types/radarsettings.d.ts","./node_modules/recharts/types/state/graphicalitemsslice.d.ts","./node_modules/recharts/types/state/tooltipslice.d.ts","./node_modules/recharts/types/state/optionsslice.d.ts","./node_modules/recharts/types/state/layoutslice.d.ts","./node_modules/immer/dist/immer.d.ts","./node_modules/recharts/types/util/ifoverflow.d.ts","./node_modules/recharts/types/util/resolvedefaultprops.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/state/referenceelementsslice.d.ts","./node_modules/recharts/types/state/brushslice.d.ts","./node_modules/recharts/types/state/rootpropsslice.d.ts","./node_modules/recharts/types/state/polaraxisslice.d.ts","./node_modules/recharts/types/state/polaroptionsslice.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/util/constants.d.ts","./node_modules/recharts/types/util/scatterutils.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/state/errorbarslice.d.ts","./node_modules/recharts/types/state/zindexslice.d.ts","./node_modules/recharts/types/state/store.d.ts","./node_modules/recharts/types/cartesian/getticks.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/state/selectors/combiners/combinedisplayedstackeddata.d.ts","./node_modules/recharts/types/state/selectors/selecttooltipaxistype.d.ts","./node_modules/recharts/types/state/selectors/axisselectors.d.ts","./node_modules/recharts/types/component/dots.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/recharts/types/component/cursor.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/defaultpolarradiusaxisprops.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/defaultpolarangleaxisprops.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/util/excludeeventprops.d.ts","./node_modules/recharts/types/util/svgpropertiesandevents.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/barstack.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/cartesian/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/zindex/defaultzindexes.d.ts","./node_modules/decimal.js-light/decimal.d.ts","./node_modules/recharts/types/util/scale/getnicetickvalues.d.ts","./node_modules/recharts/types/types.d.ts","./node_modules/recharts/types/hooks.d.ts","./node_modules/recharts/types/context/chartlayoutcontext.d.ts","./node_modules/recharts/types/index.d.ts","./app/components/charts/chart-panel.tsx","./app/components/charts/report-card.tsx","./app/components/chat-message.tsx","./app/components/sidebar.tsx","./app/page.tsx","./app/components/charts/filter-bar.tsx","./app/components/charts/report-viewer.tsx","./app/components/workspace/breadcrumbs.tsx","./app/components/workspace/database-viewer.tsx","./node_modules/@types/unist/index.d.ts","./node_modules/@types/hast/index.d.ts","./node_modules/vfile-message/lib/index.d.ts","./node_modules/vfile-message/index.d.ts","./node_modules/vfile/lib/index.d.ts","./node_modules/vfile/index.d.ts","./node_modules/unified/lib/callable-instance.d.ts","./node_modules/trough/lib/index.d.ts","./node_modules/trough/index.d.ts","./node_modules/unified/lib/index.d.ts","./node_modules/unified/index.d.ts","./node_modules/@types/mdast/index.d.ts","./node_modules/mdast-util-to-hast/lib/state.d.ts","./node_modules/mdast-util-to-hast/lib/footer.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","./node_modules/mdast-util-to-hast/lib/index.d.ts","./node_modules/mdast-util-to-hast/index.d.ts","./node_modules/remark-rehype/lib/index.d.ts","./node_modules/remark-rehype/index.d.ts","./node_modules/react-markdown/lib/index.d.ts","./node_modules/react-markdown/index.d.ts","./node_modules/micromark-util-types/index.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-footnote/index.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-strikethrough/index.d.ts","./node_modules/micromark-extension-gfm/index.d.ts","./node_modules/mdast-util-from-markdown/lib/types.d.ts","./node_modules/mdast-util-from-markdown/lib/index.d.ts","./node_modules/mdast-util-from-markdown/index.d.ts","./node_modules/mdast-util-to-markdown/lib/types.d.ts","./node_modules/mdast-util-to-markdown/lib/index.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","./node_modules/mdast-util-to-markdown/index.d.ts","./node_modules/mdast-util-gfm-footnote/lib/index.d.ts","./node_modules/mdast-util-gfm-footnote/index.d.ts","./node_modules/markdown-table/index.d.ts","./node_modules/mdast-util-gfm-table/lib/index.d.ts","./node_modules/mdast-util-gfm-table/index.d.ts","./node_modules/mdast-util-gfm/lib/index.d.ts","./node_modules/mdast-util-gfm/index.d.ts","./node_modules/remark-gfm/lib/index.d.ts","./node_modules/remark-gfm/index.d.ts","./app/components/workspace/markdown-content.tsx","./app/components/workspace/document-view.tsx","./app/components/workspace/empty-state.tsx","./app/components/workspace/file-viewer.tsx","./app/components/workspace/knowledge-tree.tsx","./app/components/workspace/object-kanban.tsx","./app/components/workspace/object-table.tsx","./app/components/workspace/workspace-sidebar.tsx","./app/workspace/page.tsx","./.next/types/cache-life.d.ts","./.next/types/app/layout.ts","./.next/types/app/page.ts","./.next/types/app/api/chat/route.ts","./.next/types/app/api/memories/route.ts","./.next/types/app/api/skills/route.ts","./.next/types/app/api/web-sessions/route.ts","./.next/types/app/api/web-sessions/[id]/messages/route.ts","./.next/types/app/api/workspace/context/route.ts","./.next/types/app/api/workspace/db/introspect/route.ts","./.next/types/app/api/workspace/db/query/route.ts","./.next/types/app/api/workspace/objects/[name]/route.ts","./.next/types/app/api/workspace/tree/route.ts","./.next/types/app/workspace/page.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/debug/index.d.ts","./node_modules/@types/estree-jsx/index.d.ts","./node_modules/@types/use-sync-external-store/index.d.ts","../../node_modules/.pnpm/@types+send@1.2.1/node_modules/@types/send/index.d.ts","../../node_modules/.pnpm/@types+qs@6.14.0/node_modules/@types/qs/index.d.ts","../../node_modules/.pnpm/@types+range-parser@1.2.7/node_modules/@types/range-parser/index.d.ts","../../node_modules/.pnpm/@types+express-serve-static-core@5.1.1/node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/.pnpm/@types+http-errors@2.0.5/node_modules/@types/http-errors/index.d.ts","../../node_modules/.pnpm/@types+serve-static@2.2.0/node_modules/@types/serve-static/index.d.ts","../../node_modules/.pnpm/@types+connect@3.4.38/node_modules/@types/connect/index.d.ts","../../node_modules/.pnpm/@types+body-parser@1.19.6/node_modules/@types/body-parser/index.d.ts","../../node_modules/.pnpm/@types+express@5.0.6/node_modules/@types/express/index.d.ts","../../node_modules/.pnpm/@types+linkify-it@5.0.0/node_modules/@types/linkify-it/build/index.cjs.d.ts","../../node_modules/.pnpm/@types+mdurl@2.0.0/node_modules/@types/mdurl/build/index.cjs.d.ts","../../node_modules/.pnpm/@types+markdown-it@14.1.2/node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../node_modules/.pnpm/@types+markdown-it@14.1.2/node_modules/@types/markdown-it/index.d.ts","../../node_modules/.pnpm/@types+retry@0.12.5/node_modules/@types/retry/index.d.ts","../../node_modules/.pnpm/@types+proper-lockfile@4.1.4/node_modules/@types/proper-lockfile/index.d.ts","../../node_modules/.pnpm/@types+qrcode-terminal@0.12.2/node_modules/@types/qrcode-terminal/index.d.ts","../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.ts"],"fileIdsList":[[76,118,448,683],[76,118,448,684],[76,118,448,688],[76,118,448,691],[76,118,448,689],[76,118,448,693],[76,118,448,694],[76,118,448,695],[76,118,448,697],[76,118,448,701],[76,118,315,717],[76,118,315,850],[76,118,315,950],[76,118,402,403,404,405],[76,118,681,682],[76,118,131,139,140],[76,118,682],[76,118,123,131,139,140],[76,118,131,140,692],[76,118,692],[76,118,692,699],[62,76,118],[62,76,118,702,845],[62,76,118,702],[62,76,118,702,846],[62,76,118,702,846,851],[76,118],[76,118,412,681,702,712,719,847],[76,118,412,942],[76,118,898,941],[76,118,946],[76,118,452],[62,76,118,681,718,848,849],[62,76,118,435,852,853,854,943,944,945,946,947,948,949],[76,118,119,140,145],[76,118,711,712],[76,118,699,711],[76,118,711,715],[76,118,119,131,139,140],[76,118,452,453],[76,118,727,728,729,730,731],[76,118,470,471],[76,118,966],[76,118,969],[76,118,741],[76,118,972],[76,118,477,478,974],[76,118,855],[76,118,457,461,464,466,467,468,469,472,703],[76,118,518],[76,118,518,519],[76,118,461,462,464,465],[76,118,461],[76,118,461,462,464],[76,118,461,462],[76,118,456,509,510],[76,118,456,509],[76,118,456,463],[76,118,456],[76,118,456,463,523],[76,118,458],[76,118,456,457,458,459,460],[76,118,706,707],[76,118,706,707,708,709],[76,118,706,708],[76,118,706],[76,118,899,902,905,907,908,909],[76,118,866,894,899,902,905,907,909],[76,118,866,894,899,902,905,909],[76,118,932,933,937],[76,118,909,932,934,937],[76,118,909,932,934,936],[76,118,866,894,909,932,934,935,937],[76,118,934,937,938],[76,118,909,932,934,937,939],[76,118,856,866,867,868,892,893,894],[76,118,856,867,894],[76,118,856,866,867,894],[76,118,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891],[76,118,856,860,866,868,894],[76,118,910,911,931],[76,118,866,894,932,934,937],[76,118,866,894],[76,118,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930],[76,118,855,866,894],[76,118,899,900,901,905,909],[76,118,899,902,905,909],[76,118,899,902,903,904,909],[76,118,499],[76,118,497,499],[76,118,488,496,497,498,500,502],[76,118,486],[76,118,489,494,499,502],[76,118,485,502],[76,118,489,490,493,494,495,502],[76,118,489,490,491,493,494,502],[76,118,486,487,488,489,490,494,495,496,498,499,500,502],[76,118,502],[76,118,484,486,487,488,489,490,491,493,494,495,496,497,498,499,500,501],[76,118,484,502],[76,118,489,491,492,494,495,502],[76,118,493,502],[76,118,494,495,499,502],[76,118,487,497],[76,118,897],[62,76,118,856,865,894,896],[62,76,118,722,733,738,744,745,752,754,755,757,794,796],[62,76,118,722,733,738,743,745,754,758,759,761,762,794,796],[62,76,118,754,759,798],[62,76,118,737,796],[62,76,118,721,722,724,733,796],[62,76,118,722,733,754,790,796],[62,76,118,722,760,781,785,796],[62,76,118,745,768,769,796,835],[76,118,721,796],[76,118,733,796],[62,76,118,722,733,738,744,745,794,796],[62,76,118,722,724,759,773,818],[62,76,118,720,722,724,773],[62,76,118,722,724,753,773,774,796],[62,76,118,722,733,736,740,744,745,769,783,784,794,796],[62,76,118,726,733,796],[62,76,118,726,733,794,796],[62,76,118,796],[62,76,118,759,769,796],[62,76,118,721,769,796],[62,76,118,769,796],[62,76,118,734],[62,76,118,722,769,796],[62,76,118,720,722,796],[62,76,118,721,722,723,796],[62,76,118,722,724,796,845],[62,76,118,746,747,748],[62,76,118,733,735,736,747,769,796,799],[76,118,789,796],[76,118,733,734,794,796,842],[76,118,720,721,722,724,725,726,733,734,736,744,745,746,749,756,759,760,769,773,775,781,783,784,785,786,791,794,796,797,798,800,801,802,803,804,805,806,807,809,811,812,813,814,815,816,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,841,842,843,844],[62,76,118,722,738,745,764,766,769,796],[62,76,118,722,726,774,796,810],[62,76,118,722,733],[62,76,118,722,726,774,796,808],[62,76,118,722,745,753,796],[62,76,118,722,733,738,743,745,754,794,796,804],[62,76,118,743,796],[62,76,118,758,796],[76,118,727,732,796],[76,118,725,726,727,732,794,796],[76,118,727,732,737],[76,118,727,732,768,786,796],[76,118,727,732,733,738,739,740,757,762,763,766,767,796],[76,118,727,732,746,749,796],[76,118,727,732,769,796],[76,118,727,732,733],[76,118,727,732],[76,118,727,732,733,772,773,775],[76,118,727,732,734,756,796],[76,118,752,768,789,796],[76,118,733,738,751,752,753,768,776,779,787,789,791,792,793,796],[76,118,733,738,751,752],[76,118,789],[76,118,732,733,738,750,768,769,770,771,776,777,778,779,780,787,788],[76,118,727,732,733,735,736,768,796],[76,118,738,751,756,768,796],[76,118,751,761,768],[76,118,738,768,796],[62,76,118,736,764,765,768,796],[76,118,768],[76,118,751,768],[76,118,736,738,768,796],[76,118,754,768,796],[76,118,769,796],[62,76,118,759,760,796],[76,118,736,743,750,752,753,769,794,796],[76,118,796],[76,118,796,840],[76,118,726,794,796],[62,76,118,768,782,785,796],[76,118,743,751,754,768],[62,76,118,764,817],[62,76,118,720,721,724,725,726,733,734,735,738,756,764,794,795],[76,118,727],[76,118,906,939,940],[76,118,941],[76,118,894,895],[76,118,856,860,865,866,894],[76,118,478,507,508],[76,118,862],[76,118,860,864],[76,118,855,860,861,863,865],[76,118,857],[76,118,858,859],[76,118,855,858,860],[76,118,742],[76,118,474],[76,118,130,131,133,134,135,138,150,158,161,167,168,474,475,476,478,479,481,482,483,503,504,505,506,507,508],[76,118,474,475,476,480],[76,118,476],[76,118,478,508],[76,118,525],[76,118,473,534,703],[76,118,456,457,459,460,461,464,466,467,511,512,514,521,522,524,703],[76,118,466,528,529,703],[76,118,466,512,516,703],[76,118,456,464,466,511,703],[76,118,481],[76,118,456,466,473,511,513,530,703],[76,118,508,532,534],[76,118,121,131,150,456,461,464,466,473,508,511,512,513,514,516,517,520,521,522,526,527,530,531,534,703],[76,118,466,481,511,512,703],[76,118,466,528,529,530,703],[76,118,466,481,513,514,515,703],[76,118,121,131,150,456,461,464,466,473,481,508,511,512,513,514,515,516,517,520,521,522,526,527,528,529,530,531,532,533,534,703],[76,118,456,461,464,466,467,473,481,511,512,513,514,515,516,517,528,529,530,703,704,705,710],[76,118,140,535],[76,118,537,631],[76,118,469,537,551,629,630],[76,118,631,681],[76,118,639],[76,118,642],[76,118,647,649],[76,118,635,639,651,652],[76,118,662,665,671,673],[76,118,634,639],[76,118,633],[76,118,634],[76,118,641],[76,118,644],[76,118,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,674,675,676,677,678,679],[76,118,650],[76,118,646],[76,118,647],[76,118,638,639,645],[76,118,646,647],[76,118,653],[76,118,674],[76,118,638],[76,118,639,656,659],[76,118,655],[76,118,656],[76,118,654,656],[76,118,639,659,661,662,663],[76,118,662,663,665],[76,118,639,654,657,660,667],[76,118,654,655],[76,118,636,637,654,656,657,658],[76,118,656,659],[76,118,637,654,657,660],[76,118,639,659,661],[76,118,662,663],[76,118,133,168,982],[76,118,133,168],[76,118,130,133,168,976,977,978],[76,118,979,981,983],[76,118,985,986],[76,118,987],[76,115,118],[76,117,118],[118],[76,118,123,153],[76,118,119,124,130,131,138,150,161],[76,118,119,120,130,138],[71,72,73,76,118],[76,118,121,162],[76,118,122,123,131,139],[76,118,123,150,158],[76,118,124,126,130,138],[76,117,118,125],[76,118,126,127],[76,118,130],[76,118,128,130],[76,117,118,130],[76,118,130,131,132,150,161],[76,118,130,131,132,145,150,153],[76,113,118,166],[76,113,118,126,130,133,138,150,161],[76,118,130,131,133,134,138,150,158,161],[76,118,133,135,150,158,161],[74,75,76,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[76,118,130,136],[76,118,137,161],[76,118,126,130,138,150],[76,118,139],[76,118,140],[76,117,118,141],[76,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[76,118,143],[76,118,144],[76,118,130,145,146],[76,118,145,147,162,164],[76,118,130,150,151,153],[76,118,152,153],[76,118,150,151],[76,118,153],[76,118,154],[76,115,118,150],[76,118,130,156,157],[76,118,156,157],[76,118,123,138,150,158],[76,118,159],[76,118,138,160],[76,118,133,144,161],[76,118,123,162],[76,118,150,163],[76,118,137,164],[76,118,165],[76,118,123,130,132,141,150,161,164,166],[76,118,150,167],[76,118,989],[62,76,118,171,173],[62,66,76,118,169,170,171,172,396,444],[62,66,76,118,170,173,396,444],[62,66,76,118,169,173,396,444],[60,61,76,118],[76,118,131,150,168],[76,118,133,168,980],[76,118,130,133,135,138,150,158,161,167,168],[76,118,133,537,629,631,632,680],[68,76,118],[76,118,400],[76,118,407],[76,118,177,191,192,193,195,359],[76,118,177,181,183,184,185,186,187,348,359,361],[76,118,359],[76,118,192,211,328,337,355],[76,118,177],[76,118,174],[76,118,379],[76,118,359,361,378],[76,118,282,325,328,450],[76,118,292,307,337,354],[76,118,242],[76,118,342],[76,118,341,342,343],[76,118,341],[70,76,118,133,174,177,181,184,188,189,190,192,196,204,205,276,338,339,359,396],[76,118,177,194,231,279,359,375,376,450],[76,118,194,450],[76,118,205,279,280,359,450],[76,118,450],[76,118,177,194,195,450],[76,118,188,340,347],[76,118,144,245,355],[76,118,245,355],[62,76,118,245],[62,76,118,245,299],[76,118,222,240,355,433],[76,118,334,427,428,429,430,432],[76,118,245],[76,118,333],[76,118,333,334],[76,118,185,219,220,277],[76,118,221,222,277],[76,118,431],[76,118,222,277],[62,76,118,178,421],[62,76,118,161],[62,76,118,194,229],[62,76,118,194],[76,118,227,232],[62,76,118,228,399],[62,66,76,118,133,168,169,170,173,396,442,443],[76,118,133],[76,118,133,181,211,247,266,277,344,345,359,360,450],[76,118,204,346],[76,118,396],[76,118,176],[62,76,118,282,296,306,316,318,354],[76,118,144,282,296,315,316,317,354],[76,118,309,310,311,312,313,314],[76,118,311],[76,118,315],[62,76,118,228,245,399],[62,76,118,245,397,399],[62,76,118,245,399],[76,118,266,351],[76,118,351],[76,118,133,360,399],[76,118,303],[76,117,118,302],[76,118,206,210,217,248,277,289,291,292,293,295,327,354,357,360],[76,118,294],[76,118,206,222,277,289],[76,118,292,354],[76,118,292,299,300,301,303,304,305,306,307,308,319,320,321,322,323,324,354,355,450],[76,118,287],[76,118,133,144,206,210,211,216,218,222,252,266,275,276,327,350,359,360,361,396,450],[76,118,354],[76,117,118,192,210,276,289,290,350,352,353,360],[76,118,292],[76,117,118,216,248,269,283,284,285,286,287,288,291,354,355],[76,118,133,269,270,283,360,361],[76,118,192,266,276,277,289,350,354,360],[76,118,133,359,361],[76,118,133,150,357,360,361],[76,118,133,144,161,174,181,194,206,210,211,217,218,223,247,248,249,251,252,255,256,258,261,262,263,264,265,277,349,350,355,357,359,360,361],[76,118,133,150],[76,118,177,178,179,189,357,358,396,399,450],[76,118,133,150,161,208,377,379,380,381,382,450],[76,118,144,161,174,208,211,248,249,256,266,274,277,350,355,357,362,363,369,375,392,393],[76,118,188,189,204,276,339,350,359],[76,118,133,161,178,181,248,357,359,367],[76,118,281],[76,118,133,389,390,391],[76,118,357,359],[76,118,289,290],[76,118,210,248,349,399],[76,118,133,144,256,266,357,363,369,371,375,392,395],[76,118,133,188,204,375,385],[76,118,177,223,349,359,387],[76,118,133,194,223,359,370,371,383,384,386,388],[70,76,118,206,209,210,396,399],[76,118,133,144,161,181,188,196,204,211,217,218,248,249,251,252,264,266,274,277,349,350,355,356,357,362,363,364,366,368,399],[76,118,133,150,188,357,369,389,394],[76,118,199,200,201,202,203],[76,118,255,257],[76,118,259],[76,118,257],[76,118,259,260],[76,118,133,181,216,360],[76,118,133,144,176,178,206,210,211,217,218,244,246,357,361,396,399],[76,118,133,144,161,180,185,248,356,360],[76,118,283],[76,118,284],[76,118,285],[76,118,355],[76,118,207,214],[76,118,133,181,207,217],[76,118,213,214],[76,118,215],[76,118,207,208],[76,118,207,224],[76,118,207],[76,118,254,255,356],[76,118,253],[76,118,208,355,356],[76,118,250,356],[76,118,208,355],[76,118,327],[76,118,209,212,217,248,277,282,289,296,298,326,357,360],[76,118,222,233,236,237,238,239,240,297],[76,118,336],[76,118,192,209,210,270,277,292,303,307,329,330,331,332,334,335,338,349,354,359],[76,118,222],[76,118,244],[76,118,133,209,217,225,241,243,247,357,396,399],[76,118,222,233,234,235,236,237,238,239,240,397],[76,118,208],[76,118,270,271,274,350],[76,118,133,255,359],[76,118,269,292],[76,118,268],[76,118,264,270],[76,118,267,269,359],[76,118,133,180,270,271,272,273,359,360],[62,76,118,219,221,277],[76,118,278],[62,76,118,178],[62,76,118,355],[62,70,76,118,210,218,396,399],[76,118,178,421,422],[62,76,118,232],[62,76,118,144,161,176,226,228,230,231,399],[76,118,194,355,360],[76,118,355,365],[62,76,118,131,133,144,176,232,279,396,397,398],[62,76,118,169,170,173,396,444],[62,63,64,65,66,76,118],[76,118,123],[76,118,372,373,374],[76,118,372],[62,66,76,118,133,135,144,168,169,170,171,173,174,176,252,315,361,395,399,444],[76,118,409],[76,118,411],[76,118,413],[76,118,415],[76,118,417,418,419],[76,118,423],[67,69,76,118,401,406,408,410,412,414,416,420,424,426,435,436,438,448,449,450,451],[76,118,425],[76,118,434],[76,118,228],[76,118,437],[76,117,118,270,271,272,274,306,355,439,440,441,444,445,446,447],[76,118,168],[76,118,150,168],[76,85,89,118,161],[76,85,118,150,161],[76,80,118],[76,82,85,118,158,161],[76,118,138,158],[76,80,118,168],[76,82,85,118,138,161],[76,77,78,81,84,118,130,150,161],[76,85,92,118],[76,77,83,118],[76,85,106,107,118],[76,81,85,118,153,161,168],[76,106,118,168],[76,79,80,118,168],[76,85,118],[76,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,118],[76,85,100,118],[76,85,92,93,118],[76,83,85,93,94,118],[76,84,118],[76,77,80,85,118],[76,85,89,93,94,118],[76,89,118],[76,83,85,88,118,161],[76,77,82,85,92,118],[76,118,150],[76,80,85,106,118,166,168],[76,118,541,542],[76,118,539,540,541,543,544,549],[76,118,540,541],[76,118,549],[76,118,550],[76,118,541],[76,118,539,540,541,544,545,546,547,548],[76,118,539,540,551],[76,118,618],[76,118,618,621],[76,118,613,616,618,619,620,621,622,623,624,625,626],[76,118,552,554,621],[76,118,627],[76,118,618,619],[76,118,553,618,620],[76,118,554,556,558,559,560,561],[76,118,556,558,560,561],[76,118,556,558,560],[76,118,553,556,558,559,561],[76,118,552,554,555,556,557,558,559,560,561,562,563,613,614,615,616,617],[76,118,552,554,555,558],[76,118,554,555,558],[76,118,558,561],[76,118,552,553,555,556,557,559,560,561],[76,118,552,553,554,558,618],[76,118,558,559,560,561],[76,118,628],[76,118,560],[76,118,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"03566a51ebc848dec449a4ed69518e9f20caa6ac123fa32676aaaabe64adae8e","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"88d9a77d2abc23a7d26625dd6dae5b57199a8693b85c9819355651c9d9bab90f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"b200675fd112ffef97c166d0341fb33f6e29e9f27660adde7868e95c5bc98beb","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"3f3edb8e44e3b9df3b7ca3219ab539710b6a7f4fe16bd884d441af207e03cd57","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"8cf7e92bdb2862c2d28ba4535c43dc599cfbc0025db5ed9973d9b708dcbe3d98","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"8c2ad42d5d1a2e8e6112625767f8794d9537f1247907378543106f7ba6c7df90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"12e8ce658dd17662d82fb0509d2057afc5e6ee30369a2e9e0957eff725b1f11d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"858f999b3e4a45a4e74766d43030941466460bf8768361d254234d5870480a53","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"865a2612f5ec073dd48d454307ccabb04c48f8b96fda9940c5ebfe6b4b451f51","impliedFormat":1},{"version":"70f79528d7e02028b3c12dd10764893b22df4c6e2a329e66456aa11bb304cabb","impliedFormat":1},{"version":"a0acca63c9e39580f32a10945df231815f0fe554c074da96ba6564010ffbd2d8","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"0a5ab5c020557d3ccc84b92c0ca55ff790e886d92662aae668020d6320ab1867","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"7bd32a723a12f78ed756747468f2030bdd55774c68f628de07598dba5b912b14","impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","impliedFormat":1},{"version":"a1d3d6e9718cceaf1e4352845387af0620564d3d2dff02611a5c3276f73c26cb","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"57d6ac03382e30e9213641ff4f18cf9402bb246b77c13c8e848c0b1ca2b7ef92","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"57e47d02e88abef89d214cdf52b478104dc17997015746e288cbb580beaef266","impliedFormat":1},{"version":"b1177acd771acfcc2648a03fc03ad3b3a1b1d2bdfa6769db0f669293b596ca13","impliedFormat":1},{"version":"3494c5bf00c1a40293ee5ff5128334b63d346abbf560c8987202c92dbc5bdc48","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"99d62b942e98f691f508fc752637fec27661970aa3b0f5eb5a1e2775b995c273","impliedFormat":1},{"version":"a9af0e608929aaf9ce96bd7a7b99c9360636c31d73670e4af09a09950df97841","impliedFormat":1},{"version":"48d37b90a04e753a925228f50304d02c4f95d57bf682f8bb688621c3cd9d32ec","impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","impliedFormat":1},{"version":"b68c4ed987ef5693d3dccd85222d60769463aca404f2ffca1c4c42781dce388e","impliedFormat":1},{"version":"889c00f3d32091841268f0b994beba4dceaa5df7573be12c2c829d7c5fbc232c","impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"12b8dfed70961bea1861e5d39e433580e71323abb5d33da6605182ec569db584","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"7e560f533aaf88cf9d3b427dcf6c112dd3f2ee26d610e2587583b6c354c753db","impliedFormat":1},{"version":"71e0082342008e4dfb43202df85ea0986ef8e003c921a1e49999d0234a3019da","impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"380647d8f3b7f852cca6d154a376dbf8ac620a2f12b936594504a8a852e71d2f","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"ef61792acbfa8c27c9bd113f02731e66229f7d3a169e3c1993b508134f1a58e0","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"94fe3281392e1015b22f39535878610b4fa6f1388dc8d78746be3bc4e4bb8950","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"ce41407ff95aad31e28897741dfffb236d966eb38894f7a791c3a575b53f9d02","impliedFormat":1},{"version":"fac1803c07fbc9574815fdb83afddd9d0d4a2ce13f56d4e4cbb4525f8c09ee0a","impliedFormat":1},{"version":"824c76aec8d8c7e65769688cbee102238c0ef421ed6686f41b2a7d8e7e78a931","impliedFormat":1},{"version":"5eef43ef86c9c3945780211c2ce25cb9b66143a102713e56a2bea85163c5c3c7","impliedFormat":1},{"version":"a2a1cdf7273ad6641938a487ecf2fdd38f60abce41907817e44ab39e482e8739","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"ca921bf56756cb6fe957f6af693a35251b134fb932dc13f3dfff0bb7106f80b4","impliedFormat":1},{"version":"4548fac59ea69a3ffd6c0285a4c53e0d736d936937b74297e3b5c4dfcd902419","impliedFormat":1},{"version":"4da246ee3b860278888dd51913e6407a09ca43530db886e7bec2a592c9b9bde6","impliedFormat":1},{"version":"8c05ac9ead787bfc3e144b88bdc7d1ad8c0c7f1cd8412ab58cd3e1208d1990af","impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"8bba776476c48b0e319d243f353190f24096057acede3c2f620fee17ff885dba","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"2b2f9dac86b659e6d5cd623bcc21519910a48114fc0cef52d8f86962c48d44e2","impliedFormat":1},{"version":"7e8b76334c75984d57a810a0652c61066ffacede59001dfc5c633565f791ee60","impliedFormat":1},{"version":"72ca9ca89ca15055cbb6ce767b6bf56615be5f1ea6a87ab432ee0603c8d19010","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"cecad464ddaf764e5490018d248a8df1733f3d63435fbddac72941c1f4005b66","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"51b1709e7ad186919a0e30237a8607100143a86d28771b3d3f046359aca1e65c","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","impliedFormat":1},{"version":"56013416784a6b754f3855f8f2bf6ce132320679b8a435389aca0361bce4df6b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"30f4dab03b4bc54def77049ee3a10137109cf3b4acf2fd0e885c619760cfe694","impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","impliedFormat":1},{"version":"c51641ab4bfa31b7a50a0ca37edff67f56fab3149881024345b13f2b48b7d2de","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"52abbd5035a97ebfb4240ec8ade2741229a7c26450c84eb73490dc5ea048b911","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"4360ad4de54de2d5c642c4375d5eab0e7fe94ebe8adca907e6c186bbef75a54d","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"9c9cae45dc94c2192c7d25f80649414fa13c425d0399a2c7cb2b979e4e50af42","impliedFormat":1},{"version":"6c87b6bcf4336b29c837ea49afbdde69cc15a91cbbfd9f20c0af8694927dec08","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"6dd9bcf10678b889842d467706836a0ab42e6c58711e33918ed127073807ee65","impliedFormat":1},{"version":"8c030e515014c10a2b98f9f48408e3ba18023dfd3f56e3312c6c2f3ae1f55a16","impliedFormat":1},{"version":"dafc31e9e8751f437122eb8582b93d477e002839864410ff782504a12f2a550c","impliedFormat":1},{"version":"ef9efc827cdad89c4ee54142164c793f530aa4d844ca9121cc35368310d5fb9c","impliedFormat":1},{"version":"643672ce383e1c58ea665a92c5481f8441edbd3e91db36e535abccbc9035adeb","impliedFormat":1},{"version":"8fa022ea514ce0ea78ac9b7092a9f97f08ead20c839c779891019e110fce8307","impliedFormat":1},{"version":"c93235337600b786fd7d0ff9c71a00f37ca65c4d63e5d695fc75153be2690f09","impliedFormat":1},{"version":"fa45f48f2def181ab2fb107a032c91b6c043ad05a179f3fbaafb8e5411fd01e4","impliedFormat":1},{"version":"a8e493c0355aabdd495e141bf1c4ec93454a0698c8675df466724adc2fcfe630","impliedFormat":1},{"version":"99702c9058170ae70ea72acbf01be3111784f06152dbf478f52c9afe423528bd","impliedFormat":1},{"version":"cf32f58a7ad3498c69c909121772971ffdee176b882f39c78532d0e0ab41a30d","impliedFormat":1},{"version":"e2bbc579a2fda9473e06b2a68d693e56928900f73ccfc03dabea789fe144e8a5","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","impliedFormat":1},{"version":"d05fb434f4ba073aed74b6c62eff1723c835de2a963dbb091e000a2decb5a691","impliedFormat":1},{"version":"bff8c8bffbf5f302a30ccb1c0557dae477892d50a80eecfe393bd89bac7fb41d","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"8a97e578a9bc40eb4f1b0ca78f476f2e9154ecbbfd5567ee72943bab37fc156a","impliedFormat":1},{"version":"a58abf1f5c8feb335475097abeddd32fd71c4dc2065a3d28cf15cacabad9654a","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"f22d05663d873ee7a600faf78abb67f3f719d32266803440cf11d5db7ac0cab2","impliedFormat":1},{"version":"f0f05149debcf31b3a717ce8dd16e0323a789905cb9e27239167b604153b8885","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"b4f4d239a6632b86b315a6e4cfe0fac4e4bf6c934263bc07dd2bf5c7dbb8e6a5","impliedFormat":1},{"version":"0d44227395ae4a117dd7c8c9a048e18ade1f1f631bc5b883f9d469126e3cedab","impliedFormat":1},{"version":"9e21f8e2c0cfea713a4a372f284b60089c0841eb90bf3610539d89dbcd12d65a","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"a072c5f254d5cbb6522c0d4eeeb7cc4a6ce7f2f8ad84e2593d903bfe3aa44176","impliedFormat":1},{"version":"52b390f86821086a1be50100487faa9f7b23fc04343efb590f304382b4950e04","impliedFormat":1},{"version":"87122b31fe473758a5724388c93826caab566f62be2196aefc2ae8b04b814b52","impliedFormat":1},{"version":"063ab26d3488a665d2c3bc963b18ce220dad7351190629179165bc8c499c6cd9","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"fb400501bee56d86fa9b490e9d8b07d7df163d34d8235fcea27c3f9e8d064d1a","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"794998dc1c5a19ce77a75086fe829fb9c92f2fd07b5631c7d5e0d04fd9bc540c","impliedFormat":1},{"version":"409678793827cdf5814e027b1f9e52a0445acb1c322282311c1c4e0855a0918e","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","impliedFormat":1},{"version":"3545dc8a9bdbd33db34462af7eed83f703083e4fee9135dadbba7edfe1e7db3c","impliedFormat":1},{"version":"7b5153a9b237898879441e5ddb576ded76ef3ab4c5baee4bb749ca5c72fc395d","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"d5c2934185201f0768fb80d220f0e617cd05aa4c0c791ffcd508646c474b3c44","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"e326c507507d6c6f3df4152e9e132a6189b30e14a262782796c2a627ba5d42cc","impliedFormat":1},{"version":"75efc43fb206f3825eb219c96b1e59fdabf2f2f042f424fa5f96335b99897540","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"ca651584d8d718c1f0655ec4b0c340fbcd967ec1e1758807af3a3f43bc81f81e","impliedFormat":1},{"version":"cfb5f0ab72180f4e0b9ed1534847a63d5394b9a8ee685ae149d25fd53f1aec66","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"f613e4e752659ebd241be4d991c05200248b50e753fcecf50a249d30f4367794","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"de1ccef0cb3623291d55871e39eb7005cb79d8da519cb46959b0ba5e2422184f","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"7cd657e359eac7829db5f02c856993e8945ffccc71999cdfb4ab3bf801a1bbc6","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"f0f3f57e29b40e9cb0c4b155a96de2f61e51700d2c335dd547ef3c85e668c6a8","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"6a76daf108400ca1333e325772f24f40ebdde2120ef68f8c87d7a1adf0257541","impliedFormat":1},{"version":"313698394e61f0343ebf11b64e5cde7e948110eaba98e8dbd7bdd67ee8df2639","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"91357dba2d5a7234ccfae834dc8363b5635e08f373bd18f548a9046b01864619","impliedFormat":1},{"version":"f31bbb122869d8903ff13c1036bdefc1e6a5bac9b2c3c35e42a9de84d43cd04a","impliedFormat":1},{"version":"c7fdbcfa0991e15215e2a5751676115cac943b39289791546c7197d7bb889c51","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"4eac446ac161245bfc6daa95f2cc64d2da4f7844e36a7a5641abfd4771ef0923","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"076527b1c2fd207de3101ba10e0c2b7d155aa8369cc7fe3eed723811e428223d","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"397f568f996f8ffcf12d9156342552b0da42f6571eadba6bce61c99e1651977d","impliedFormat":1},{"version":"ff0c0d446569f8756be0882b520fd94429468de9f922ab6bf9eed4da55eb0187","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"a52674bc98da7979607e0f44d4c015c59c1b1d264c83fc50ec79ff2cfea06723","impliedFormat":1},{"version":"89b3d1b267c4380fbb8e5cadccbb284843b90066f16a2f6e8a5b3a030bb7dcfb","impliedFormat":1},{"version":"f58226e78464f9c85be6cf47c665a8e33b32121ab4cdb2670b66a06f1114a55c","impliedFormat":1},{"version":"9b06ce81ad598c9c6b011cb66182fa66575ad6bd1f8f655830a6a0223a197ab7","impliedFormat":1},{"version":"e108f38a04a607f9386d68a4c6f3fdae1b712960f11f6482c6f1769bab056c2e","impliedFormat":1},{"version":"a3128a84a9568762a2996df79717d92154d18dd894681fc0ab3a098fa7f8ee3b","affectsGlobalScope":true,"impliedFormat":1},{"version":"347791f3792f436950396dd6171d6450234358001ae7c94ca209f1406566ccbf","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"2896c2e673a5d3bd9b4246811f79486a073cbb03950c3d252fba10003c57411a","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"51bf55bb6eb80f11b3aa59fb0a9571565a7ea304a19381f6da5630f4b2e206c4","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"5c96bad5f78466785cdad664c056e9e2802d5482ca5f862ed19ba34ffbb7b3a4","impliedFormat":1},{"version":"b7fff2d004c5879cae335db8f954eb1d61242d9f2d28515e67902032723caeab","impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"4655709c9cb3fd6db2b866cab7c418c40ed9533ce8ea4b66b5f17ec2feea46a9","impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"22b87e96a61c525464e115db0148593a861e77806fd37ab280e1903019a6e212","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"9a01f12466488eccd8d9eafc8fecb9926c175a4bf4a8f73a07c3bcf8b3363282","impliedFormat":1},{"version":"b80f624162276f24a4ec78b8e86fbee80ca255938e12f8b58e7a8f1a6937120b","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"b95a6f019095dd1d48fd04965b50dfd63e5743a6e75478343c46d2582a5132bf","impliedFormat":99},{"version":"c2008605e78208cfa9cd70bd29856b72dda7ad89df5dc895920f8e10bcb9cd0a","impliedFormat":99},{"version":"a61e739f0b2c0165086c77a28d7e4b58a2a8703c646cd1e1641788484afc6ff2","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"9e40365afca304124bc53eb03412643abf074a1580e4dc279a7a16000d11f985","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"ceec3c81b2d81f5e3b855d9367c1d4c664ab5046dff8fd56552df015b7ccbe8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e18cfe14fa8602c7ff80cbbddb91e31608e5ae20bd361fe7e6a607706cb033c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a1219ee18b9282b4c6a31f1f0bcc9255b425e99363268ba6752a932cf76662f0","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},"f2b3bca04d1bfe583daae1e1f798c92ec24bb6693bd88d0a09ba6802dee362a8","b7a28c61956074feda63b6b72e37bf82c09275e68f795d6e3cb95bbf564f643a",{"version":"acfb723d81eda39156251aed414c553294870bf53062429ebfcfba8a68cb4753","impliedFormat":99},{"version":"fa69a90381c2f85889722a911a732a5ee3596dc3acecda8a9aa2fa89b9615d8d","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"57e9e1b0911874c62d743af24b5d56032759846533641d550b12a45ff404bf07","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"854cd3a3375ffc4e7a92b2168dd065d7ff2614b43341038a65cca865a44c00c5","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"2f863ee9b873a65d9c3338ea7aaddbdb41a9673f062f06983d712bd01c25dc6b","impliedFormat":99},{"version":"67aa128c2bc170b93794f191feffc65a4b33e878db211cfcb7658c4b72f7a1f5","impliedFormat":99},{"version":"31fd7c12f6e27154efb52a916b872509a771880f3b20f2dfd045785c13aa813f","impliedFormat":99},{"version":"b481de4ab5379bd481ca12fc0b255cdc47341629a22c240a89cdb4e209522be2","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"4e258d11c899cb9ff36b4b5c53df59cf4a5ccae9a9931529686e77431e0a3518","affectsGlobalScope":true,"impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f582b0fcbf1eea9b318ab92fb89ea9ab2ebb84f9b60af89328a91155e1afce72","impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"333caa2bfff7f06017f114de738050dd99a765c7eb16571c6d25a38c0d5365dc","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","impliedFormat":1},{"version":"1251d53755b03cde02466064260bb88fd83c30006a46395b7d9167340bc59b73","impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","impliedFormat":1},{"version":"4cdf27e29feae6c7826cdd5c91751cc35559125e8304f9e7aed8faef97dcf572","impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"960bd764c62ac43edc24eaa2af958a4b4f1fa5d27df5237e176d0143b36a39c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"59f8dc89b9e724a6a667f52cdf4b90b6816ae6c9842ce176d38fcc973669009e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4af494f7a14b226bbe732e9c130d8811f8c7025911d7c58dd97121a85519715","impliedFormat":1},{"version":"47416e41b1af81e53e8c3cc5bf909d47ff632a7b6eddfe7ff43d187b4dcca047","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"c35b8117804c639c53c87f2c23e0c786df61d552e513bd5179f5b88e29964838","impliedFormat":99},{"version":"ac3d263474022e9a14c43f588f485d549641d839b159ecc971978b90f34bdf6b","impliedFormat":99},{"version":"67acaedb46832d66c15f1b09fb7b6a0b7f41bdbf8eaa586ec70459b3e8896eb9","impliedFormat":99},{"version":"c609331c6ed4ad4af54e101088c6a4dcb48f8db7b0b97e44a6efeb130f4331bd","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"4535ab977ee871e956eb7bebe2db5de79f5d5ec7dfbbf1d35e08f4a2d6630dac","impliedFormat":99},{"version":"b79b5ed99f26ffb2f8ae4bdcc4b34a9542197dc3fa96cfb425c2a81e618cff28","impliedFormat":99},{"version":"213a00d511892898e9dad3c98efe3b1de230f171b9e91496faca3e40e27ef6a7","impliedFormat":99},{"version":"62486ec77ac020b82d5a65a270096bb7f2a1fd0627a89f29c5a5d3cbd6bd1f59","impliedFormat":99},{"version":"c637a793905f02d354b640fae41a6ae79395ed0d77fbb87c36d9664ecbd95ac1","impliedFormat":99},{"version":"437b7613a30a2fcde463f7b707c6d5567a8823fbc51de50b8641bf5b1d126fad","impliedFormat":99},{"version":"63ea959e28c110923f495576e614fb8b36c09b6828b467b2c7cd7f03b03ccf9f","impliedFormat":99},{"version":"1601a95dbb33059fc3d12638ed2a9aecff899e339c5c0f3a0b28768866d385b4","impliedFormat":99},{"version":"a8dd232837b1d83f76a47a5193c1afd9e17b9bf352cb84345f86f7759ee346d0","impliedFormat":99},{"version":"be5fc0dd37f64420b0423059370b8319521e0b58060d7b07b8f62fe1c145b02e","impliedFormat":99},{"version":"45f770f2ae71acc1cacfac137f50911e1a004ccba52b2b55c4432c0d4bd97814","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"a5ae67a67f786ffe92d34b55467a40fb50fb0093e92388cadce6168fa42690fd","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"a20c4976da01d1c823b165275cef98a896d4758388c6409bc4ce24f0a5b49900","impliedFormat":99},{"version":"dffffa77f7716aa110e4253c6cd73a067e4729d95c97a538dbb20e58f0eb3e1d","impliedFormat":99},{"version":"0daddd6f389da2b55770e95c9ef8831bf2520aab44fb941bae38bb7ddfe1d6b6","impliedFormat":99},{"version":"7bbff6783e96c691a41a7cf12dd5486b8166a01b0c57d071dbcfca55c9525ec4","impliedFormat":99},{"version":"1ddd03b0a604fadbd33fc5e96051b82c689ee9cc7e6341f775c8834e038ba574","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"91dfafc38758c5669d16229910b451fa06357f86f7c1f2f0e932c3205e9e8973","impliedFormat":1},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"56e0775830b68d13c3d7f4ec75df7d016db6b879ef9676affb5233a9a289c192","impliedFormat":99},{"version":"7447894374c0341e146e4b9ec33f88cfba6d4aaaa4a2f675b0d14aa7e3f440d1","impliedFormat":1},{"version":"c34543651b7872e78088dd951a6389a03531c24a5e84028b5a12792eb106e9a5","impliedFormat":1},{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"f6380cc36fc3efc70084d288d0a05d0a2e09da012ee3853f9d62431e7216f129","impliedFormat":1},{"version":"497c3e541b4acf6c5d5ba75b03569cfe5fe25c8a87e6c87f1af98da6a3e7b918","impliedFormat":1},{"version":"d9429b81edf2fb2abf1e81e9c2e92615f596ed3166673d9b69b84c369b15fdc0","impliedFormat":1},{"version":"7e22943ae4e474854ca0695ab750a8026f55bb94278331fda02a4fb42efce063","impliedFormat":1},{"version":"7da9ff3d9a7e62ddca6393a23e67296ab88f2fcb94ee5f7fb977fa8e478852ac","impliedFormat":1},{"version":"e1b45cc21ea200308cbc8abae2fb0cfd014cb5b0e1d1643bcc50afa5959b6d83","impliedFormat":1},{"version":"c9740b0ce7533ce6ba21a7d424e38d2736acdddeab2b1a814c00396e62cc2f10","impliedFormat":1},{"version":"b3c1f6a3fdbb04c6b244de6d5772ffdd9e962a2faea1440e410049c13e874b87","impliedFormat":1},{"version":"dcaa872d9b52b9409979170734bdfd38f846c32114d05b70640fd05140b171bb","impliedFormat":1},{"version":"6c434d20da381fcd2e8b924a3ec9b8653cf8bed8e0da648e91f4c984bd2a5a91","impliedFormat":1},{"version":"992419d044caf6b14946fa7b9463819ab2eeb7af7c04919cc2087ce354c92266","impliedFormat":1},{"version":"fa9815e9ce1330289a5c0192e2e91eb6178c0caa83c19fe0c6a9f67013fe795c","impliedFormat":1},{"version":"06384a1a73fcf4524952ecd0d6b63171c5d41dd23573907a91ef0a687ddb4a8c","impliedFormat":1},{"version":"34b1594ecf1c84bcc7a04d9f583afa6345a6fea27a52cf2685f802629219de45","impliedFormat":1},{"version":"d82c9ca830d7b94b7530a2c5819064d8255b93dfeddc5b2ebb8a09316f002c89","impliedFormat":1},{"version":"7e046b9634add57e512412a7881efbc14d44d1c65eadd35432412aa564537975","impliedFormat":1},{"version":"aac9079b9e2b5180036f27ab37cb3cf4fd19955be48ccc82eab3f092ee3d4026","impliedFormat":1},{"version":"3d9c38933bc69e0a885da20f019de441a3b5433ce041ba5b9d3a541db4b568cb","impliedFormat":1},{"version":"606aa2b74372221b0f79ca8ae3568629f444cc454aa59b032e4cb602308dec94","impliedFormat":1},{"version":"50474eaea72bfda85cc37ae6cd29f0556965c0849495d96c8c04c940ef3d2f44","impliedFormat":1},{"version":"b4874382f863cf7dc82b3d15aed1e1372ac3fede462065d5bfc8510c0d8f7b19","impliedFormat":1},{"version":"df10b4f781871afb72b2d648d497671190b16b679bf7533b744cc10b3c6bf7ea","impliedFormat":1},{"version":"1fdc28754c77e852c92087c789a1461aa6eed19c335dc92ce6b16a188e7ba305","impliedFormat":1},{"version":"a656dab1d502d4ddc845b66d8735c484bfebbf0b1eda5fb29729222675759884","impliedFormat":1},{"version":"465a79505258d251068dc0047a67a3605dd26e6b15e9ad2cec297442cbb58820","impliedFormat":1},{"version":"ddae22d9329db28ce3d80a2a53f99eaed66959c1c9cd719c9b744e5470579d2f","impliedFormat":1},{"version":"d0e25feadef054c6fc6a7f55ccc3b27b7216142106b9ff50f5e7b19d85c62ca7","impliedFormat":1},{"version":"111214009193320cacbae104e8281f6cb37788b52a6a84d259f9822c8c71f6ca","impliedFormat":1},{"version":"01c8e2c8984c96b9b48be20ee396bd3689a3a3e6add8d50fe8229a7d4e62ff45","impliedFormat":1},{"version":"a4a0800b592e533897b4967b00fb00f7cd48af9714d300767cc231271aa100af","impliedFormat":1},{"version":"20aa818c3e16e40586f2fa26327ea17242c8873fe3412a69ec68846017219314","impliedFormat":1},{"version":"f498532f53d54f831851990cb4bcd96063d73e302906fa07e2df24aa5935c7d1","impliedFormat":1},{"version":"5fd19dfde8de7a0b91df6a9bbdc44b648fd1f245cae9e8b8cf210d83ee06f106","impliedFormat":1},{"version":"3b8d6638c32e63ea0679eb26d1eb78534f4cc02c27b80f1c0a19f348774f5571","impliedFormat":1},{"version":"ce0da52e69bc3d82a7b5bc40da6baad08d3790de13ad35e89148a88055b46809","impliedFormat":1},{"version":"9e01233da81bfed887f8d9a70d1a26bf11b8ddff165806cc586c84980bf8fc24","impliedFormat":1},{"version":"214a6afbab8b285fc97eb3cece36cae65ea2fca3cbd0c017a96159b14050d202","impliedFormat":1},{"version":"14beeca2944b75b229c0549e0996dc4b7863e07257e0d359d63a7be49a6b86a4","impliedFormat":1},{"version":"f7bb9adb1daa749208b47d1313a46837e4d27687f85a3af7777fc1c9b3dc06b1","impliedFormat":1},{"version":"c549fe2f52101ffe47f58107c702af7cdcd42da8c80afd79f707d1c5d77d4b6e","impliedFormat":1},{"version":"3966ea9e1c1a5f6e636606785999734988e135541b79adc6b5d00abdc0f4bf05","impliedFormat":1},{"version":"0b60b69c957adb27f990fbc27ea4ac1064249400262d7c4c1b0a1687506b3406","impliedFormat":1},{"version":"12c26e5d1befc0ded725cee4c2316f276013e6f2eb545966562ae9a0c1931357","impliedFormat":1},{"version":"27b247363f1376c12310f73ebac6debcde009c0b95b65a8207e4fa90e132b30a","impliedFormat":1},{"version":"05bd302e2249da923048c09dc684d1d74cb205551a87f22fb8badc09ec532a08","impliedFormat":1},{"version":"fe930ec064571ab3b698b13bddf60a29abf9d2f36d51ab1ca0083b087b061f3a","impliedFormat":1},{"version":"6b85c4198e4b62b0056d55135ad95909adf1b95c9a86cdbed2c0f4cc1a902d53","impliedFormat":1},{"version":"258a35442d9b7bfb92eb074413c918f4019f56d02ba02ffb738773858f078306","affectsGlobalScope":true,"impliedFormat":1},"42e5950a034cc591bc24948a4b8baaa1174b32db7246c84e5ea34edacf718767","4cf0452bfb2aa24f7c3003a5f7f648ed068355ad7b21d0f519e137077fc665ba","38e57403cc105e9947b2d41b70d48da8b7c16df9c0524845c227b39cae9a3835","0a4d436e9bb2139a238f1c89f393a984b3b456d4c069710c02e79489701c3737","af338af64bd0454b8b13d29d4c0acbd1ba1fed8f192782ec8fa7cbb1f04e3b50","218254e2197f2f1fe6462c36a62160bf4a1e3dce8231c8c8a20078b03f5fe244","dcc61da423f6028a4f575bb026c6e52a44d6c63974c71a2c3bde8c2fb02eced7","06250d995f068bc795f702618bd61484e690e4220a1de61f56a6caf1087f4212","ac3280b4ed98e826615ebdd8937efb04d11828506e9a8e9ba08d3fe429e8cd33","8ef2e368bd5a830113c227232367c0df4bb8e2eae582e5968321985cefa47fec","8c3145a6d328a49d69b85919248d0358615e0e7e15fffebffec216429dfc972d","b9fa07ae76b1cd96f354d085dc8ee6a4f5f028e087c0b8f2a451d6e92af9deb1","6acb1a4d1138f6178455246bd697c14427771377e4d7ae19407a7de1b6b46bfb","fd9ee9887dbc9e6e44fe64d72c3a8eadb1b9e2ff0ed2e20b32cfe2aa2df7e49e","29e43187c6445f364294794fe0160cde888b37a63f83c31e0d4d079887f145bf","2334d6269cc8d2bf4d272df023dbe2e5d3ace5165e6a968a3e938b4d62c161bb","8abe66e0a3428ce0ed7a2dec8e0d9f21a8ea75ec7712d033e45c869b8dcbc396",{"version":"4a10de4b501f86aba84ac0ac076ec3f698a4abe553596f0e04511d9641a290dd","signature":"8b0abcfc767a06ded3a19aef13be487040b42342c882545236808927a5f3047d"},{"version":"ffce0ec758f953369f8aa44e230acf9d2db46a3564aae6fa06302225384af9fc","signature":"b6e2c7072bb389619090e8039b8bfc0f11d3651ba34b18a761dc7d5d00953d7f"},"e64a6331803c756b0b51c332eeb714858726a1d8db0deaf9d146bb70ba34fee2","27ba92e87f0c8e5bb87dc4d153cdbff8942886b09c7a620e737fced7dcefc070",{"version":"a534e61c2f06a147d97aebad720db97dffd8066b7142212e46bcbcdcb640b81a","impliedFormat":99},{"version":"ddf569d04470a4d629090d43a16735185001f3fcf0ae036ead99f2ceab62be48","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"53c448183c7177c83d3eb0b40824cf8952721a6584cf22052adc24f778986732","impliedFormat":99},{"version":"a4e9e5e7991ab97d4852119abf344cbf3c728ca0f7158dfb3564407f6ccff705","signature":"2faefb33ce985ea1b4d37e5da4924b0c468149588b5083be24852b4a5d782baa"},{"version":"df472224084811b4c922d0be66e99889b2b65e0af0b9ebb0fb298c0a8696a4e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5dc0215d688b4576e6a243efe28256b1508fd07e9a49b5868cdaf9d2e8eded35","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1fb1d4f53c13e0528d8cfbec0eb23b0fda8bb09a217462ffc9ccceaf8d486c7f","signature":"08855ad6e6347e7b8eb3a59809ee917f9b92e147b1f8241ddc781eb93edcaaf7"},{"version":"073f8693de916e6e483bf77c8fcb54ccf695d39372ac00aeda27745d510498c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"e270efd2c1c69bfefaff27a026f769704ace866c91c544ce792b735b85c1c2a0",{"version":"91d5ad7754cb7b8b765ba6bace1a258e413c33b0113d6e5813786d77d1c7a50b","impliedFormat":1},"88841b3997def968eb6a6228485aef7a4c610cba58f09b25956b07222ad35ba2",{"version":"dd90c02f064b9023c27a74f981437912eaf13a0b3685206228f1597f60ea46b7","impliedFormat":1},{"version":"e4e957c7cb5a8a14f5b43ddcbf6a6a8c0877c2c933c8f8230cfa85cb7acef018","impliedFormat":1},{"version":"89eeeebbc612a079c6e7ebe0bde08e06fbc46cfeaebf6157ea3051ed55967b10","impliedFormat":1},{"version":"4c72f66622e266b542fb097f4d1fe88eb858b88b98414a13ef3dd901109e03a1","impliedFormat":1},{"version":"23a933d83f3a8d595b35f3827c5e68239fb4f6eb44e96389269d183fe7ff09ba","impliedFormat":1},{"version":"3de661ae6c0893d37188844935676bdb290216d3e32f22b9b8aa522dfbe68af6","impliedFormat":1},{"version":"beb9a139ce8d28b7796745cf5ed0ae920f0d1165b992c4d89264e0f596c80a99","impliedFormat":1},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"55c0569d0b70dbc0bb9a811469a1e2a7b8e2bab2d70c013f2e40dfb2d2803d05","impliedFormat":1},{"version":"37f96daaddc2dd96712b2e86f3901f477ac01a5c2539b1bc07fd609d62039ee1","impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"a66ebe9a1302d167b34d302dd6719a83697897f3104d255fe02ff65c47c5814e","impliedFormat":99},{"version":"bc01cd5014b23f8ab96e296c0cc134e039a777714fa75a68d6cbff1b4947b729","impliedFormat":1},{"version":"ce6603fcee6c000c0930d500060b7fca478dcef634196c6c27126d78ecd8fa1b","impliedFormat":1},{"version":"37acfa2160073f00dacc863f396a503bf491d893b628cb523c49ac09bc7d1a95","impliedFormat":1},{"version":"71da2b4e02affc733ef57f8894a0ecdd9a4747379c24db8056e0e0f7f63ae0b9","impliedFormat":1},{"version":"81c4a0e6de3d5674ec3a721e04b3eb3244180bda86a22c4185ecac0e3f051cd8","impliedFormat":1},{"version":"36c16eada3eaadcd3973cd12c8894eb5fdf838d2a98145d846e3ab5131dd14f5","impliedFormat":1},{"version":"7261cabedede09ebfd50e135af40be34f76fb9dbc617e129eaec21b00161ae86","impliedFormat":1},{"version":"ea554794a0d4136c5c6ea8f59ae894c3c0848b17848468a63ed5d3a307e148ae","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"97a295a4a0f80ee3ffbd49f3635b58b367ad8c7d5ae4d88085b8c6f0d6caaa57","impliedFormat":1},{"version":"7f155795a4af97ded466e29e864a5365e033869acb38c39b2bef79a761e7cb63","impliedFormat":1},{"version":"fc80a762d006a43cbaf249ae10e6eab50c82552f040e2f6c49be5b5da8478a11","impliedFormat":1},{"version":"6ce50ada4bc9d2ad69927dce35cead36da337a618de0a2daaaeeafe38c692597","impliedFormat":1},{"version":"13b8d0a9b0493191f15d11a5452e7c523f811583a983852c1c8539ab2cfdae7c","impliedFormat":1},{"version":"4d42529fbadc9cfc3aa03e381b422fa5135edb175985d41799531711da96141b","impliedFormat":1},{"version":"df6251bd4b5fad52759bfe96e8ab8f2ce625d0b6739b825209b263729a9c321e","impliedFormat":1},{"version":"846068dbe466864be6e2cae9993a4e3ac492a5cb05a36d5ce36e98690fde41f4","impliedFormat":1},{"version":"94c8c60f751015c8f38923e0d1ae32dd4780b572660123fa087b0cf9884a68a8","impliedFormat":1},{"version":"eb1422dd19b22a12df6365f71adde9a24bc73dbf2f6d20e7b650216897f3258f","impliedFormat":1},{"version":"01ec6506f7c60c69dbb4486ef4174fb4fd721c84f12f531d1ef640fa7379fd94","impliedFormat":1},{"version":"e451e32b6e0d25ae9d5c9149d2cd4afba4aec07874b7282b27e7f1e27cb8286d","impliedFormat":1},{"version":"66cfc74e54331cabf88ed12b3317b13716d66865ee0187498d5b71b5d82c70a4","impliedFormat":1},{"version":"c5b47653a15ec7c0bde956e77e5ca103ddc180d40eb4b311e4a024ef7c668fb0","impliedFormat":1},{"version":"223709d7c096b4e2bb00390775e43481426c370ac8e270de7e4c36d355fc8bc9","impliedFormat":1},{"version":"0528a80462b04f2f2ad8bee604fe9db235db6a359d1208f370a236e23fc0b1e0","impliedFormat":1},{"version":"c8b003c0f6be91a5485bbfe99ab1b532c2c3e9ecb0290295013eeb5db0373fba","impliedFormat":1},{"version":"82ef7d775e89b200380d8a14dc6af6d985a45868478773d98850ea2449f1be56","impliedFormat":1},{"version":"953440f26228d2301293dbb5a71397b5508ba09f57c5dbcd33b16eca57076eb2","impliedFormat":1},{"version":"fb7e20b94d23d989fa7c7d20fccebef31c1ef2d3d9ca179cadba6516e4e918ad","impliedFormat":1},{"version":"8326f735a1f0d2b4ad20539cda4e0d2e7c5fc0b534e3c0d503d5ed20a5711009","impliedFormat":1},{"version":"8d720cd4ee809af1d81f4ce88f02168568d5fded574d89875afd8fe7afd9549e","impliedFormat":1},{"version":"df87c2628c5567fd71dc0b765c845b0cbfef61e7c2e56961ac527bfb615ea639","impliedFormat":1},{"version":"659a83f1dd901de4198c9c2aa70e4a46a9bd0c41ce8a42ee26f2dbff5e86b1f3","impliedFormat":1},{"version":"a66f3da7de689a5879af9501bbae12a28b42194e0a364afb7a6d395b3e3813c3","impliedFormat":1},{"version":"224f85b48786de61fb0b018fbea89620ebec6289179daa78ed33c0f83014fc75","impliedFormat":1},{"version":"05fbfcb5c5c247a8b8a1d97dd8557c78ead2fff524f0b6380b4ac9d3e35249fb","impliedFormat":1},{"version":"322f70408b4e1f550ecc411869707764d8b28da3608e4422587630b366daf9de","impliedFormat":1},{"version":"acb93abc527fa52eb2adc5602a7c3c0949861f8e4317a187bb5c3372f872eff4","impliedFormat":1},{"version":"c4ef9e9e0fcb14b52c97ce847fb26a446b7d668d9db98a7de915a22c46f44c37","impliedFormat":1},{"version":"0e447b14e81b5b3e5d83cbea58b734850f78fb883f810e46d3dedba1a5124658","impliedFormat":1},{"version":"bd2221581a2adfb320e2bb7b648e837005e90beacc0918139c3ba0523ec036b6","impliedFormat":1},{"version":"929939785efdef0b6781b7d3a7098238ea3af41be010f18d6627fd061b6c9edf","impliedFormat":1},{"version":"fca68ac3b92725dbf3dac3f9fbc80775b66d2a9c642e75595a4a11a2095b3c9a","impliedFormat":1},{"version":"245d13141d7f9ec6edd36b14844b247e0680950c1c3289774d431cbbd47e714e","impliedFormat":1},{"version":"4326dc453ff5bf36ad778e93b7021cdd9abcfc4efe75a5c04032324f404af558","impliedFormat":1},{"version":"27b47fbd2f2d0d3cd44b8c7231c800f8528949cc56f421093e2b829d6976f173","impliedFormat":1},{"version":"2733026486e03cb5ea5809e1c3ea5bf263d7a94733ef732643684296aecb072a","impliedFormat":1},{"version":"fc745bebefc96e2a518a2d559af6850626cada22a75f794fd40a17aae11e2d54","impliedFormat":1},{"version":"2b0fe9ba00d0d593fb475d4204214a0f604ad8a56f22a5f05c378b52205ef36b","impliedFormat":1},{"version":"3d94a259051acf8acd2108cee57ad58fee7f7b278de76a7a5746f0656eecbff6","impliedFormat":1},{"version":"bb4c1bfe357af1c473ec97d5366fe7204ad2d85534943316ba3a4e8f5a2f2d7e","impliedFormat":1},{"version":"14df3316ed8d60048de388cede480067482534e8dcb7a068331cb4bf02c18595","impliedFormat":1},{"version":"3f3526aea8d29f0c53f8fb99201c770c87c357b5e87349aca8494bfd0c145c26","impliedFormat":1},{"version":"6ee92d844e5a1c0eb562d110676a3a17f00d2cd2ea2aaaff0a98d7881b9a4041","impliedFormat":1},{"version":"d65d0a4617a365090b075ef495e3d3bb2d3cbd2e6f8f6f9aec9416f3bab91ef2","impliedFormat":1},{"version":"6052522a593f094cfee0e99c76312a229cf2d49ac2e75095af83813ec9f4b109","impliedFormat":1},{"version":"a0ceb6ce93981581494bae078b971b17e36b67502a36a056966940377517091d","impliedFormat":1},{"version":"a63ce903dd08c662702e33700a3d28ca66ed21ac0591e1dbf4a0b309ae80e690","impliedFormat":1},{"version":"2b63d2725550866e0f2b56b2394ce001ebf1145cb4b04dc9daa29d73867b878c","impliedFormat":1},{"version":"a937735c59855758c103378610b46bd56b3bd6e12037260c4b6ad6d73f519baa","impliedFormat":1},{"version":"6e2d2b63c278fd1c8dd54da2328622c964f50afa62978ed1a73ccd85e99a4fc7","impliedFormat":1},{"version":"d90f5bd18a862fdbd39b1db0eb9d92722e2922b1ff29c6f06cd198ba812d84a0","impliedFormat":1},{"version":"b83ffe71adbac91c5596133251e5ec0c9e6664017ee5b776841effe93de8f466","impliedFormat":1},{"version":"61ecf051972c69e7c992bab9cf74c511ecba51b273c4e1590574d97a542bd4ea","impliedFormat":1},{"version":"068f5afbae92a20a5fcd9cfce76f7b90de2c59a952396b5da225b61f95a1d60a","impliedFormat":1},{"version":"d6a104e56ead828ad1583f56348ccc6993bc73e89fe974474c7fa249407197cd","impliedFormat":1},{"version":"4e024e2530feda4719448af6bdd0c0c7cfa28d1a4887900f4886bec70cd48fea","impliedFormat":1},{"version":"99c88ea4f93e883d10c04961dbf37c403c4f3c8444948b86effec0bf52176d0e","impliedFormat":1},{"version":"e88f3729fcc3d38d2a1b3cdcbd773d13d72ea3bdf4d0c0c784818e3bfbe7998d","impliedFormat":1},{"version":"f25b1264b694a647593b0a9a044a267098aaf249d646981a7f0503b8bb185352","impliedFormat":1},{"version":"964d0862660f8e46675c83793f42ab2af336f3d6106dee966a4053d5dc433063","impliedFormat":1},{"version":"292ad4203c181f33beb9eb8fe7c6aaae29f62163793278a7ffc2fcc0d0dbed19","impliedFormat":1},{"version":"4e04e6263670ad377f2f6bcd477def099ac3634d760ee8a7cca74a6f39d70a48","impliedFormat":1},{"version":"39610d544bf13ae42304250e075918fea69b5e9ac0ad694948008ea44abcdead","impliedFormat":1},{"version":"f437151a618f7f89587479bcf5d64799276b0b5f578bf629b1b994ee723c6b5e","impliedFormat":1},{"version":"0cc800e9f15f736729b9b4e77cc6b7f9ea48010db7624f93ca773a48c712eb44","impliedFormat":1},{"version":"e567fdeb99631ab6483d5a4fe829c93c68adeb2cbfebc86a87f98e077d5c0268","impliedFormat":1},{"version":"5481417b1f4d6bf5ee34abc2de84cfe3770b877e987e3fa7a773fd1b0a4e11f4","impliedFormat":1},{"version":"e1b846ae9f58738fd93b58871f177fef92db61800a281c8a3410b7d0d84cb0c3","impliedFormat":1},{"version":"ee0ce25cc8881cbbba0cd58012eb398b54a790cc29dbdcf53e0473b7c49cba69","impliedFormat":1},{"version":"aaf76607f93af53b24eb112bfb152d8de7e6c756144e58eef864df6501e7545a","impliedFormat":1},{"version":"419b14db41edddf6618ebb84fd95ed083a29f19f774ef7de8e0d6e32b48407f8","impliedFormat":1},{"version":"4edfc4848068bf58016856dfeb27341c15679884575e1a501e2389a1fea5c579","impliedFormat":1},{"version":"0c3d7a094ef401b3c36c8e3d88382a7e7a8b1e4f702769eba861d03db559876b","impliedFormat":1},{"version":"050b1cd5315269fce82a01a8987bd7db84fb8f94881709a1f700f4f97224f642","impliedFormat":1},{"version":"7e3a4800683a39375bc99f0d53b21328b0a0377ab7cbb732c564ca7ca04d9b37","impliedFormat":1},{"version":"910738f73810877fe9024e9a0a5444d5bdca683461fe4d6a20c208adf2f94d00","impliedFormat":1},{"version":"4976dbbdf489ba70dc16e49d259efaac8e20f419b91656f8f4fe94886505303d","impliedFormat":1},{"version":"829a98c450dadb13125faaaa93c0b5e7e1c5c4f7c066bb4c00b69eb9db36536c","impliedFormat":1},{"version":"5bb16745b183f1dc755d5b77d9fb9b01f8d40b3835872cc733b84e2eccbedb21","impliedFormat":1},{"version":"a01db1c770264e60119d70720b38e9a44fb25312f9fc70642e96147e17becc28","impliedFormat":1},{"version":"5c2a40582c6a1168ac26165dea811be68935d1b3066253cdcae8350192bc7aab","impliedFormat":1},{"version":"06612a809e386e1adb0f35e8729eda408e371551c38969b44f1cecde9cd17df7","impliedFormat":1},{"version":"40d4724906e7ec0d9d608d5d81674f613afc5d12aa0f87a879fa2c512d7627f8","impliedFormat":1},{"version":"8378f204551aa7932df9ec1586b8f719873fdaa7de89de66f6a157a1aa5c147e","impliedFormat":1},{"version":"6291216b4d40642809c77703a00c5bb44d22ad9542f8960cd84228eeaa6df549","impliedFormat":1},{"version":"1246e5867cb2df7eede23eb1bf490e4262e97fc6eab5234223d92817db4229d7","impliedFormat":1},{"version":"c9280a410eb43a85010a5173640b03bbe51b734ecdb2e41b2852f3b048d84143","impliedFormat":1},{"version":"9daed3c8782cce6973646a43b22e072d4095195fd3f207b547772907d2f50d1d","impliedFormat":1},{"version":"143c6771fe7d73f3b1d23b92d598778320da0f57f971146d4e40c794b9c3708a","impliedFormat":1},{"version":"892b19153694b7a3c9a69bcedb54e1c8ad3b9fa370076db4d3522838afd2cd60","impliedFormat":1},{"version":"7fc4be1e2f21d64bb9d0d9f54a1fee943997a3d52c4628f5c5df431e7e4512dd","impliedFormat":1},{"version":"7f58eed7b82d0447cda84a1c9eccde2619da21a0f6ce26165db08afe11270f43","impliedFormat":1},{"version":"af31f37264ea5d5349eec50786ceca75c572ed3be91bdd7cb428fdd8cd14b17c","impliedFormat":1},{"version":"85e4673ec8507aef18afd4a9acfae0294bdfaac29458ede0b8b56f5a63738486","impliedFormat":1},{"version":"40683566071340b03c74d0a4ffa84d49fedb181a691ce04c97e11b231a7deee4","impliedFormat":1},{"version":"02631c985f434279165a322afdf222a825ab8293ab5085b694593cb92c6f273d","impliedFormat":1},{"version":"e885933b92f26fa3204403999eddc61651cd3109faf8bffa4f6b6e558b0ab2fa","impliedFormat":1},{"version":"ed3d34d1a1c751550a5e7de98e5274148b444b5e012fd2863e534a8bd19db229","impliedFormat":1},{"version":"f158721f7427976b5510660c8e53389d5033c915496c028558c66caaf3d1db1c","impliedFormat":1},{"version":"7baac8ea31358e13bf05b439b9e8fe60091e965cc9d38719e817f0e67d29f3ce","impliedFormat":1},"654ff5555def4278824ca37abd0f618f93ff5c9501e5e5243e096661b6ab9876","1e566feceb069544f90b04029fedaee3981548f6e0bf0f1590d15498476d1f05",{"version":"e659c4129fcacfaa606a53301f1bbd67617222e84d55cec343afc738b8d47e95","signature":"f748f036f5b02c711ec300d8fe5935286c751fbc27829eb8dbcb0875d4440836"},"0e0ac87a23b8ff55aeb7a492846f706b924cfb94a038b25ba822d0bf1204de23","525a4d8637493722fb7a39e9d44ccae31e47c065cf7eb0edf38bdbcb9ec23044","407cdbe0d8524478eeb8941e48b2fca3cf6ce19dcfc62bc917e9f5e20380b66f","a6f24a7b7bba5598ee6b760c5942d4c8bcb01f6794586b94c4ea9d655a9efad4","54ce2d2f007b8bba8a0d11d00899ada3d6f16d2a99ed85f115072b5fe4839180","d5229053fb2b77c6ccbf2d3bed24fe1702f3eed51b3cd0aad86a31600aa3a591",{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"2b37ba54ec067598bf912d56fcb81f6d8ad86a045c757e79440bdef97b52fe1b","impliedFormat":99},{"version":"1bc9dd465634109668661f998485a32da369755d9f32b5a55ed64a525566c94b","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"9d62e577adb05f5aafed137e747b3a1b26f8dce7b20f350d22f6fb3255a3c0ed","impliedFormat":99},{"version":"7ed92bcef308af6e3925b3b61c83ad6157a03ff15c7412cf325f24042fe5d363","impliedFormat":99},{"version":"3da9062d0c762c002b7ab88187d72e1978c0224db61832221edc8f4eb0b54414","impliedFormat":99},{"version":"84dbf6af43b0b5ad42c01e332fddf4c690038248140d7c4ccb74a424e9226d4d","impliedFormat":99},{"version":"00884fc0ea3731a9ffecffcde8b32e181b20e1039977a8ae93ae5bce3ab3d245","impliedFormat":99},{"version":"0bd8b6493d9bf244afe133ccb52d32d293de8d08d15437cca2089beed5f5a6b5","impliedFormat":99},{"version":"7fc3099c95752c6e7b0ea215915464c7203e835fcd6878210f2ce4f0dcbbfe67","impliedFormat":99},{"version":"83b5499dbc74ee1add93aef162f7d44b769dcef3a74afb5f80c70f9a5ce77cc0","impliedFormat":99},{"version":"8bf8b772b38fc4da471248320f49a2219c363a9669938c720e0e0a5a2531eabf","impliedFormat":99},{"version":"7da6e8c98eacf084c961e039255f7ebb9d97a43377e7eee2695cb77fec640c66","impliedFormat":99},{"version":"0b5b064c5145a48cd3e2a5d9528c63f49bac55aa4bc5f5b4e68a160066401375","impliedFormat":99},{"version":"702ff40d28906c05d9d60b23e646c2577ad1cc7cd177d5c0791255a2eab13c07","impliedFormat":99},{"version":"49ff0f30d6e757d865ae0b422103f42737234e624815eee2b7f523240aa0c8f8","impliedFormat":99},{"version":"0389aacf0ffd49a877a46814a21a4770f33fc33e99951a1584de866c8e971993","impliedFormat":99},{"version":"5cb7a51cf151c1056b61f078cf80b811e19787d1f29a33a2a6e4bf00334bbc10","impliedFormat":99},{"version":"215aa8915d707f97ad511b7abbf7eda51d3a7048e9a656955cf0dda767ae7db0","impliedFormat":99},{"version":"0d689a717fbef83da07ab4de33f83db5cbcec9bc4e3b04edb106c538a50a0210","impliedFormat":99},{"version":"d00bc73e8d1f4137f2f6238bb3aa2bbdad8573658cc95920e2cdfa7ad491a8d8","impliedFormat":99},{"version":"e3667aa9f5245d1a99fb4a2a1ac48daf1429040c29cc0d262e3843f9ae3b9d65","impliedFormat":99},{"version":"08c0f3222b50ec2b534be1a59392660102549129246425d33ec43f35aa051dc6","impliedFormat":99},{"version":"612fb780f312e6bb3c40f3cb2b827ea7455b922198f651c799d844fdd44cf2e9","impliedFormat":99},{"version":"bcd98e8f44bc76e4fcb41e4b1a8bab648161a942653a3d1f261775a891d258de","impliedFormat":99},{"version":"5abaa19aa91bb4f63ea58154ada5d021e33b1f39aa026ca56eb95f13b12c497a","impliedFormat":99},{"version":"356a18b0c50f297fee148f4a2c64b0affd352cbd6f21c7b6bfa569d30622c693","impliedFormat":99},{"version":"5876027679fd5257b92eb55d62efee634358012b9f25c5711ad02b918e52c837","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"70265bc75baf24ec0d61f12517b91ea711732b9c349fceef71a446c4ff4a247a","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"af85fde8986fdad68e96e871ae2d5278adaf2922d9879043b9313b18fae920b1","impliedFormat":99},{"version":"8a1f5d2f7cf4bf851cc9baae82056c3316d3c6d29561df28aff525556095554b","impliedFormat":99},{"version":"a5dbd4c9941b614526619bad31047ddd5f504ec4cdad88d6117b549faef34dd3","impliedFormat":99},{"version":"e87873f06fa094e76ac439c7756b264f3c76a41deb8bc7d39c1d30e0f03ef547","impliedFormat":99},{"version":"488861dc4f870c77c2f2f72c1f27a63fa2e81106f308e3fc345581938928f925","impliedFormat":99},{"version":"eff73acfacda1d3e62bb3cb5bc7200bb0257ea0c8857ce45b3fee5bfec38ad12","impliedFormat":99},{"version":"aff4ac6e11917a051b91edbb9a18735fe56bcfd8b1802ea9dbfb394ad8f6ce8e","impliedFormat":99},{"version":"1f68aed2648740ac69c6634c112fcaae4252fbae11379d6eabee09c0fbf00286","impliedFormat":99},{"version":"5e7c2eff249b4a86fb31e6b15e4353c3ddd5c8aefc253f4c3e4d9caeb4a739d4","impliedFormat":99},{"version":"14c8d1819e24a0ccb0aa64f85c61a6436c403eaf44c0e733cdaf1780fed5ec9f","impliedFormat":99},{"version":"011423c04bfafb915ceb4faec12ea882d60acbe482780a667fa5095796c320f8","impliedFormat":99},{"version":"f8eb2909590ec619643841ead2fc4b4b183fbd859848ef051295d35fef9d8469","impliedFormat":99},{"version":"fe784567dd721417e2c4c7c1d7306f4b8611a4f232f5b7ce734382cf34b417d2","impliedFormat":99},{"version":"45d1e8fb4fd3e265b15f5a77866a8e21870eae4c69c473c33289a4b971e93704","impliedFormat":99},{"version":"cd40919f70c875ca07ecc5431cc740e366c008bcbe08ba14b8c78353fb4680df","impliedFormat":99},{"version":"ddfd9196f1f83997873bbe958ce99123f11b062f8309fc09d9c9667b2c284391","impliedFormat":99},{"version":"2999ba314a310f6a333199848166d008d088c6e36d090cbdcc69db67d8ae3154","impliedFormat":99},{"version":"62c1e573cd595d3204dfc02b96eba623020b181d2aa3ce6a33e030bc83bebb41","impliedFormat":99},{"version":"ca1616999d6ded0160fea978088a57df492b6c3f8c457a5879837a7e68d69033","impliedFormat":99},{"version":"835e3d95251bbc48918bb874768c13b8986b87ea60471ad8eceb6e38ddd8845e","impliedFormat":99},{"version":"de54e18f04dbcc892a4b4241b9e4c233cfce9be02ac5f43a631bbc25f479cd84","impliedFormat":99},{"version":"453fb9934e71eb8b52347e581b36c01d7751121a75a5cd1a96e3237e3fd9fc7e","impliedFormat":99},{"version":"bc1a1d0eba489e3eb5c2a4aa8cd986c700692b07a76a60b73a3c31e52c7ef983","impliedFormat":99},{"version":"4098e612efd242b5e203c5c0b9afbf7473209905ab2830598be5c7b3942643d0","impliedFormat":99},{"version":"28410cfb9a798bd7d0327fbf0afd4c4038799b1d6a3f86116dc972e31156b6d2","impliedFormat":99},{"version":"514ae9be6724e2164eb38f2a903ef56cf1d0e6ddb62d0d40f155f32d1317c116","impliedFormat":99},{"version":"970e5e94a9071fd5b5c41e2710c0ef7d73e7f7732911681592669e3f7bd06308","impliedFormat":99},{"version":"491fb8b0e0aef777cec1339cb8f5a1a599ed4973ee22a2f02812dd0f48bd78c1","impliedFormat":99},{"version":"6acf0b3018881977d2cfe4382ac3e3db7e103904c4b634be908f1ade06eb302d","impliedFormat":99},{"version":"2dbb2e03b4b7f6524ad5683e7b5aa2e6aef9c83cab1678afd8467fde6d5a3a92","impliedFormat":99},{"version":"135b12824cd5e495ea0a8f7e29aba52e1adb4581bb1e279fb179304ba60c0a44","impliedFormat":99},{"version":"e4c784392051f4bbb80304d3a909da18c98bc58b093456a09b3e3a1b7b10937f","impliedFormat":99},{"version":"2e87c3480512f057f2e7f44f6498b7e3677196e84e0884618fc9e8b6d6228bed","impliedFormat":99},{"version":"66984309d771b6b085e3369227077da237b40e798570f0a2ddbfea383db39812","impliedFormat":99},{"version":"e41be8943835ad083a4f8a558bd2a89b7fe39619ed99f1880187c75e231d033e","impliedFormat":99},{"version":"260558fff7344e4985cfc78472ae58cbc2487e406d23c1ddaf4d484618ce4cfd","impliedFormat":99},{"version":"413d50bc66826f899c842524e5f50f42d45c8cb3b26fd478a62f26ac8da3d90e","impliedFormat":99},{"version":"d9083e10a491b6f8291c7265555ba0e9d599d1f76282812c399ab7639019f365","impliedFormat":99},{"version":"09de774ebab62974edad71cb3c7c6fa786a3fda2644e6473392bd4b600a9c79c","impliedFormat":99},{"version":"e8bcc823792be321f581fcdd8d0f2639d417894e67604d884c38b699284a1a2a","impliedFormat":99},{"version":"7c99839c518dcf5ab8a741a97c190f0703c0a71e30c6d44f0b7921b0deec9f67","impliedFormat":99},{"version":"44c14e4da99cd71f9fe4e415756585cec74b9e7dc47478a837d5bedfb7db1e04","impliedFormat":99},{"version":"1f46ee2b76d9ae1159deb43d14279d04bcebcb9b75de4012b14b1f7486e36f82","impliedFormat":99},{"version":"2838028b54b421306639f4419606306b940a5c5fcc5bc485954cbb0ab84d90f4","impliedFormat":99},{"version":"7116e0399952e03afe9749a77ceaca29b0e1950989375066a9ddc9cb0b7dd252","impliedFormat":99},"efcf1263f9589732b4c5bf3914514d58793de6e3a8af41f25fdb2778edbfb703","8ba6bc5bd29630b1799779c9119286444ea9f74366fd85691691450b84c942f8","83909bce15194514f7211552d1d728b5fb3b2ba6c3257298312fdf46f536a14a","31d566945b1e7b9e05a427f1e31f9e1eba257012d817d437403713012570dd6c","7c040d7506dbf4aa7852c87ad9992eead09204cce0aadcfa614f341b97171634","70d7314dfc1d6dfb0845910d22d6d9abf51cd78fa4ad74bf0df06031f1bbfffe","5d7ed01f127590f1a444df4d755cc7218bf58f7b4acd2c94d5d903938d440122","937aa65cafbc099a27368c5f0aa500afa72931d0bc9f6695af22d17a7835192d","a4ea98f8c42c3dfbaccdf6ded6bc4823ff1832f945d1374121740480821dfb41","c3085aa7c267e4a12c37d1330a7a4a29c38f8626db50456302ec5a79c215f656","400e5d3eedaf3a266823f089ddf6a9602908c4589a49e83241b56ee82bacba8b","0abb1cfa97658d004692c079d2e4dc3ee7743029bf38f2a87243b1be19fb5653","ab3ed9e9865e539d39bada59df90b1b39e97e24c748747122383fdabc0a6581e","2d644318e8bcc5325a8d794921082acd971dd11fe2871f3d5318820fc8091adc","cad16fb4c42deb4cfa689a09c012456f97266f186554d1b42962c27d987536ab","83520fcfa6b8e78fa5fc0d18376f48d03d64048534fc6f7c81e33a8732457fcf","8c77b83d6e380cd151c1f66d8ea034092e6747a5f5ecebf113555f81430ac286","d568f252e2d3886ee75f73a7b8e9dddc2dfa173638d13f7c44a88a750ac703b6","de8fe752cb5954f6c99acb19eb64084378b9532bc6fd4cd92dd94ff93a5feeaf","4b5af5bf9948475247385ece37424caaf053cd6ef184c03429022a52b35a7e9a","d79be59f2572ebc03369f1f87419139e97286a1380ec9cf0b442ea7d6d35dc02","0913a38c6d5edd277c0676c79809ad9db97f73b347c75d4fc32e957e3803313b","3c4205b49f12e74ec5250ba9c0fae0acbdb0671c7adcbf42b94f8e53f698e06e",{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"5d08a179b846f5ee674624b349ebebe2121c455e3a265dc93da4e8d9e89722b4","impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","impliedFormat":1},{"version":"d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","impliedFormat":1},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"6823ccc7b5b77bbf898d878dbcad18aa45e0fa96bdd0abd0de98d514845d9ed9","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},{"version":"742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","impliedFormat":1},{"version":"0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","impliedFormat":1},{"version":"8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","impliedFormat":1},{"version":"a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","impliedFormat":1},{"version":"868c78a84ad3530fc1b6e03da4611405da111bbfb0f1480abe45e801cde0b995","impliedFormat":1},{"version":"a3e12bcf2d196656ccd5b5d5344182967a2bdde0f63c9b955c36169ed02c3555","impliedFormat":1},{"version":"8f337cd0829439b8eb60ef076f30c0cbf7e2b2490ff4b048cfb98bedeb0b52c6","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[454,455,536,[682,702],[712,717],719,[846,854],[942,964]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":1,"module":99,"skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[954,1],[955,2],[956,3],[958,4],[957,5],[959,6],[960,7],[961,8],[962,9],[963,10],[952,11],[953,12],[964,13],[951,14],[683,15],[684,16],[685,17],[687,16],[686,16],[688,16],[691,16],[690,16],[689,18],[693,19],[694,20],[695,20],[696,19],[697,20],[698,20],[700,21],[701,19],[719,22],[846,23],[851,24],[847,25],[852,26],[702,27],[848,28],[849,22],[853,27],[854,22],[943,29],[944,27],[945,27],[946,22],[942,30],[947,22],[948,22],[949,31],[717,32],[850,33],[950,34],[682,35],[713,36],[712,27],[714,37],[699,27],[716,38],[715,27],[692,39],[454,40],[455,32],[732,41],[731,27],[728,27],[469,27],[472,42],[965,27],[966,27],[967,27],[968,43],[741,27],[970,44],[742,45],[969,27],[971,27],[973,46],[470,27],[974,47],[477,27],[856,48],[866,48],[972,27],[855,27],[975,27],[473,49],[519,50],[520,51],[518,27],[456,27],[466,52],[462,53],[465,54],[528,55],[509,27],[511,56],[531,56],[510,57],[467,27],[464,58],[457,59],[524,60],[459,61],[461,62],[523,27],[521,61],[460,27],[463,59],[458,27],[471,27],[840,27],[482,27],[708,63],[710,64],[709,65],[707,66],[706,27],[772,27],[935,27],[909,67],[908,68],[907,69],[934,70],[933,71],[937,72],[936,73],[939,74],[938,75],[894,76],[868,77],[869,78],[870,78],[871,78],[872,78],[873,78],[874,78],[875,78],[876,78],[877,78],[878,78],[892,79],[879,78],[880,78],[881,78],[882,78],[883,78],[884,78],[885,78],[886,78],[888,78],[889,78],[887,78],[890,78],[891,78],[893,78],[867,80],[932,81],[912,82],[913,82],[914,82],[915,82],[916,82],[917,82],[918,83],[920,82],[919,82],[931,84],[921,82],[923,82],[922,82],[925,82],[924,82],[926,82],[927,82],[928,82],[929,82],[930,82],[911,82],[910,85],[902,86],[900,87],[901,87],[905,88],[903,87],[904,87],[906,87],[899,27],[500,89],[498,90],[499,91],[487,92],[488,90],[495,93],[486,94],[491,95],[501,27],[492,96],[497,97],[503,98],[502,99],[485,100],[493,101],[494,102],[489,103],[496,89],[490,104],[898,105],[897,106],[758,27],[756,107],[760,108],[820,109],[815,110],[725,111],[791,112],[786,113],[836,114],[723,115],[790,116],[781,117],[819,118],[816,119],[775,120],[785,121],[821,122],[822,122],[823,123],[831,124],[825,124],[833,124],[837,124],[824,124],[826,124],[829,124],[832,124],[828,125],[830,124],[834,126],[827,127],[735,128],[802,22],[799,129],[803,22],[746,124],[736,124],[795,130],[724,131],[745,132],[749,133],[801,124],[721,22],[800,134],[798,22],[797,124],[737,22],[844,135],[843,136],[845,137],[810,27],[808,27],[812,138],[811,139],[807,140],[809,141],[813,142],[814,143],[806,22],[744,144],[720,124],[805,124],[759,145],[804,22],[784,144],[835,124],[777,146],[733,147],[738,148],[787,149],[768,150],[771,146],[750,151],[770,152],[779,153],[780,154],[776,155],[778,156],[755,157],[794,158],[792,159],[793,160],[789,161],[769,162],[757,163],[762,164],[739,165],[766,166],[767,167],[763,168],[740,169],[751,170],[788,154],[734,171],[842,27],[761,172],[754,173],[782,27],[817,27],[838,27],[773,27],[747,27],[774,27],[726,174],[841,175],[753,176],[783,177],[752,178],[818,179],[764,27],[796,180],[748,27],[765,27],[839,27],[722,22],[730,181],[727,27],[941,182],[940,183],[896,184],[895,185],[729,27],[479,186],[478,47],[484,27],[529,27],[468,27],[863,187],[862,27],[865,188],[861,27],[864,189],[858,190],[857,48],[860,191],[859,192],[743,193],[475,194],[508,195],[481,196],[476,194],[474,27],[480,197],[506,27],[504,27],[505,27],[483,27],[507,198],[526,199],[535,200],[525,201],[530,202],[517,203],[514,204],[522,27],[515,53],[705,205],[703,206],[533,207],[532,208],[513,209],[704,210],[512,27],[516,211],[534,212],[711,213],[527,27],[536,214],[632,215],[631,216],[537,27],[718,217],[398,27],[641,218],[644,219],[650,220],[653,221],[674,222],[652,223],[633,27],[634,224],[635,225],[638,27],[636,27],[637,27],[675,226],[640,218],[639,27],[676,227],[643,219],[642,27],[680,228],[677,229],[647,230],[649,231],[646,232],[648,233],[645,230],[678,234],[651,218],[679,235],[654,236],[673,237],[670,238],[672,239],[657,240],[664,241],[666,242],[668,243],[667,244],[659,245],[656,238],[660,27],[671,246],[661,247],[658,27],[669,27],[655,27],[662,248],[663,27],[665,249],[538,27],[983,250],[982,251],[979,252],[984,253],[980,27],[985,27],[987,254],[988,255],[986,27],[115,256],[116,256],[117,257],[76,258],[118,259],[119,260],[120,261],[71,27],[74,262],[72,27],[73,27],[121,263],[122,264],[123,265],[124,266],[125,267],[126,268],[127,268],[129,269],[128,270],[130,271],[131,272],[132,273],[114,274],[75,27],[133,275],[134,276],[135,277],[168,278],[136,279],[137,280],[138,281],[139,282],[140,283],[141,284],[142,285],[143,286],[144,287],[145,288],[146,288],[147,289],[148,27],[149,27],[150,290],[152,291],[151,292],[153,293],[154,294],[155,295],[156,296],[157,297],[158,298],[159,299],[160,300],[161,301],[162,302],[163,303],[164,304],[165,305],[166,306],[167,307],[990,308],[991,27],[977,27],[978,27],[172,309],[173,310],[171,22],[169,311],[170,312],[60,27],[62,313],[245,22],[989,27],[976,314],[981,315],[992,316],[681,317],[61,27],[630,27],[69,318],[401,319],[406,14],[408,320],[194,321],[349,322],[376,323],[205,27],[186,27],[192,27],[338,324],[273,325],[193,27],[339,326],[378,327],[379,328],[326,329],[335,330],[243,331],[343,332],[344,333],[342,334],[341,27],[340,335],[377,336],[195,337],[280,27],[281,338],[190,27],[206,339],[196,340],[218,339],[249,339],[179,339],[348,341],[358,27],[185,27],[304,342],[305,343],[299,344],[429,27],[307,27],[308,344],[300,345],[320,22],[434,346],[433,347],[428,27],[246,348],[381,27],[334,349],[333,27],[427,350],[301,22],[221,351],[219,352],[430,27],[432,353],[431,27],[220,354],[422,355],[425,356],[230,357],[229,358],[228,359],[437,22],[227,360],[268,27],[440,27],[443,27],[442,22],[444,361],[175,27],[345,362],[346,363],[347,364],[370,27],[184,365],[174,27],[177,366],[319,367],[318,368],[309,27],[310,27],[317,27],[312,27],[315,369],[311,27],[313,370],[316,371],[314,370],[191,27],[182,27],[183,339],[400,372],[409,373],[413,374],[352,375],[351,27],[264,27],[445,376],[361,377],[302,378],[303,379],[296,380],[286,27],[294,27],[295,381],[324,382],[287,383],[325,384],[322,385],[321,27],[323,27],[277,386],[353,387],[354,388],[288,389],[292,390],[284,391],[330,392],[360,393],[363,394],[266,395],[180,396],[359,397],[176,323],[382,27],[383,398],[394,399],[380,27],[393,400],[70,27],[368,401],[252,27],[282,402],[364,27],[181,27],[213,27],[392,403],[189,27],[255,404],[291,405],[350,406],[290,27],[391,27],[385,407],[386,408],[187,27],[388,409],[389,410],[371,27],[390,396],[211,411],[369,412],[395,413],[198,27],[201,27],[199,27],[203,27],[200,27],[202,27],[204,414],[197,27],[258,415],[257,27],[263,416],[259,417],[262,418],[261,418],[265,416],[260,417],[217,419],[247,420],[357,421],[447,27],[417,422],[419,423],[289,27],[418,424],[355,387],[446,425],[306,387],[188,27],[248,426],[214,427],[215,428],[216,429],[212,430],[329,430],[224,430],[250,431],[225,431],[208,432],[207,27],[256,433],[254,434],[253,435],[251,436],[356,437],[328,438],[327,439],[298,440],[337,441],[336,442],[332,443],[242,444],[244,445],[241,446],[209,447],[276,27],[405,27],[275,448],[331,27],[267,449],[285,362],[283,450],[269,451],[271,452],[441,27],[270,453],[272,453],[403,27],[402,27],[404,27],[439,27],[274,454],[239,22],[68,27],[222,455],[231,27],[279,456],[210,27],[411,22],[421,457],[238,22],[415,344],[237,458],[397,459],[236,457],[178,27],[423,460],[234,22],[235,22],[226,27],[278,27],[233,461],[232,462],[223,463],[293,287],[362,287],[387,27],[366,464],[365,27],[407,27],[240,22],[297,22],[399,465],[63,22],[66,466],[67,467],[64,22],[65,27],[384,468],[375,469],[374,27],[373,470],[372,27],[396,471],[410,472],[412,473],[414,474],[416,475],[420,476],[453,477],[424,477],[452,478],[426,479],[435,480],[436,481],[438,482],[448,483],[451,365],[450,27],[449,484],[367,485],[58,27],[59,27],[10,27],[11,27],[13,27],[12,27],[2,27],[14,27],[15,27],[16,27],[17,27],[18,27],[19,27],[20,27],[21,27],[3,27],[22,27],[23,27],[4,27],[24,27],[28,27],[25,27],[26,27],[27,27],[29,27],[30,27],[31,27],[5,27],[32,27],[33,27],[34,27],[35,27],[6,27],[39,27],[36,27],[37,27],[38,27],[40,27],[7,27],[41,27],[46,27],[47,27],[42,27],[43,27],[44,27],[45,27],[8,27],[51,27],[48,27],[49,27],[50,27],[52,27],[9,27],[53,27],[54,27],[55,27],[57,27],[56,27],[1,27],[92,486],[102,487],[91,486],[112,488],[83,489],[82,490],[111,484],[105,491],[110,492],[85,493],[99,494],[84,495],[108,496],[80,497],[79,484],[109,498],[81,499],[86,500],[87,27],[90,500],[77,27],[113,501],[103,502],[94,503],[95,504],[97,505],[93,506],[96,507],[106,484],[88,508],[89,509],[98,510],[78,511],[101,502],[100,500],[104,27],[107,512],[543,513],[550,514],[545,27],[546,27],[544,515],[547,516],[539,27],[540,27],[551,517],[542,518],[548,27],[549,519],[541,520],[622,521],[626,522],[623,522],[619,521],[627,523],[624,524],[628,525],[625,522],[620,526],[621,527],[615,528],[559,529],[561,530],[614,27],[560,531],[618,532],[617,533],[616,534],[552,27],[562,529],[563,27],[554,535],[558,536],[553,27],[555,537],[556,538],[557,27],[629,539],[564,540],[565,540],[566,540],[567,540],[568,540],[569,540],[570,540],[571,540],[572,540],[573,540],[574,540],[575,540],[576,540],[578,540],[577,540],[579,540],[580,540],[581,540],[582,540],[613,541],[583,540],[584,540],[585,540],[586,540],[587,540],[588,540],[589,540],[590,540],[591,540],[592,540],[593,540],[594,540],[595,540],[597,540],[596,540],[598,540],[599,540],[600,540],[601,540],[602,540],[603,540],[604,540],[605,540],[606,540],[607,540],[608,540],[609,540],[612,540],[610,540],[611,540]],"semanticDiagnosticsPerFile":[[701,[{"start":2028,"length":8,"code":2550,"category":1,"messageText":"Property 'toSorted' does not exist on type 'Dirent[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2023' or later."},{"start":2038,"length":1,"messageText":"Parameter 'a' implicitly has an 'any' type.","category":1,"code":7006},{"start":2041,"length":1,"messageText":"Parameter 'b' implicitly has an 'any' type.","category":1,"code":7006}]],[850,[{"start":7035,"length":10,"code":2345,"category":1,"messageText":{"messageText":"Argument of type '{ id: string; role: \"assistant\" | \"user\"; parts: Record[]; }[]' is not assignable to parameter of type 'UIMessage[] | ((messages: UIMessage[]) => UIMessage[])'.","category":1,"code":2345,"next":[{"messageText":"Type '{ id: string; role: \"assistant\" | \"user\"; parts: Record[]; }[]' is not assignable to type 'UIMessage[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ id: string; role: \"assistant\" | \"user\"; parts: Record[]; }' is not assignable to type 'UIMessage'.","category":1,"code":2322,"next":[{"messageText":"Types of property 'parts' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type 'Record[]' is not assignable to type 'UIMessagePart[]'.","category":1,"code":2322,"next":[{"messageText":"Type 'Record' is not assignable to type 'UIMessagePart'.","category":1,"code":2322,"next":[{"messageText":"Type 'Record' is not assignable to type '{ type: \"dynamic-tool\"; toolName: string; toolCallId: string; title?: string | undefined; providerExecuted?: boolean | undefined; } & { state: \"output-available\"; input: unknown; output: unknown; errorText?: undefined; callProviderMetadata?: SharedV3ProviderMetadata | undefined; preliminary?: boolean | undefined; ap...'.","category":1,"code":2322,"next":[{"messageText":"Type 'Record' is missing the following properties from type '{ type: \"dynamic-tool\"; toolName: string; toolCallId: string; title?: string | undefined; providerExecuted?: boolean | undefined; }': type, toolName, toolCallId","category":1,"code":2739,"canonicalHead":{"code":2322,"messageText":"Type 'Record' is not assignable to type '{ type: \"dynamic-tool\"; toolName: string; toolCallId: string; title?: string | undefined; providerExecuted?: boolean | undefined; }'."}}]}]}],"canonicalHead":{"code":2322,"messageText":"Type '{ id: string; role: \"assistant\" | \"user\"; parts: Record[]; }' is not assignable to type 'UIMessage'."}}]}]}]}]}}]],[854,[{"start":8438,"length":8,"code":2550,"category":1,"messageText":"Property 'toSorted' does not exist on type 'Record[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2023' or later."},{"start":8448,"length":1,"messageText":"Parameter 'a' implicitly has an 'any' type.","category":1,"code":7006},{"start":8451,"length":1,"messageText":"Parameter 'b' implicitly has an 'any' type.","category":1,"code":7006}]],[948,[{"start":4174,"length":8,"code":2550,"category":1,"messageText":"Property 'toSorted' does not exist on type 'Record[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2023' or later."},{"start":4184,"length":1,"messageText":"Parameter 'a' implicitly has an 'any' type.","category":1,"code":7006},{"start":4187,"length":1,"messageText":"Parameter 'b' implicitly has an 'any' type.","category":1,"code":7006},{"start":6362,"length":5,"messageText":"Parameter 'entry' implicitly has an 'any' type.","category":1,"code":7006},{"start":6369,"length":3,"messageText":"Parameter 'idx' implicitly has an 'any' type.","category":1,"code":7006}]]],"affectedFilesPendingEmit":[954,955,956,958,957,959,960,961,962,963,952,953,964,683,684,685,687,686,688,691,690,689,693,694,695,696,697,698,700,701,719,846,851,847,852,702,848,849,853,854,943,944,945,946,942,947,948,949,717,850,950,682,713,712,714,699,716,715,692,455,536],"version":"5.9.3"} \ No newline at end of file +{"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/amp.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/amp.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/compatibility/index.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/dom-events.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@22.15.21/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/canary.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/experimental.d.ts","../../node_modules/.pnpm/@types+react-dom@19.1.5_@types+react@19.1.4/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+react-dom@19.1.5_@types+react@19.1.4/node_modules/@types/react-dom/canary.d.ts","../../node_modules/.pnpm/@types+react-dom@19.1.5_@types+react@19.1.4/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/fallback.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/cache-control.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/constants.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/app-router-headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/rendering-mode.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/page-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-baseline.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/page-extensions-type.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-kind.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/route-module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/flight-data-helpers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/amp-context.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/templates/pages.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../node_modules/.pnpm/@types+react@19.1.4/node_modules/@types/react/jsx-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/react-dev-overlay/pages/pages-dev-overlay.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/render.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/instrumentation/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/prefetch-rsc.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/adapter.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/fallback-params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/lazy-result.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/clean-async-snapshot-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/clean-async-snapshot.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/app-render.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/server-inserted-metadata.shared-runtime.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/error-boundary.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/layout-router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/client-page.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/client-segment.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/search-params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/metadata/metadata.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/metadata/metadata-boundary.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/entry-base.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/templates/app-page.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/async-storage/work-store.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/redirect-error.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/templates/app-route.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/static-paths/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/utils.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/export/routes/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/export/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/export/worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/after.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/after-context.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/route-matches/route-match.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/cli/next-test.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/trace.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/shared.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/trace/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/load-jsconfig.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/webpack-config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/swc/generated-native.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/build/swc/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/react-dev-overlay/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/telemetry/storage.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/lru-cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/next.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../node_modules/.pnpm/@next+env@15.3.3/node_modules/@next/env/dist/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/app.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/cache.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/runtime-config.external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/config.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/document.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dynamic.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/error.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/head.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/cookies.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/draft-mode.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/headers.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/image-component.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/shared/lib/image-external.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/image.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/link.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/link.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/redirect.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/not-found.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/forbidden.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/unauthorized.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/components/navigation.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/navigation.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/router.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/client/script.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/script.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/after/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/root-params.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/dist/server/request/connection.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/server.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/types/global.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/types/compiled.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/types.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/index.d.ts","../../node_modules/.pnpm/next@15.3.3_react-dom@19.1.0_react@19.1.0/node_modules/next/image-types/global.d.ts","./next-env.d.ts","./next.config.ts","./node_modules/@vitest/pretty-format/dist/index.d.ts","./node_modules/@vitest/utils/dist/display.d.ts","./node_modules/@vitest/utils/dist/types.d.ts","./node_modules/@vitest/utils/dist/helpers.d.ts","./node_modules/@vitest/utils/dist/timers.d.ts","./node_modules/@vitest/utils/dist/index.d.ts","./node_modules/@vitest/runner/dist/tasks.d-c7uxawj9.d.ts","./node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","./node_modules/@vitest/utils/dist/diff.d.ts","./node_modules/@vitest/runner/dist/types.d.ts","./node_modules/@vitest/runner/dist/index.d.ts","./node_modules/@vitest/spy/dist/index.d.ts","./node_modules/tinyrainbow/dist/index.d.ts","./node_modules/@standard-schema/spec/dist/index.d.ts","./node_modules/@types/deep-eql/index.d.ts","./node_modules/assertion-error/index.d.ts","./node_modules/@types/chai/index.d.ts","./node_modules/@vitest/expect/dist/index.d.ts","./node_modules/vite/types/hmrpayload.d.ts","./node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","./node_modules/vite/types/customevent.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/rollup/dist/rollup.d.ts","./node_modules/rollup/dist/parseast.d.ts","./node_modules/vite/types/hot.d.ts","./node_modules/vite/dist/node/module-runner.d.ts","./node_modules/esbuild/lib/main.d.ts","./node_modules/vite/types/internal/terseroptions.d.ts","./node_modules/source-map-js/source-map.d.ts","./node_modules/postcss/lib/previous-map.d.ts","./node_modules/postcss/lib/input.d.ts","./node_modules/postcss/lib/css-syntax-error.d.ts","./node_modules/postcss/lib/declaration.d.ts","./node_modules/postcss/lib/root.d.ts","./node_modules/postcss/lib/warning.d.ts","./node_modules/postcss/lib/lazy-result.d.ts","./node_modules/postcss/lib/no-work-result.d.ts","./node_modules/postcss/lib/processor.d.ts","./node_modules/postcss/lib/result.d.ts","./node_modules/postcss/lib/document.d.ts","./node_modules/postcss/lib/rule.d.ts","./node_modules/postcss/lib/node.d.ts","./node_modules/postcss/lib/comment.d.ts","./node_modules/postcss/lib/container.d.ts","./node_modules/postcss/lib/at-rule.d.ts","./node_modules/postcss/lib/list.d.ts","./node_modules/postcss/lib/postcss.d.ts","./node_modules/postcss/lib/postcss.d.mts","./node_modules/vite/types/internal/csspreprocessoroptions.d.ts","./node_modules/vite/types/internal/lightningcssoptions.d.ts","./node_modules/vite/types/importglob.d.ts","./node_modules/vite/types/metadata.d.ts","./node_modules/vite/dist/node/index.d.ts","./node_modules/@vitest/snapshot/dist/environment.d-dhdq1csl.d.ts","./node_modules/@vitest/snapshot/dist/rawsnapshot.d-lfsmjfud.d.ts","./node_modules/@vitest/snapshot/dist/index.d.ts","./node_modules/vitest/dist/chunks/traces.d.402v_yfi.d.ts","./node_modules/vitest/dist/chunks/rpc.d.rh3apgef.d.ts","./node_modules/vitest/dist/chunks/config.d.cy95hicx.d.ts","./node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","./node_modules/vitest/dist/chunks/worker.d.dyxm8del.d.ts","./node_modules/vitest/dist/chunks/browser.d.chkacdzh.d.ts","./node_modules/@vitest/mocker/dist/types.d-b8cckmht.d.ts","./node_modules/@vitest/mocker/dist/index.d-c-slyzi-.d.ts","./node_modules/@vitest/mocker/dist/index.d.ts","./node_modules/@vitest/utils/dist/source-map.d.ts","./node_modules/vitest/dist/chunks/coverage.d.bztk59wp.d.ts","./node_modules/@vitest/utils/dist/serialize.d.ts","./node_modules/@vitest/utils/dist/error.d.ts","./node_modules/vitest/dist/browser.d.ts","./node_modules/vitest/browser/context.d.ts","./node_modules/vitest/optional-types.d.ts","./node_modules/@vitest/runner/dist/utils.d.ts","./node_modules/tinybench/dist/index.d.ts","./node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","./node_modules/@vitest/snapshot/dist/manager.d.ts","./node_modules/vitest/dist/chunks/reporters.d.cwxni2jg.d.ts","./node_modules/vitest/dist/chunks/plugin.d.ctqpeehp.d.ts","./node_modules/vitest/dist/config.d.ts","./node_modules/vitest/config.d.ts","./vitest.config.ts","../../node_modules/.pnpm/@ai-sdk+provider@3.0.7/node_modules/@ai-sdk/provider/dist/index.d.ts","../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typealiases.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/zoderror.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/enumutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/partialutil.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/standard-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-ca.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-cn.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-tw.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/index.d.cts","../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/index.d.cts","../../node_modules/.pnpm/eventsource-parser@3.0.6/node_modules/eventsource-parser/dist/stream.d.ts","../../node_modules/.pnpm/@ai-sdk+provider-utils@4.0.13_zod@4.3.6/node_modules/@ai-sdk/provider-utils/dist/index.d.ts","../../node_modules/.pnpm/@ai-sdk+gateway@3.0.36_zod@4.3.6/node_modules/@ai-sdk/gateway/dist/index.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/exception.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/time.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consolelogger.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/observableresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/metric.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/meter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/noopmeter.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/meterprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/textmappropagator.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spanoptions.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/proxytracer.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/proxytracerprovider.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/samplingresult.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/sampler.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.d.ts","../../node_modules/.pnpm/ai@6.0.73_zod@4.3.6/node_modules/ai/dist/index.d.ts","./lib/agent-runner.ts","./app/api/chat/route.ts","./app/api/memories/route.ts","./app/api/new-session/route.ts","./app/api/sessions/route.ts","./app/api/sessions/[sessionid]/route.ts","./app/api/skills/route.ts","./app/api/web-sessions/route.ts","./app/api/web-sessions/[id]/route.ts","./app/api/web-sessions/[id]/messages/route.ts","./lib/workspace.ts","./app/api/workspace/context/route.ts","./app/api/workspace/copy/route.ts","./app/api/workspace/db/introspect/route.ts","./app/api/workspace/db/query/route.ts","./app/api/workspace/file/route.ts","./app/api/workspace/mkdir/route.ts","./app/api/workspace/move/route.ts","./app/api/workspace/objects/[name]/route.ts","./app/api/workspace/objects/[name]/display-field/route.ts","./app/api/workspace/query/route.ts","./app/api/workspace/rename/route.ts","./lib/report-filters.ts","./app/api/workspace/reports/execute/route.ts","./app/api/workspace/tree/route.ts","../../node_modules/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.d.ts","../../node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/handler.d.ts","../../node_modules/.pnpm/chokidar@5.0.0/node_modules/chokidar/index.d.ts","./app/api/workspace/watch/route.ts","./app/components/charts/types.ts","./app/hooks/use-workspace-watcher.ts","./node_modules/vitest/dist/chunks/global.d.b15mdlcr.d.ts","./node_modules/vitest/dist/chunks/suite.d.bjwk38hb.d.ts","./node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","./node_modules/expect-type/dist/utils.d.ts","./node_modules/expect-type/dist/overloads.d.ts","./node_modules/expect-type/dist/branding.d.ts","./node_modules/expect-type/dist/messages.d.ts","./node_modules/expect-type/dist/index.d.ts","./node_modules/vitest/dist/index.d.ts","./lib/report-blocks.ts","./lib/report-blocks.test.ts","./lib/report-filters.test.ts","./lib/report-utils.ts","./lib/report-utils.test.ts","./app/layout.tsx","../../node_modules/.pnpm/@ai-sdk+react@3.0.75_react@19.1.0_zod@4.3.6/node_modules/@ai-sdk/react/dist/index.d.ts","./app/components/chain-of-thought.tsx","./node_modules/recharts/types/shape/dot.d.ts","./node_modules/recharts/types/component/text.d.ts","./node_modules/recharts/types/zindex/zindexlayer.d.ts","./node_modules/recharts/types/cartesian/getcartesianposition.d.ts","./node_modules/recharts/types/component/label.d.ts","./node_modules/recharts/types/cartesian/cartesianaxis.d.ts","./node_modules/recharts/types/util/scale/customscaledefinition.d.ts","./node_modules/redux/dist/redux.d.ts","./node_modules/@reduxjs/toolkit/node_modules/immer/dist/immer.d.ts","./node_modules/reselect/dist/reselect.d.ts","./node_modules/redux-thunk/dist/redux-thunk.d.ts","./node_modules/@reduxjs/toolkit/dist/uncheckedindexed.ts","./node_modules/@reduxjs/toolkit/dist/index.d.mts","./node_modules/recharts/types/state/cartesianaxisslice.d.ts","./node_modules/recharts/types/synchronisation/types.d.ts","./node_modules/recharts/types/chart/types.d.ts","./node_modules/recharts/types/component/defaulttooltipcontent.d.ts","./node_modules/recharts/types/context/brushupdatecontext.d.ts","./node_modules/recharts/types/state/chartdataslice.d.ts","./node_modules/recharts/types/state/types/linesettings.d.ts","./node_modules/recharts/types/state/types/scattersettings.d.ts","./node_modules/@types/d3-path/index.d.ts","./node_modules/@types/d3-shape/index.d.ts","./node_modules/victory-vendor/d3-shape.d.ts","./node_modules/recharts/types/shape/curve.d.ts","./node_modules/recharts/types/component/labellist.d.ts","./node_modules/recharts/types/component/defaultlegendcontent.d.ts","./node_modules/recharts/types/util/payload/getuniqpayload.d.ts","./node_modules/recharts/types/util/useelementoffset.d.ts","./node_modules/recharts/types/component/legend.d.ts","./node_modules/recharts/types/state/legendslice.d.ts","./node_modules/recharts/types/state/types/stackedgraphicalitem.d.ts","./node_modules/recharts/types/util/stacks/stacktypes.d.ts","./node_modules/recharts/types/util/scale/rechartsscale.d.ts","./node_modules/recharts/types/util/chartutils.d.ts","./node_modules/recharts/types/state/selectors/areaselectors.d.ts","./node_modules/recharts/types/cartesian/area.d.ts","./node_modules/recharts/types/state/types/areasettings.d.ts","./node_modules/recharts/types/animation/easing.d.ts","./node_modules/recharts/types/shape/rectangle.d.ts","./node_modules/recharts/types/cartesian/bar.d.ts","./node_modules/recharts/types/util/barutils.d.ts","./node_modules/recharts/types/state/types/barsettings.d.ts","./node_modules/recharts/types/state/types/radialbarsettings.d.ts","./node_modules/recharts/types/util/svgpropertiesnoevents.d.ts","./node_modules/recharts/types/util/useuniqueid.d.ts","./node_modules/recharts/types/state/types/piesettings.d.ts","./node_modules/recharts/types/state/types/radarsettings.d.ts","./node_modules/recharts/types/state/graphicalitemsslice.d.ts","./node_modules/recharts/types/state/tooltipslice.d.ts","./node_modules/recharts/types/state/optionsslice.d.ts","./node_modules/recharts/types/state/layoutslice.d.ts","./node_modules/immer/dist/immer.d.ts","./node_modules/recharts/types/util/ifoverflow.d.ts","./node_modules/recharts/types/util/resolvedefaultprops.d.ts","./node_modules/recharts/types/cartesian/referenceline.d.ts","./node_modules/recharts/types/state/referenceelementsslice.d.ts","./node_modules/recharts/types/state/brushslice.d.ts","./node_modules/recharts/types/state/rootpropsslice.d.ts","./node_modules/recharts/types/state/polaraxisslice.d.ts","./node_modules/recharts/types/state/polaroptionsslice.d.ts","./node_modules/recharts/types/cartesian/line.d.ts","./node_modules/recharts/types/util/constants.d.ts","./node_modules/recharts/types/util/scatterutils.d.ts","./node_modules/recharts/types/shape/symbols.d.ts","./node_modules/recharts/types/cartesian/scatter.d.ts","./node_modules/recharts/types/cartesian/errorbar.d.ts","./node_modules/recharts/types/state/errorbarslice.d.ts","./node_modules/recharts/types/state/zindexslice.d.ts","./node_modules/recharts/types/state/store.d.ts","./node_modules/recharts/types/cartesian/getticks.d.ts","./node_modules/recharts/types/cartesian/cartesiangrid.d.ts","./node_modules/recharts/types/state/selectors/combiners/combinedisplayedstackeddata.d.ts","./node_modules/recharts/types/state/selectors/selecttooltipaxistype.d.ts","./node_modules/recharts/types/state/selectors/axisselectors.d.ts","./node_modules/recharts/types/component/dots.d.ts","./node_modules/recharts/types/util/types.d.ts","./node_modules/recharts/types/container/surface.d.ts","./node_modules/recharts/types/container/layer.d.ts","./node_modules/recharts/types/component/cursor.d.ts","./node_modules/recharts/types/component/tooltip.d.ts","./node_modules/recharts/types/component/responsivecontainer.d.ts","./node_modules/recharts/types/component/cell.d.ts","./node_modules/recharts/types/component/customized.d.ts","./node_modules/recharts/types/shape/sector.d.ts","./node_modules/recharts/types/shape/polygon.d.ts","./node_modules/recharts/types/shape/cross.d.ts","./node_modules/recharts/types/polar/polargrid.d.ts","./node_modules/recharts/types/polar/defaultpolarradiusaxisprops.d.ts","./node_modules/recharts/types/polar/polarradiusaxis.d.ts","./node_modules/recharts/types/polar/defaultpolarangleaxisprops.d.ts","./node_modules/recharts/types/polar/polarangleaxis.d.ts","./node_modules/recharts/types/polar/pie.d.ts","./node_modules/recharts/types/polar/radar.d.ts","./node_modules/recharts/types/polar/radialbar.d.ts","./node_modules/recharts/types/cartesian/brush.d.ts","./node_modules/recharts/types/cartesian/referencedot.d.ts","./node_modules/recharts/types/util/excludeeventprops.d.ts","./node_modules/recharts/types/util/svgpropertiesandevents.d.ts","./node_modules/recharts/types/cartesian/referencearea.d.ts","./node_modules/recharts/types/cartesian/barstack.d.ts","./node_modules/recharts/types/cartesian/xaxis.d.ts","./node_modules/recharts/types/cartesian/yaxis.d.ts","./node_modules/recharts/types/cartesian/zaxis.d.ts","./node_modules/recharts/types/chart/linechart.d.ts","./node_modules/recharts/types/chart/barchart.d.ts","./node_modules/recharts/types/chart/piechart.d.ts","./node_modules/recharts/types/chart/treemap.d.ts","./node_modules/recharts/types/chart/sankey.d.ts","./node_modules/recharts/types/chart/radarchart.d.ts","./node_modules/recharts/types/chart/scatterchart.d.ts","./node_modules/recharts/types/chart/areachart.d.ts","./node_modules/recharts/types/chart/radialbarchart.d.ts","./node_modules/recharts/types/chart/composedchart.d.ts","./node_modules/recharts/types/chart/sunburstchart.d.ts","./node_modules/recharts/types/shape/trapezoid.d.ts","./node_modules/recharts/types/cartesian/funnel.d.ts","./node_modules/recharts/types/chart/funnelchart.d.ts","./node_modules/recharts/types/util/global.d.ts","./node_modules/recharts/types/zindex/defaultzindexes.d.ts","./node_modules/decimal.js-light/decimal.d.ts","./node_modules/recharts/types/util/scale/getnicetickvalues.d.ts","./node_modules/recharts/types/types.d.ts","./node_modules/recharts/types/hooks.d.ts","./node_modules/recharts/types/context/chartlayoutcontext.d.ts","./node_modules/recharts/types/index.d.ts","./app/components/charts/chart-panel.tsx","./app/components/charts/report-card.tsx","./app/components/chat-message.tsx","./app/components/chat-panel.tsx","./node_modules/@dnd-kit/utilities/dist/hooks/usecombinedrefs.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/useevent.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/useisomorphiclayouteffect.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/useinterval.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/uselatestvalue.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/uselazymemo.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/usenoderef.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/useprevious.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/useuniqueid.d.ts","./node_modules/@dnd-kit/utilities/dist/hooks/index.d.ts","./node_modules/@dnd-kit/utilities/dist/adjustment.d.ts","./node_modules/@dnd-kit/utilities/dist/coordinates/types.d.ts","./node_modules/@dnd-kit/utilities/dist/coordinates/geteventcoordinates.d.ts","./node_modules/@dnd-kit/utilities/dist/coordinates/index.d.ts","./node_modules/@dnd-kit/utilities/dist/css.d.ts","./node_modules/@dnd-kit/utilities/dist/event/hasviewportrelativecoordinates.d.ts","./node_modules/@dnd-kit/utilities/dist/event/iskeyboardevent.d.ts","./node_modules/@dnd-kit/utilities/dist/event/istouchevent.d.ts","./node_modules/@dnd-kit/utilities/dist/event/index.d.ts","./node_modules/@dnd-kit/utilities/dist/execution-context/canusedom.d.ts","./node_modules/@dnd-kit/utilities/dist/execution-context/getownerdocument.d.ts","./node_modules/@dnd-kit/utilities/dist/execution-context/getwindow.d.ts","./node_modules/@dnd-kit/utilities/dist/execution-context/index.d.ts","./node_modules/@dnd-kit/utilities/dist/focus/findfirstfocusablenode.d.ts","./node_modules/@dnd-kit/utilities/dist/focus/index.d.ts","./node_modules/@dnd-kit/utilities/dist/type-guards/isdocument.d.ts","./node_modules/@dnd-kit/utilities/dist/type-guards/ishtmlelement.d.ts","./node_modules/@dnd-kit/utilities/dist/type-guards/isnode.d.ts","./node_modules/@dnd-kit/utilities/dist/type-guards/issvgelement.d.ts","./node_modules/@dnd-kit/utilities/dist/type-guards/iswindow.d.ts","./node_modules/@dnd-kit/utilities/dist/type-guards/index.d.ts","./node_modules/@dnd-kit/utilities/dist/types.d.ts","./node_modules/@dnd-kit/utilities/dist/index.d.ts","./node_modules/@dnd-kit/core/dist/types/coordinates.d.ts","./node_modules/@dnd-kit/core/dist/types/direction.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/types.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/closestcenter.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/closestcorners.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/rectintersection.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/pointerwithin.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/helpers.d.ts","./node_modules/@dnd-kit/core/dist/utilities/algorithms/index.d.ts","./node_modules/@dnd-kit/core/dist/sensors/pointer/abstractpointersensor.d.ts","./node_modules/@dnd-kit/core/dist/sensors/pointer/pointersensor.d.ts","./node_modules/@dnd-kit/core/dist/sensors/pointer/index.d.ts","./node_modules/@dnd-kit/core/dist/sensors/types.d.ts","./node_modules/@dnd-kit/core/dist/sensors/usesensor.d.ts","./node_modules/@dnd-kit/core/dist/sensors/usesensors.d.ts","./node_modules/@dnd-kit/core/dist/sensors/mouse/mousesensor.d.ts","./node_modules/@dnd-kit/core/dist/sensors/mouse/index.d.ts","./node_modules/@dnd-kit/core/dist/sensors/touch/touchsensor.d.ts","./node_modules/@dnd-kit/core/dist/sensors/touch/index.d.ts","./node_modules/@dnd-kit/core/dist/sensors/keyboard/types.d.ts","./node_modules/@dnd-kit/core/dist/sensors/keyboard/keyboardsensor.d.ts","./node_modules/@dnd-kit/core/dist/sensors/keyboard/defaults.d.ts","./node_modules/@dnd-kit/core/dist/sensors/keyboard/index.d.ts","./node_modules/@dnd-kit/core/dist/sensors/index.d.ts","./node_modules/@dnd-kit/core/dist/types/events.d.ts","./node_modules/@dnd-kit/core/dist/types/other.d.ts","./node_modules/@dnd-kit/core/dist/types/react.d.ts","./node_modules/@dnd-kit/core/dist/types/rect.d.ts","./node_modules/@dnd-kit/core/dist/types/index.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/useautoscroller.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usecachednode.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usesyntheticlisteners.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usecombineactivators.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usedroppablemeasuring.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/useinitialvalue.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/useinitialrect.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/userect.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/userectdelta.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/useresizeobserver.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usescrollableancestors.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usescrollintoviewifneeded.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usescrolloffsets.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usescrolloffsetsdelta.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usesensorsetup.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/userects.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usewindowrect.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/usedragoverlaymeasuring.d.ts","./node_modules/@dnd-kit/core/dist/hooks/utilities/index.d.ts","./node_modules/@dnd-kit/core/dist/store/constructors.d.ts","./node_modules/@dnd-kit/core/dist/store/types.d.ts","./node_modules/@dnd-kit/core/dist/store/actions.d.ts","./node_modules/@dnd-kit/core/dist/store/context.d.ts","./node_modules/@dnd-kit/core/dist/store/reducer.d.ts","./node_modules/@dnd-kit/core/dist/store/index.d.ts","./node_modules/@dnd-kit/core/dist/components/accessibility/types.d.ts","./node_modules/@dnd-kit/core/dist/components/accessibility/accessibility.d.ts","./node_modules/@dnd-kit/core/dist/components/accessibility/components/restorefocus.d.ts","./node_modules/@dnd-kit/core/dist/components/accessibility/components/index.d.ts","./node_modules/@dnd-kit/core/dist/components/accessibility/defaults.d.ts","./node_modules/@dnd-kit/core/dist/components/accessibility/index.d.ts","./node_modules/@dnd-kit/core/dist/utilities/coordinates/constants.d.ts","./node_modules/@dnd-kit/core/dist/utilities/coordinates/distancebetweenpoints.d.ts","./node_modules/@dnd-kit/core/dist/utilities/coordinates/getrelativetransformorigin.d.ts","./node_modules/@dnd-kit/core/dist/utilities/coordinates/index.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/adjustscale.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/getrectdelta.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/rectadjustment.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/getrect.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/getwindowclientrect.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/rect.d.ts","./node_modules/@dnd-kit/core/dist/utilities/rect/index.d.ts","./node_modules/@dnd-kit/core/dist/utilities/other/noop.d.ts","./node_modules/@dnd-kit/core/dist/utilities/other/index.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollableancestors.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollableelement.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollcoordinates.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrolldirectionandspeed.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollelementrect.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrolloffsets.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/getscrollposition.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/documentscrollingelement.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/isscrollable.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/scrollintoviewifneeded.d.ts","./node_modules/@dnd-kit/core/dist/utilities/scroll/index.d.ts","./node_modules/@dnd-kit/core/dist/utilities/index.d.ts","./node_modules/@dnd-kit/core/dist/modifiers/types.d.ts","./node_modules/@dnd-kit/core/dist/modifiers/applymodifiers.d.ts","./node_modules/@dnd-kit/core/dist/modifiers/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dndcontext/types.d.ts","./node_modules/@dnd-kit/core/dist/components/dndcontext/dndcontext.d.ts","./node_modules/@dnd-kit/core/dist/components/dndcontext/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dndmonitor/types.d.ts","./node_modules/@dnd-kit/core/dist/components/dndmonitor/context.d.ts","./node_modules/@dnd-kit/core/dist/components/dndmonitor/usedndmonitor.d.ts","./node_modules/@dnd-kit/core/dist/components/dndmonitor/usedndmonitorprovider.d.ts","./node_modules/@dnd-kit/core/dist/components/dndmonitor/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/animationmanager/animationmanager.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/animationmanager/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/nullifiedcontextprovider/nullifiedcontextprovider.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/nullifiedcontextprovider/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/positionedoverlay/positionedoverlay.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/positionedoverlay/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/components/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/hooks/usedropanimation.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/hooks/usekey.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/hooks/index.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/dragoverlay.d.ts","./node_modules/@dnd-kit/core/dist/components/dragoverlay/index.d.ts","./node_modules/@dnd-kit/core/dist/components/index.d.ts","./node_modules/@dnd-kit/core/dist/hooks/usedraggable.d.ts","./node_modules/@dnd-kit/core/dist/hooks/usedndcontext.d.ts","./node_modules/@dnd-kit/core/dist/hooks/usedroppable.d.ts","./node_modules/@dnd-kit/core/dist/hooks/index.d.ts","./node_modules/@dnd-kit/core/dist/index.d.ts","./app/components/workspace/context-menu.tsx","./app/components/workspace/inline-rename.tsx","./app/components/workspace/file-manager-tree.tsx","./app/components/sidebar.tsx","./app/page.tsx","./app/components/charts/filter-bar.tsx","./app/components/charts/report-viewer.tsx","./app/components/workspace/breadcrumbs.tsx","./app/components/workspace/database-viewer.tsx","./node_modules/@types/unist/index.d.ts","./node_modules/@types/hast/index.d.ts","./node_modules/vfile-message/lib/index.d.ts","./node_modules/vfile-message/index.d.ts","./node_modules/vfile/lib/index.d.ts","./node_modules/vfile/index.d.ts","./node_modules/unified/lib/callable-instance.d.ts","./node_modules/trough/lib/index.d.ts","./node_modules/trough/index.d.ts","./node_modules/unified/lib/index.d.ts","./node_modules/unified/index.d.ts","./node_modules/@types/mdast/index.d.ts","./node_modules/mdast-util-to-hast/lib/state.d.ts","./node_modules/mdast-util-to-hast/lib/footer.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/blockquote.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/delete.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/emphasis.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/heading.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/html.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/image.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/inline-code.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link-reference.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/link.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list-item.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/list.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/paragraph.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/root.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/strong.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-cell.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/table-row.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/text.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/thematic-break.d.ts","./node_modules/mdast-util-to-hast/lib/handlers/index.d.ts","./node_modules/mdast-util-to-hast/lib/index.d.ts","./node_modules/mdast-util-to-hast/index.d.ts","./node_modules/remark-rehype/lib/index.d.ts","./node_modules/remark-rehype/index.d.ts","./node_modules/react-markdown/lib/index.d.ts","./node_modules/react-markdown/index.d.ts","./node_modules/micromark-util-types/index.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/html.d.ts","./node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-footnote/index.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts","./node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts","./node_modules/micromark-extension-gfm-strikethrough/index.d.ts","./node_modules/micromark-extension-gfm/index.d.ts","./node_modules/mdast-util-from-markdown/lib/types.d.ts","./node_modules/mdast-util-from-markdown/lib/index.d.ts","./node_modules/mdast-util-from-markdown/index.d.ts","./node_modules/mdast-util-to-markdown/lib/types.d.ts","./node_modules/mdast-util-to-markdown/lib/index.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","./node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","./node_modules/mdast-util-to-markdown/index.d.ts","./node_modules/mdast-util-gfm-footnote/lib/index.d.ts","./node_modules/mdast-util-gfm-footnote/index.d.ts","./node_modules/markdown-table/index.d.ts","./node_modules/mdast-util-gfm-table/lib/index.d.ts","./node_modules/mdast-util-gfm-table/index.d.ts","./node_modules/mdast-util-gfm/lib/index.d.ts","./node_modules/mdast-util-gfm/index.d.ts","./node_modules/remark-gfm/lib/index.d.ts","./node_modules/remark-gfm/index.d.ts","./app/components/workspace/markdown-content.tsx","./app/components/workspace/document-view.tsx","./app/components/workspace/empty-state.tsx","./app/components/workspace/file-viewer.tsx","./app/components/workspace/knowledge-tree.tsx","./app/components/workspace/object-kanban.tsx","./app/components/workspace/object-table.tsx","./app/components/workspace/workspace-sidebar.tsx","./app/workspace/page.tsx","./.next/types/cache-life.d.ts","./.next/types/app/layout.ts","./.next/types/app/page.ts","./.next/types/app/api/chat/route.ts","./.next/types/app/api/memories/route.ts","./.next/types/app/api/new-session/route.ts","./.next/types/app/api/skills/route.ts","./.next/types/app/api/web-sessions/route.ts","./.next/types/app/api/web-sessions/[id]/route.ts","./.next/types/app/api/web-sessions/[id]/messages/route.ts","./.next/types/app/api/workspace/context/route.ts","./.next/types/app/api/workspace/db/introspect/route.ts","./.next/types/app/api/workspace/db/query/route.ts","./.next/types/app/api/workspace/file/route.ts","./.next/types/app/api/workspace/move/route.ts","./.next/types/app/api/workspace/objects/[name]/route.ts","./.next/types/app/api/workspace/reports/execute/route.ts","./.next/types/app/api/workspace/tree/route.ts","./.next/types/app/api/workspace/watch/route.ts","./.next/types/app/workspace/page.ts","./node_modules/@types/d3-array/index.d.ts","./node_modules/@types/d3-color/index.d.ts","./node_modules/@types/d3-ease/index.d.ts","./node_modules/@types/d3-interpolate/index.d.ts","./node_modules/@types/d3-time/index.d.ts","./node_modules/@types/d3-scale/index.d.ts","./node_modules/@types/d3-timer/index.d.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/debug/index.d.ts","./node_modules/@types/estree-jsx/index.d.ts","./node_modules/@types/use-sync-external-store/index.d.ts","../../node_modules/.pnpm/@types+send@1.2.1/node_modules/@types/send/index.d.ts","../../node_modules/.pnpm/@types+qs@6.14.0/node_modules/@types/qs/index.d.ts","../../node_modules/.pnpm/@types+range-parser@1.2.7/node_modules/@types/range-parser/index.d.ts","../../node_modules/.pnpm/@types+express-serve-static-core@5.1.1/node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/.pnpm/@types+http-errors@2.0.5/node_modules/@types/http-errors/index.d.ts","../../node_modules/.pnpm/@types+serve-static@2.2.0/node_modules/@types/serve-static/index.d.ts","../../node_modules/.pnpm/@types+connect@3.4.38/node_modules/@types/connect/index.d.ts","../../node_modules/.pnpm/@types+body-parser@1.19.6/node_modules/@types/body-parser/index.d.ts","../../node_modules/.pnpm/@types+express@5.0.6/node_modules/@types/express/index.d.ts","../../node_modules/.pnpm/@types+linkify-it@5.0.0/node_modules/@types/linkify-it/build/index.cjs.d.ts","../../node_modules/.pnpm/@types+mdurl@2.0.0/node_modules/@types/mdurl/build/index.cjs.d.ts","../../node_modules/.pnpm/@types+markdown-it@14.1.2/node_modules/@types/markdown-it/dist/index.cjs.d.ts","../../node_modules/.pnpm/@types+markdown-it@14.1.2/node_modules/@types/markdown-it/index.d.ts","../../node_modules/.pnpm/@types+retry@0.12.5/node_modules/@types/retry/index.d.ts","../../node_modules/.pnpm/@types+proper-lockfile@4.1.4/node_modules/@types/proper-lockfile/index.d.ts","../../node_modules/.pnpm/@types+qrcode-terminal@0.12.2/node_modules/@types/qrcode-terminal/index.d.ts","../../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/index.d.ts"],"fileIdsList":[[76,118,448,683],[76,118,448,684],[76,118,448,685],[76,118,448,688],[76,118,448,691],[76,118,448,690],[76,118,448,689],[76,118,448,693],[76,118,448,695],[76,118,448,696],[76,118,448,697],[76,118,448,699],[76,118,448,700],[76,118,448,705],[76,118,448,706],[76,118,448,710],[76,118,315,727],[76,118,315,1011],[76,118,315,1111],[76,118,402,403,404,405],[76,118,681,682],[76,118,131,139,140],[76,118,682],[76,118,123,131,139,140],[76,118,131,140,692],[76,118,692],[76,118,131,692],[76,118,692,704],[76,118,692,709],[62,76,118],[62,76,118,711,855],[62,76,118,711],[62,76,118,711,856],[62,76,118,711,856,1012],[76,118],[76,118,412,681,711,722,729,857],[62,76,118,681,728,858],[62,76,118,1009],[62,76,118,171,173],[76,118,412,722,857,1103],[62,76,118,1006,1007,1008],[76,118,1059,1102],[76,118,1009],[76,118,452],[62,76,118,859,1010],[62,76,118,435,712,859,1009,1013,1014,1015,1104,1105,1106,1108,1109,1110],[76,118,119,140,145],[76,118,721,722],[76,118,704,721],[76,118,721,725],[76,118,119,131,139,140],[76,118,452,453],[62,76,118,947],[76,118,949],[76,118,947],[76,118,947,948,950,951],[76,118,946],[62,76,118,892,916,921,940,952,977,980,981],[76,118,981,982],[76,118,921,940],[62,76,118,984],[76,118,984,985,986,987],[76,118,921],[76,118,984],[62,76,118,921],[76,118,989],[76,118,990,992,994],[76,118,991],[76,118,993],[62,76,118,892,921],[62,76,118,980,995,998],[76,118,996,997],[76,118,892,921,946,983],[76,118,998,999],[76,118,952,983,988,1000],[76,118,940,1002,1003,1004],[62,76,118,946],[62,76,118,892,921,940,946],[62,76,118,921,946],[76,118,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939],[76,118,921,946],[76,118,916,924],[76,118,921,942],[76,118,871,921],[76,118,892],[76,118,916],[76,118,1006],[76,118,916,921,946,977,980,1001,1005],[76,118,892,978],[76,118,978,979],[76,118,892,921,946],[76,118,904,905,906,907,909,911,915],[76,118,912],[76,118,912,913,914],[76,118,905,912],[76,118,905,921],[76,118,908],[62,76,118,904,905],[76,118,902,903],[62,76,118,902,905],[76,118,910],[62,76,118,901,904,921,946],[76,118,905],[62,76,118,942],[76,118,942,943,944,945],[76,118,942,943],[62,76,118,892,901,921,940,941,943,1001],[76,118,893,901,916,921,946],[76,118,893,894,917,918,919,920],[62,76,118,892],[76,118,895],[76,118,895,921],[76,118,895,896,897,898,899,900],[76,118,953,954,955],[76,118,901,956,963,965,976],[76,118,964],[76,118,892,921],[76,118,957,958,959,960,961,962],[76,118,920],[76,118,966,967,968,969,970,971,972,973,974,975],[76,118,871],[76,118,871,872],[76,118,875,876,877],[76,118,879,880,881],[76,118,883],[76,118,860,861,862,863,864,865,866,867,868],[76,118,869,870,873,874,878,882,884,890,891],[76,118,885,886,887,888,889],[76,118,737,738,739,740,741],[76,118,470,471],[76,118,1133],[76,118,1136],[76,118,751],[76,118,1139],[76,118,477,478,1141],[76,118,1016],[76,118,457,461,464,466,467,468,469,472,713],[76,118,518],[76,118,518,519],[76,118,461,462,464,465],[76,118,461],[76,118,461,462,464],[76,118,461,462],[76,118,456,509,510],[76,118,456,509],[76,118,456,463],[76,118,456],[76,118,456,463,523],[76,118,458],[76,118,456,457,458,459,460],[76,118,716,717],[76,118,716,717,718,719],[76,118,716,718],[76,118,716],[76,118,1060,1063,1066,1068,1069,1070],[76,118,1027,1055,1060,1063,1066,1068,1070],[76,118,1027,1055,1060,1063,1066,1070],[76,118,1093,1094,1098],[76,118,1070,1093,1095,1098],[76,118,1070,1093,1095,1097],[76,118,1027,1055,1070,1093,1095,1096,1098],[76,118,1095,1098,1099],[76,118,1070,1093,1095,1098,1100],[76,118,1017,1027,1028,1029,1053,1054,1055],[76,118,1017,1028,1055],[76,118,1017,1027,1028,1055],[76,118,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052],[76,118,1017,1021,1027,1029,1055],[76,118,1071,1072,1092],[76,118,1027,1055,1093,1095,1098],[76,118,1027,1055],[76,118,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091],[76,118,1016,1027,1055],[76,118,1060,1061,1062,1066,1070],[76,118,1060,1063,1066,1070],[76,118,1060,1063,1064,1065,1070],[76,118,499],[76,118,497,499],[76,118,488,496,497,498,500,502],[76,118,486],[76,118,489,494,499,502],[76,118,485,502],[76,118,489,490,493,494,495,502],[76,118,489,490,491,493,494,502],[76,118,486,487,488,489,490,494,495,496,498,499,500,502],[76,118,502],[76,118,484,486,487,488,489,490,491,493,494,495,496,497,498,499,500,501],[76,118,484,502],[76,118,489,491,492,494,495,502],[76,118,493,502],[76,118,494,495,499,502],[76,118,487,497],[76,118,1058],[62,76,118,1017,1026,1055,1057],[62,76,118,732,743,748,754,755,762,764,765,767,804,806],[62,76,118,732,743,748,753,755,764,768,769,771,772,804,806],[62,76,118,764,769,808],[62,76,118,747,806],[62,76,118,731,732,734,743,806],[62,76,118,732,743,764,800,806],[62,76,118,732,770,791,795,806],[62,76,118,755,778,779,806,845],[76,118,731,806],[76,118,743,806],[62,76,118,732,743,748,754,755,804,806],[62,76,118,732,734,769,783,828],[62,76,118,730,732,734,783],[62,76,118,732,734,763,783,784,806],[62,76,118,732,743,746,750,754,755,779,793,794,804,806],[62,76,118,736,743,806],[62,76,118,736,743,804,806],[62,76,118,806],[62,76,118,769,779,806],[62,76,118,731,779,806],[62,76,118,779,806],[62,76,118,744],[62,76,118,732,779,806],[62,76,118,730,732,806],[62,76,118,731,732,733,806],[62,76,118,732,734,806,855],[62,76,118,756,757,758],[62,76,118,743,745,746,757,779,806,809],[76,118,799,806],[76,118,743,744,804,806,852],[76,118,730,731,732,734,735,736,743,744,746,754,755,756,759,766,769,770,779,783,785,791,793,794,795,796,801,804,806,807,808,810,811,812,813,814,815,816,817,819,821,822,823,824,825,826,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,851,852,853,854],[62,76,118,732,748,755,774,776,779,806],[62,76,118,732,736,784,806,820],[62,76,118,732,743],[62,76,118,732,736,784,806,818],[62,76,118,732,755,763,806],[62,76,118,732,743,748,753,755,764,804,806,814],[62,76,118,753,806],[62,76,118,768,806],[76,118,737,742,806],[76,118,735,736,737,742,804,806],[76,118,737,742,747],[76,118,737,742,778,796,806],[76,118,737,742,743,748,749,750,767,772,773,776,777,806],[76,118,737,742,756,759,806],[76,118,737,742,779,806],[76,118,737,742,743],[76,118,737,742],[76,118,737,742,743,782,783,785],[76,118,737,742,744,766,806],[76,118,762,778,799,806],[76,118,743,748,761,762,763,778,786,789,797,799,801,802,803,806],[76,118,743,748,761,762],[76,118,799],[76,118,742,743,748,760,778,779,780,781,786,787,788,789,790,797,798],[76,118,737,742,743,745,746,778,806],[76,118,748,761,766,778,806],[76,118,761,771,778],[76,118,748,778,806],[62,76,118,746,774,775,778,806],[76,118,778],[76,118,761,778],[76,118,746,748,778,806],[76,118,764,778,806],[76,118,779,806],[62,76,118,769,770,806],[76,118,746,753,760,762,763,779,804,806],[76,118,806],[76,118,806,850],[76,118,736,804,806],[62,76,118,778,792,795,806],[76,118,753,761,764,778],[62,76,118,774,827],[62,76,118,730,731,734,735,736,743,744,745,748,766,774,804,805],[76,118,737],[76,118,1067,1100,1101],[76,118,1102],[76,118,1055,1056],[76,118,1017,1021,1026,1027,1055],[76,118,478,507,508],[76,118,1023],[76,118,1021,1025],[76,118,1016,1021,1022,1024,1026],[76,118,1018],[76,118,1019,1020],[76,118,1016,1019,1021],[76,118,752],[76,118,474],[76,118,130,131,133,134,135,138,150,158,161,167,168,474,475,476,478,479,481,482,483,503,504,505,506,507,508],[76,118,474,475,476,480],[76,118,476],[76,118,478,508],[76,118,525],[76,118,473,534,713],[76,118,456,457,459,460,461,464,466,467,511,512,514,521,522,524,713],[76,118,466,528,529,713],[76,118,466,512,516,713],[76,118,456,464,466,511,713],[76,118,481],[76,118,456,466,473,511,513,530,713],[76,118,508,532,534],[76,118,121,131,150,456,461,464,466,473,508,511,512,513,514,516,517,520,521,522,526,527,530,531,534,713],[76,118,466,481,511,512,713],[76,118,466,528,529,530,713],[76,118,466,481,513,514,515,713],[76,118,121,131,150,456,461,464,466,473,481,508,511,512,513,514,515,516,517,520,521,522,526,527,528,529,530,531,532,533,534,713],[76,118,456,461,464,466,467,473,481,511,512,513,514,515,516,517,528,529,530,713,714,715,720],[76,118,140,535],[76,118,537,631],[76,118,469,537,551,629,630],[76,118,631,681],[76,118,639],[76,118,642],[76,118,647,649],[76,118,635,639,651,652],[76,118,662,665,671,673],[76,118,634,639],[76,118,633],[76,118,634],[76,118,641],[76,118,644],[76,118,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,674,675,676,677,678,679],[76,118,650],[76,118,646],[76,118,647],[76,118,638,639,645],[76,118,646,647],[76,118,653],[76,118,674],[76,118,638],[76,118,639,656,659],[76,118,655],[76,118,656],[76,118,654,656],[76,118,639,659,661,662,663],[76,118,662,663,665],[76,118,639,654,657,660,667],[76,118,654,655],[76,118,636,637,654,656,657,658],[76,118,656,659],[76,118,637,654,657,660],[76,118,639,659,661],[76,118,662,663],[76,118,133,168,1149],[76,118,133,168],[76,118,130,133,168,1143,1144,1145],[76,118,1146,1148,1150],[76,118,1152,1153],[76,118,1154],[76,115,118],[76,117,118],[118],[76,118,123,153],[76,118,119,124,130,131,138,150,161],[76,118,119,120,130,138],[71,72,73,76,118],[76,118,121,162],[76,118,122,123,131,139],[76,118,123,150,158],[76,118,124,126,130,138],[76,117,118,125],[76,118,126,127],[76,118,130],[76,118,128,130],[76,117,118,130],[76,118,130,131,132,150,161],[76,118,130,131,132,145,150,153],[76,113,118,166],[76,113,118,126,130,133,138,150,161],[76,118,130,131,133,134,138,150,158,161],[76,118,133,135,150,158,161],[74,75,76,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[76,118,130,136],[76,118,137,161],[76,118,126,130,138,150],[76,118,139],[76,118,140],[76,117,118,141],[76,115,116,117,118,119,120,121,122,123,124,125,126,127,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[76,118,143],[76,118,144],[76,118,130,145,146],[76,118,145,147,162,164],[76,118,130,150,151,153],[76,118,152,153],[76,118,150,151],[76,118,153],[76,118,154],[76,115,118,150],[76,118,130,156,157],[76,118,156,157],[76,118,123,138,150,158],[76,118,159],[76,118,138,160],[76,118,133,144,161],[76,118,123,162],[76,118,150,163],[76,118,137,164],[76,118,165],[76,118,123,130,132,141,150,161,164,166],[76,118,150,167],[76,118,1156],[62,66,76,118,169,170,171,172,396,444],[62,66,76,118,170,173,396,444],[62,66,76,118,169,173,396,444],[60,61,76,118],[76,118,131,150,168],[76,118,133,168,1147],[76,118,130,133,135,138,150,158,161,167,168],[76,118,133,537,629,631,632,680],[76,118,131,707,709],[76,118,130,131,707,708],[68,76,118],[76,118,400],[76,118,407],[76,118,177,191,192,193,195,359],[76,118,177,181,183,184,185,186,187,348,359,361],[76,118,359],[76,118,192,211,328,337,355],[76,118,177],[76,118,174],[76,118,379],[76,118,359,361,378],[76,118,282,325,328,450],[76,118,292,307,337,354],[76,118,242],[76,118,342],[76,118,341,342,343],[76,118,341],[70,76,118,133,174,177,181,184,188,189,190,192,196,204,205,276,338,339,359,396],[76,118,177,194,231,279,359,375,376,450],[76,118,194,450],[76,118,205,279,280,359,450],[76,118,450],[76,118,177,194,195,450],[76,118,188,340,347],[76,118,144,245,355],[76,118,245,355],[62,76,118,245],[62,76,118,245,299],[76,118,222,240,355,433],[76,118,334,427,428,429,430,432],[76,118,245],[76,118,333],[76,118,333,334],[76,118,185,219,220,277],[76,118,221,222,277],[76,118,431],[76,118,222,277],[62,76,118,178,421],[62,76,118,161],[62,76,118,194,229],[62,76,118,194],[76,118,227,232],[62,76,118,228,399],[62,66,76,118,133,168,169,170,173,396,442,443],[76,118,133],[76,118,133,181,211,247,266,277,344,345,359,360,450],[76,118,204,346],[76,118,396],[76,118,176],[62,76,118,282,296,306,316,318,354],[76,118,144,282,296,315,316,317,354],[76,118,309,310,311,312,313,314],[76,118,311],[76,118,315],[62,76,118,228,245,399],[62,76,118,245,397,399],[62,76,118,245,399],[76,118,266,351],[76,118,351],[76,118,133,360,399],[76,118,303],[76,117,118,302],[76,118,206,210,217,248,277,289,291,292,293,295,327,354,357,360],[76,118,294],[76,118,206,222,277,289],[76,118,292,354],[76,118,292,299,300,301,303,304,305,306,307,308,319,320,321,322,323,324,354,355,450],[76,118,287],[76,118,133,144,206,210,211,216,218,222,252,266,275,276,327,350,359,360,361,396,450],[76,118,354],[76,117,118,192,210,276,289,290,350,352,353,360],[76,118,292],[76,117,118,216,248,269,283,284,285,286,287,288,291,354,355],[76,118,133,269,270,283,360,361],[76,118,192,266,276,277,289,350,354,360],[76,118,133,359,361],[76,118,133,150,357,360,361],[76,118,133,144,161,174,181,194,206,210,211,217,218,223,247,248,249,251,252,255,256,258,261,262,263,264,265,277,349,350,355,357,359,360,361],[76,118,133,150],[76,118,177,178,179,189,357,358,396,399,450],[76,118,133,150,161,208,377,379,380,381,382,450],[76,118,144,161,174,208,211,248,249,256,266,274,277,350,355,357,362,363,369,375,392,393],[76,118,188,189,204,276,339,350,359],[76,118,133,161,178,181,248,357,359,367],[76,118,281],[76,118,133,389,390,391],[76,118,357,359],[76,118,289,290],[76,118,210,248,349,399],[76,118,133,144,256,266,357,363,369,371,375,392,395],[76,118,133,188,204,375,385],[76,118,177,223,349,359,387],[76,118,133,194,223,359,370,371,383,384,386,388],[70,76,118,206,209,210,396,399],[76,118,133,144,161,181,188,196,204,211,217,218,248,249,251,252,264,266,274,277,349,350,355,356,357,362,363,364,366,368,399],[76,118,133,150,188,357,369,389,394],[76,118,199,200,201,202,203],[76,118,255,257],[76,118,259],[76,118,257],[76,118,259,260],[76,118,133,181,216,360],[76,118,133,144,176,178,206,210,211,217,218,244,246,357,361,396,399],[76,118,133,144,161,180,185,248,356,360],[76,118,283],[76,118,284],[76,118,285],[76,118,355],[76,118,207,214],[76,118,133,181,207,217],[76,118,213,214],[76,118,215],[76,118,207,208],[76,118,207,224],[76,118,207],[76,118,254,255,356],[76,118,253],[76,118,208,355,356],[76,118,250,356],[76,118,208,355],[76,118,327],[76,118,209,212,217,248,277,282,289,296,298,326,357,360],[76,118,222,233,236,237,238,239,240,297],[76,118,336],[76,118,192,209,210,270,277,292,303,307,329,330,331,332,334,335,338,349,354,359],[76,118,222],[76,118,244],[76,118,133,209,217,225,241,243,247,357,396,399],[76,118,222,233,234,235,236,237,238,239,240,397],[76,118,208],[76,118,270,271,274,350],[76,118,133,255,359],[76,118,269,292],[76,118,268],[76,118,264,270],[76,118,267,269,359],[76,118,133,180,270,271,272,273,359,360],[62,76,118,219,221,277],[76,118,278],[62,76,118,178],[62,76,118,355],[62,70,76,118,210,218,396,399],[76,118,178,421,422],[62,76,118,232],[62,76,118,144,161,176,226,228,230,231,399],[76,118,194,355,360],[76,118,355,365],[62,76,118,131,133,144,176,232,279,396,397,398],[62,76,118,169,170,173,396,444],[62,63,64,65,66,76,118],[76,118,123],[76,118,372,373,374],[76,118,372],[62,66,76,118,133,135,144,168,169,170,171,173,174,176,252,315,361,395,399,444],[76,118,409],[76,118,411],[76,118,413],[76,118,415],[76,118,417,418,419],[76,118,423],[67,69,76,118,401,406,408,410,412,414,416,420,424,426,435,436,438,448,449,450,451],[76,118,425],[76,118,434],[76,118,228],[76,118,437],[76,117,118,270,271,272,274,306,355,439,440,441,444,445,446,447],[76,118,168],[76,118,131,150],[76,118,150,168],[76,85,89,118,161],[76,85,118,150,161],[76,80,118],[76,82,85,118,158,161],[76,118,138,158],[76,80,118,168],[76,82,85,118,138,161],[76,77,78,81,84,118,130,150,161],[76,85,92,118],[76,77,83,118],[76,85,106,107,118],[76,81,85,118,153,161,168],[76,106,118,168],[76,79,80,118,168],[76,85,118],[76,79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,107,108,109,110,111,112,118],[76,85,100,118],[76,85,92,93,118],[76,83,85,93,94,118],[76,84,118],[76,77,80,85,118],[76,85,89,93,94,118],[76,89,118],[76,83,85,88,118,161],[76,77,82,85,92,118],[76,118,150],[76,80,85,106,118,166,168],[76,118,541,542],[76,118,539,540,541,543,544,549],[76,118,540,541],[76,118,549],[76,118,550],[76,118,541],[76,118,539,540,541,544,545,546,547,548],[76,118,539,540,551],[76,118,618],[76,118,618,621],[76,118,613,616,618,619,620,621,622,623,624,625,626],[76,118,552,554,621],[76,118,627],[76,118,618,619],[76,118,553,618,620],[76,118,554,556,558,559,560,561],[76,118,556,558,560,561],[76,118,556,558,560],[76,118,553,556,558,559,561],[76,118,552,554,555,556,557,558,559,560,561,562,563,613,614,615,616,617],[76,118,552,554,555,558],[76,118,554,555,558],[76,118,558,561],[76,118,552,553,555,556,557,559,560,561],[76,118,552,553,554,558,618],[76,118,558,559,560,561],[76,118,628],[76,118,560],[76,118,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"03566a51ebc848dec449a4ed69518e9f20caa6ac123fa32676aaaabe64adae8e","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","impliedFormat":1},{"version":"05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","impliedFormat":1},{"version":"631eff75b0e35d1b1b31081d55209abc43e16b49426546ab5a9b40bdd40b1f60","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"88d9a77d2abc23a7d26625dd6dae5b57199a8693b85c9819355651c9d9bab90f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"b200675fd112ffef97c166d0341fb33f6e29e9f27660adde7868e95c5bc98beb","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a0a1dda070290b92da5a50113b73ecc4dd6bcbffad66e3c86503d483eafbadcf","impliedFormat":1},{"version":"59dcad36c4549175a25998f6a8b33c1df8e18df9c12ebad1dfb25af13fd4b1ce","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"3f3edb8e44e3b9df3b7ca3219ab539710b6a7f4fe16bd884d441af207e03cd57","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"8cf7e92bdb2862c2d28ba4535c43dc599cfbc0025db5ed9973d9b708dcbe3d98","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"8c2ad42d5d1a2e8e6112625767f8794d9537f1247907378543106f7ba6c7df90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"12e8ce658dd17662d82fb0509d2057afc5e6ee30369a2e9e0957eff725b1f11d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"858f999b3e4a45a4e74766d43030941466460bf8768361d254234d5870480a53","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"63b05afa6121657f25e99e1519596b0826cda026f09372c9100dfe21417f4bd6","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"865a2612f5ec073dd48d454307ccabb04c48f8b96fda9940c5ebfe6b4b451f51","impliedFormat":1},{"version":"70f79528d7e02028b3c12dd10764893b22df4c6e2a329e66456aa11bb304cabb","impliedFormat":1},{"version":"a0acca63c9e39580f32a10945df231815f0fe554c074da96ba6564010ffbd2d8","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"0a5ab5c020557d3ccc84b92c0ca55ff790e886d92662aae668020d6320ab1867","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"7bd32a723a12f78ed756747468f2030bdd55774c68f628de07598dba5b912b14","impliedFormat":1},{"version":"24f8562308dd8ba6013120557fa7b44950b619610b2c6cb8784c79f11e3c4f90","impliedFormat":1},{"version":"a1d3d6e9718cceaf1e4352845387af0620564d3d2dff02611a5c3276f73c26cb","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"57d6ac03382e30e9213641ff4f18cf9402bb246b77c13c8e848c0b1ca2b7ef92","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"57e47d02e88abef89d214cdf52b478104dc17997015746e288cbb580beaef266","impliedFormat":1},{"version":"b1177acd771acfcc2648a03fc03ad3b3a1b1d2bdfa6769db0f669293b596ca13","impliedFormat":1},{"version":"3494c5bf00c1a40293ee5ff5128334b63d346abbf560c8987202c92dbc5bdc48","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"99d62b942e98f691f508fc752637fec27661970aa3b0f5eb5a1e2775b995c273","impliedFormat":1},{"version":"a9af0e608929aaf9ce96bd7a7b99c9360636c31d73670e4af09a09950df97841","impliedFormat":1},{"version":"48d37b90a04e753a925228f50304d02c4f95d57bf682f8bb688621c3cd9d32ec","impliedFormat":1},{"version":"361e2b13c6765d7f85bb7600b48fde782b90c7c41105b7dab1f6e7871071ba20","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"b6db56e4903e9c32e533b78ac85522de734b3d3a8541bf24d256058d464bf04b","impliedFormat":1},{"version":"24daa0366f837d22c94a5c0bad5bf1fd0f6b29e1fae92dc47c3072c3fdb2fbd5","impliedFormat":1},{"version":"b68c4ed987ef5693d3dccd85222d60769463aca404f2ffca1c4c42781dce388e","impliedFormat":1},{"version":"889c00f3d32091841268f0b994beba4dceaa5df7573be12c2c829d7c5fbc232c","impliedFormat":1},{"version":"65f43099ded6073336e697512d9b80f2d4fec3182b7b2316abf712e84104db00","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"12b8dfed70961bea1861e5d39e433580e71323abb5d33da6605182ec569db584","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"7e560f533aaf88cf9d3b427dcf6c112dd3f2ee26d610e2587583b6c354c753db","impliedFormat":1},{"version":"71e0082342008e4dfb43202df85ea0986ef8e003c921a1e49999d0234a3019da","impliedFormat":1},{"version":"27ab780875bcbb65e09da7496f2ca36288b0c541abaa75c311450a077d54ec15","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"380647d8f3b7f852cca6d154a376dbf8ac620a2f12b936594504a8a852e71d2f","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"ef61792acbfa8c27c9bd113f02731e66229f7d3a169e3c1993b508134f1a58e0","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"94fe3281392e1015b22f39535878610b4fa6f1388dc8d78746be3bc4e4bb8950","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"ce41407ff95aad31e28897741dfffb236d966eb38894f7a791c3a575b53f9d02","impliedFormat":1},{"version":"fac1803c07fbc9574815fdb83afddd9d0d4a2ce13f56d4e4cbb4525f8c09ee0a","impliedFormat":1},{"version":"824c76aec8d8c7e65769688cbee102238c0ef421ed6686f41b2a7d8e7e78a931","impliedFormat":1},{"version":"5eef43ef86c9c3945780211c2ce25cb9b66143a102713e56a2bea85163c5c3c7","impliedFormat":1},{"version":"a2a1cdf7273ad6641938a487ecf2fdd38f60abce41907817e44ab39e482e8739","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"ca921bf56756cb6fe957f6af693a35251b134fb932dc13f3dfff0bb7106f80b4","impliedFormat":1},{"version":"4548fac59ea69a3ffd6c0285a4c53e0d736d936937b74297e3b5c4dfcd902419","impliedFormat":1},{"version":"4da246ee3b860278888dd51913e6407a09ca43530db886e7bec2a592c9b9bde6","impliedFormat":1},{"version":"8c05ac9ead787bfc3e144b88bdc7d1ad8c0c7f1cd8412ab58cd3e1208d1990af","impliedFormat":1},{"version":"a23185bc5ef590c287c28a91baf280367b50ae4ea40327366ad01f6f4a8edbc5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"0c7c947ff881c4274c0800deaa0086971e0bfe51f89a33bd3048eaa3792d4876","affectsGlobalScope":true,"impliedFormat":1},{"version":"db01d18853469bcb5601b9fc9826931cc84cc1a1944b33cad76fd6f1e3d8c544","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"15b36126e0089bfef173ab61329e8286ce74af5e809d8a72edcafd0cc049057f","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"13283350547389802aa35d9f2188effaeac805499169a06ef5cd77ce2a0bd63f","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d07cbc787a997d83f7bde3877fec5fb5b12ce8c1b7047eb792996ed9726b4dde","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"8bba776476c48b0e319d243f353190f24096057acede3c2f620fee17ff885dba","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"2b2f9dac86b659e6d5cd623bcc21519910a48114fc0cef52d8f86962c48d44e2","impliedFormat":1},{"version":"7e8b76334c75984d57a810a0652c61066ffacede59001dfc5c633565f791ee60","impliedFormat":1},{"version":"72ca9ca89ca15055cbb6ce767b6bf56615be5f1ea6a87ab432ee0603c8d19010","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"208c9af9429dd3c76f5927b971263174aaa4bc7621ddec63f163640cbd3c473c","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"45490817629431853543adcb91c0673c25af52a456479588b6486daba34f68bb","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"cecad464ddaf764e5490018d248a8df1733f3d63435fbddac72941c1f4005b66","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"51b1709e7ad186919a0e30237a8607100143a86d28771b3d3f046359aca1e65c","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"6dcf60530c25194a9ee0962230e874ff29d34c59605d8e069a49928759a17e0a","impliedFormat":1},{"version":"56013416784a6b754f3855f8f2bf6ce132320679b8a435389aca0361bce4df6b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"30f4dab03b4bc54def77049ee3a10137109cf3b4acf2fd0e885c619760cfe694","impliedFormat":1},{"version":"002eae065e6960458bda3cf695e578b0d1e2785523476f8a9170b103c709cd4f","impliedFormat":1},{"version":"c51641ab4bfa31b7a50a0ca37edff67f56fab3149881024345b13f2b48b7d2de","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"52abbd5035a97ebfb4240ec8ade2741229a7c26450c84eb73490dc5ea048b911","impliedFormat":1},{"version":"1042064ece5bb47d6aba91648fbe0635c17c600ebdf567588b4ca715602f0a9d","impliedFormat":1},{"version":"4360ad4de54de2d5c642c4375d5eab0e7fe94ebe8adca907e6c186bbef75a54d","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"9c9cae45dc94c2192c7d25f80649414fa13c425d0399a2c7cb2b979e4e50af42","impliedFormat":1},{"version":"6c87b6bcf4336b29c837ea49afbdde69cc15a91cbbfd9f20c0af8694927dec08","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"6dd9bcf10678b889842d467706836a0ab42e6c58711e33918ed127073807ee65","impliedFormat":1},{"version":"8c030e515014c10a2b98f9f48408e3ba18023dfd3f56e3312c6c2f3ae1f55a16","impliedFormat":1},{"version":"dafc31e9e8751f437122eb8582b93d477e002839864410ff782504a12f2a550c","impliedFormat":1},{"version":"ef9efc827cdad89c4ee54142164c793f530aa4d844ca9121cc35368310d5fb9c","impliedFormat":1},{"version":"643672ce383e1c58ea665a92c5481f8441edbd3e91db36e535abccbc9035adeb","impliedFormat":1},{"version":"8fa022ea514ce0ea78ac9b7092a9f97f08ead20c839c779891019e110fce8307","impliedFormat":1},{"version":"c93235337600b786fd7d0ff9c71a00f37ca65c4d63e5d695fc75153be2690f09","impliedFormat":1},{"version":"fa45f48f2def181ab2fb107a032c91b6c043ad05a179f3fbaafb8e5411fd01e4","impliedFormat":1},{"version":"a8e493c0355aabdd495e141bf1c4ec93454a0698c8675df466724adc2fcfe630","impliedFormat":1},{"version":"99702c9058170ae70ea72acbf01be3111784f06152dbf478f52c9afe423528bd","impliedFormat":1},{"version":"cf32f58a7ad3498c69c909121772971ffdee176b882f39c78532d0e0ab41a30d","impliedFormat":1},{"version":"e2bbc579a2fda9473e06b2a68d693e56928900f73ccfc03dabea789fe144e8a5","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"e17cd049a1448de4944800399daa4a64c5db8657cc9be7ef46be66e2a2cd0e7c","impliedFormat":1},{"version":"d05fb434f4ba073aed74b6c62eff1723c835de2a963dbb091e000a2decb5a691","impliedFormat":1},{"version":"bff8c8bffbf5f302a30ccb1c0557dae477892d50a80eecfe393bd89bac7fb41d","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"4d4927cbee21750904af7acf940c5e3c491b4d5ebc676530211e389dd375607a","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"8a97e578a9bc40eb4f1b0ca78f476f2e9154ecbbfd5567ee72943bab37fc156a","impliedFormat":1},{"version":"a58abf1f5c8feb335475097abeddd32fd71c4dc2065a3d28cf15cacabad9654a","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"2d7db1d73456e8c5075387d4240c29a2a900847f9c1bff106a2e490da8fbd457","impliedFormat":1},{"version":"2b15c805f48e4e970f8ec0b1915f22d13ca6212375e8987663e2ef5f0205e832","impliedFormat":1},{"version":"f22d05663d873ee7a600faf78abb67f3f719d32266803440cf11d5db7ac0cab2","impliedFormat":1},{"version":"f0f05149debcf31b3a717ce8dd16e0323a789905cb9e27239167b604153b8885","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"b4f4d239a6632b86b315a6e4cfe0fac4e4bf6c934263bc07dd2bf5c7dbb8e6a5","impliedFormat":1},{"version":"0d44227395ae4a117dd7c8c9a048e18ade1f1f631bc5b883f9d469126e3cedab","impliedFormat":1},{"version":"9e21f8e2c0cfea713a4a372f284b60089c0841eb90bf3610539d89dbcd12d65a","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"a072c5f254d5cbb6522c0d4eeeb7cc4a6ce7f2f8ad84e2593d903bfe3aa44176","impliedFormat":1},{"version":"52b390f86821086a1be50100487faa9f7b23fc04343efb590f304382b4950e04","impliedFormat":1},{"version":"87122b31fe473758a5724388c93826caab566f62be2196aefc2ae8b04b814b52","impliedFormat":1},{"version":"063ab26d3488a665d2c3bc963b18ce220dad7351190629179165bc8c499c6cd9","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"fb400501bee56d86fa9b490e9d8b07d7df163d34d8235fcea27c3f9e8d064d1a","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"bd4131091b773973ca5d2326c60b789ab1f5e02d8843b3587effe6e1ea7c9d86","impliedFormat":1},{"version":"794998dc1c5a19ce77a75086fe829fb9c92f2fd07b5631c7d5e0d04fd9bc540c","impliedFormat":1},{"version":"409678793827cdf5814e027b1f9e52a0445acb1c322282311c1c4e0855a0918e","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"0427df5c06fafc5fe126d14b9becd24160a288deff40e838bfbd92a35f8d0d00","impliedFormat":1},{"version":"3545dc8a9bdbd33db34462af7eed83f703083e4fee9135dadbba7edfe1e7db3c","impliedFormat":1},{"version":"7b5153a9b237898879441e5ddb576ded76ef3ab4c5baee4bb749ca5c72fc395d","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"83fe880c090afe485a5c02262c0b7cdd76a299a50c48d9bde02be8e908fb4ae6","impliedFormat":1},{"version":"d5c2934185201f0768fb80d220f0e617cd05aa4c0c791ffcd508646c474b3c44","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6511e4503cf74c469c60aafd6589e4d14d5eb0a25f9bf043dcbecdf65f261972","impliedFormat":1},{"version":"e326c507507d6c6f3df4152e9e132a6189b30e14a262782796c2a627ba5d42cc","impliedFormat":1},{"version":"75efc43fb206f3825eb219c96b1e59fdabf2f2f042f424fa5f96335b99897540","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"ca651584d8d718c1f0655ec4b0c340fbcd967ec1e1758807af3a3f43bc81f81e","impliedFormat":1},{"version":"cfb5f0ab72180f4e0b9ed1534847a63d5394b9a8ee685ae149d25fd53f1aec66","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"f613e4e752659ebd241be4d991c05200248b50e753fcecf50a249d30f4367794","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"de1ccef0cb3623291d55871e39eb7005cb79d8da519cb46959b0ba5e2422184f","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"7cd657e359eac7829db5f02c856993e8945ffccc71999cdfb4ab3bf801a1bbc6","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"f0f3f57e29b40e9cb0c4b155a96de2f61e51700d2c335dd547ef3c85e668c6a8","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"6a76daf108400ca1333e325772f24f40ebdde2120ef68f8c87d7a1adf0257541","impliedFormat":1},{"version":"313698394e61f0343ebf11b64e5cde7e948110eaba98e8dbd7bdd67ee8df2639","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"05c97cddbaf99978f83d96de2d8af86aded9332592f08ce4a284d72d0952c391","impliedFormat":1},{"version":"72179f9dd22a86deaad4cc3490eb0fe69ee084d503b686985965654013f1391b","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"7b6ff760c8a240b40dab6e4419b989f06a5b782f4710d2967e67c695ef3e93c4","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"91357dba2d5a7234ccfae834dc8363b5635e08f373bd18f548a9046b01864619","impliedFormat":1},{"version":"f31bbb122869d8903ff13c1036bdefc1e6a5bac9b2c3c35e42a9de84d43cd04a","impliedFormat":1},{"version":"c7fdbcfa0991e15215e2a5751676115cac943b39289791546c7197d7bb889c51","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"4eac446ac161245bfc6daa95f2cc64d2da4f7844e36a7a5641abfd4771ef0923","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"076527b1c2fd207de3101ba10e0c2b7d155aa8369cc7fe3eed723811e428223d","impliedFormat":1},{"version":"6c800b281b9e89e69165fd11536195488de3ff53004e55905e6c0059a2d8591e","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"397f568f996f8ffcf12d9156342552b0da42f6571eadba6bce61c99e1651977d","impliedFormat":1},{"version":"ff0c0d446569f8756be0882b520fd94429468de9f922ab6bf9eed4da55eb0187","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"a52674bc98da7979607e0f44d4c015c59c1b1d264c83fc50ec79ff2cfea06723","impliedFormat":1},{"version":"89b3d1b267c4380fbb8e5cadccbb284843b90066f16a2f6e8a5b3a030bb7dcfb","impliedFormat":1},{"version":"f58226e78464f9c85be6cf47c665a8e33b32121ab4cdb2670b66a06f1114a55c","impliedFormat":1},{"version":"9b06ce81ad598c9c6b011cb66182fa66575ad6bd1f8f655830a6a0223a197ab7","impliedFormat":1},{"version":"e108f38a04a607f9386d68a4c6f3fdae1b712960f11f6482c6f1769bab056c2e","impliedFormat":1},{"version":"a3128a84a9568762a2996df79717d92154d18dd894681fc0ab3a098fa7f8ee3b","affectsGlobalScope":true,"impliedFormat":1},{"version":"347791f3792f436950396dd6171d6450234358001ae7c94ca209f1406566ccbf","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"2896c2e673a5d3bd9b4246811f79486a073cbb03950c3d252fba10003c57411a","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"51bf55bb6eb80f11b3aa59fb0a9571565a7ea304a19381f6da5630f4b2e206c4","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"5c96bad5f78466785cdad664c056e9e2802d5482ca5f862ed19ba34ffbb7b3a4","impliedFormat":1},{"version":"b7fff2d004c5879cae335db8f954eb1d61242d9f2d28515e67902032723caeab","impliedFormat":1},{"version":"5f3dc10ae646f375776b4e028d2bed039a93eebbba105694d8b910feebbe8b9c","impliedFormat":1},{"version":"bb0cd7862b72f5eba39909c9889d566e198fcaddf7207c16737d0c2246112678","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","impliedFormat":1},{"version":"bad68fd0401eb90fe7da408565c8aee9c7a7021c2577aec92fa1382e8876071a","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"fec01479923e169fb52bd4f668dbeef1d7a7ea6e6d491e15617b46f2cacfa37d","impliedFormat":1},{"version":"8a8fb3097ba52f0ae6530ec6ab34e43e316506eb1d9aa29420a4b1e92a81442d","impliedFormat":1},{"version":"44e09c831fefb6fe59b8e65ad8f68a7ecc0e708d152cfcbe7ba6d6080c31c61e","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"4655709c9cb3fd6db2b866cab7c418c40ed9533ce8ea4b66b5f17ec2feea46a9","impliedFormat":1},{"version":"87affad8e2243635d3a191fa72ef896842748d812e973b7510a55c6200b3c2a4","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"22b87e96a61c525464e115db0148593a861e77806fd37ab280e1903019a6e212","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"330896c1a2b9693edd617be24fbf9e5895d6e18c7955d6c08f028f272b37314d","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"9a01f12466488eccd8d9eafc8fecb9926c175a4bf4a8f73a07c3bcf8b3363282","impliedFormat":1},{"version":"b80f624162276f24a4ec78b8e86fbee80ca255938e12f8b58e7a8f1a6937120b","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"b95a6f019095dd1d48fd04965b50dfd63e5743a6e75478343c46d2582a5132bf","impliedFormat":99},{"version":"c2008605e78208cfa9cd70bd29856b72dda7ad89df5dc895920f8e10bcb9cd0a","impliedFormat":99},{"version":"a61e739f0b2c0165086c77a28d7e4b58a2a8703c646cd1e1641788484afc6ff2","impliedFormat":99},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"9e40365afca304124bc53eb03412643abf074a1580e4dc279a7a16000d11f985","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"ceec3c81b2d81f5e3b855d9367c1d4c664ab5046dff8fd56552df015b7ccbe8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e18cfe14fa8602c7ff80cbbddb91e31608e5ae20bd361fe7e6a607706cb033c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a1219ee18b9282b4c6a31f1f0bcc9255b425e99363268ba6752a932cf76662f0","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"1d63055b690a582006435ddd3aa9c03aac16a696fac77ce2ed808f3e5a06efab","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},"f2b3bca04d1bfe583daae1e1f798c92ec24bb6693bd88d0a09ba6802dee362a8","b7a28c61956074feda63b6b72e37bf82c09275e68f795d6e3cb95bbf564f643a",{"version":"acfb723d81eda39156251aed414c553294870bf53062429ebfcfba8a68cb4753","impliedFormat":99},{"version":"fa69a90381c2f85889722a911a732a5ee3596dc3acecda8a9aa2fa89b9615d8d","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"57e9e1b0911874c62d743af24b5d56032759846533641d550b12a45ff404bf07","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"854cd3a3375ffc4e7a92b2168dd065d7ff2614b43341038a65cca865a44c00c5","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"2f863ee9b873a65d9c3338ea7aaddbdb41a9673f062f06983d712bd01c25dc6b","impliedFormat":99},{"version":"67aa128c2bc170b93794f191feffc65a4b33e878db211cfcb7658c4b72f7a1f5","impliedFormat":99},{"version":"31fd7c12f6e27154efb52a916b872509a771880f3b20f2dfd045785c13aa813f","impliedFormat":99},{"version":"b481de4ab5379bd481ca12fc0b255cdc47341629a22c240a89cdb4e209522be2","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"4e258d11c899cb9ff36b4b5c53df59cf4a5ccae9a9931529686e77431e0a3518","affectsGlobalScope":true,"impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"ee70b8037ecdf0de6c04f35277f253663a536d7e38f1539d270e4e916d225a3f","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"161c8e0690c46021506e32fda85956d785b70f309ae97011fd27374c065cac9b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f582b0fcbf1eea9b318ab92fb89ea9ab2ebb84f9b60af89328a91155e1afce72","impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"333caa2bfff7f06017f114de738050dd99a765c7eb16571c6d25a38c0d5365dc","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","impliedFormat":1},{"version":"1251d53755b03cde02466064260bb88fd83c30006a46395b7d9167340bc59b73","impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","impliedFormat":1},{"version":"4cdf27e29feae6c7826cdd5c91751cc35559125e8304f9e7aed8faef97dcf572","impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"960bd764c62ac43edc24eaa2af958a4b4f1fa5d27df5237e176d0143b36a39c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ec16d7a4e366c06a4573d299e15fe6207fc080f41beac5da06f4af33ea9761e","impliedFormat":1},{"version":"59f8dc89b9e724a6a667f52cdf4b90b6816ae6c9842ce176d38fcc973669009e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e4af494f7a14b226bbe732e9c130d8811f8c7025911d7c58dd97121a85519715","impliedFormat":1},{"version":"47416e41b1af81e53e8c3cc5bf909d47ff632a7b6eddfe7ff43d187b4dcca047","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"c35b8117804c639c53c87f2c23e0c786df61d552e513bd5179f5b88e29964838","impliedFormat":99},{"version":"ac3d263474022e9a14c43f588f485d549641d839b159ecc971978b90f34bdf6b","impliedFormat":99},{"version":"67acaedb46832d66c15f1b09fb7b6a0b7f41bdbf8eaa586ec70459b3e8896eb9","impliedFormat":99},{"version":"c609331c6ed4ad4af54e101088c6a4dcb48f8db7b0b97e44a6efeb130f4331bd","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"4535ab977ee871e956eb7bebe2db5de79f5d5ec7dfbbf1d35e08f4a2d6630dac","impliedFormat":99},{"version":"b79b5ed99f26ffb2f8ae4bdcc4b34a9542197dc3fa96cfb425c2a81e618cff28","impliedFormat":99},{"version":"213a00d511892898e9dad3c98efe3b1de230f171b9e91496faca3e40e27ef6a7","impliedFormat":99},{"version":"62486ec77ac020b82d5a65a270096bb7f2a1fd0627a89f29c5a5d3cbd6bd1f59","impliedFormat":99},{"version":"c637a793905f02d354b640fae41a6ae79395ed0d77fbb87c36d9664ecbd95ac1","impliedFormat":99},{"version":"437b7613a30a2fcde463f7b707c6d5567a8823fbc51de50b8641bf5b1d126fad","impliedFormat":99},{"version":"63ea959e28c110923f495576e614fb8b36c09b6828b467b2c7cd7f03b03ccf9f","impliedFormat":99},{"version":"1601a95dbb33059fc3d12638ed2a9aecff899e339c5c0f3a0b28768866d385b4","impliedFormat":99},{"version":"a8dd232837b1d83f76a47a5193c1afd9e17b9bf352cb84345f86f7759ee346d0","impliedFormat":99},{"version":"be5fc0dd37f64420b0423059370b8319521e0b58060d7b07b8f62fe1c145b02e","impliedFormat":99},{"version":"45f770f2ae71acc1cacfac137f50911e1a004ccba52b2b55c4432c0d4bd97814","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"a5ae67a67f786ffe92d34b55467a40fb50fb0093e92388cadce6168fa42690fd","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"a20c4976da01d1c823b165275cef98a896d4758388c6409bc4ce24f0a5b49900","impliedFormat":99},{"version":"dffffa77f7716aa110e4253c6cd73a067e4729d95c97a538dbb20e58f0eb3e1d","impliedFormat":99},{"version":"0daddd6f389da2b55770e95c9ef8831bf2520aab44fb941bae38bb7ddfe1d6b6","impliedFormat":99},{"version":"7bbff6783e96c691a41a7cf12dd5486b8166a01b0c57d071dbcfca55c9525ec4","impliedFormat":99},{"version":"1ddd03b0a604fadbd33fc5e96051b82c689ee9cc7e6341f775c8834e038ba574","signature":"4b96dd19fd2949d28ce80e913412b0026dc421e5bf6c31d87c7b5eb11b5753b4"},{"version":"91dfafc38758c5669d16229910b451fa06357f86f7c1f2f0e932c3205e9e8973","impliedFormat":1},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"56e0775830b68d13c3d7f4ec75df7d016db6b879ef9676affb5233a9a289c192","impliedFormat":99},{"version":"7447894374c0341e146e4b9ec33f88cfba6d4aaaa4a2f675b0d14aa7e3f440d1","impliedFormat":1},{"version":"c34543651b7872e78088dd951a6389a03531c24a5e84028b5a12792eb106e9a5","impliedFormat":1},{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"f6380cc36fc3efc70084d288d0a05d0a2e09da012ee3853f9d62431e7216f129","impliedFormat":1},{"version":"497c3e541b4acf6c5d5ba75b03569cfe5fe25c8a87e6c87f1af98da6a3e7b918","impliedFormat":1},{"version":"d9429b81edf2fb2abf1e81e9c2e92615f596ed3166673d9b69b84c369b15fdc0","impliedFormat":1},{"version":"7e22943ae4e474854ca0695ab750a8026f55bb94278331fda02a4fb42efce063","impliedFormat":1},{"version":"7da9ff3d9a7e62ddca6393a23e67296ab88f2fcb94ee5f7fb977fa8e478852ac","impliedFormat":1},{"version":"e1b45cc21ea200308cbc8abae2fb0cfd014cb5b0e1d1643bcc50afa5959b6d83","impliedFormat":1},{"version":"c9740b0ce7533ce6ba21a7d424e38d2736acdddeab2b1a814c00396e62cc2f10","impliedFormat":1},{"version":"b3c1f6a3fdbb04c6b244de6d5772ffdd9e962a2faea1440e410049c13e874b87","impliedFormat":1},{"version":"dcaa872d9b52b9409979170734bdfd38f846c32114d05b70640fd05140b171bb","impliedFormat":1},{"version":"6c434d20da381fcd2e8b924a3ec9b8653cf8bed8e0da648e91f4c984bd2a5a91","impliedFormat":1},{"version":"992419d044caf6b14946fa7b9463819ab2eeb7af7c04919cc2087ce354c92266","impliedFormat":1},{"version":"fa9815e9ce1330289a5c0192e2e91eb6178c0caa83c19fe0c6a9f67013fe795c","impliedFormat":1},{"version":"06384a1a73fcf4524952ecd0d6b63171c5d41dd23573907a91ef0a687ddb4a8c","impliedFormat":1},{"version":"34b1594ecf1c84bcc7a04d9f583afa6345a6fea27a52cf2685f802629219de45","impliedFormat":1},{"version":"d82c9ca830d7b94b7530a2c5819064d8255b93dfeddc5b2ebb8a09316f002c89","impliedFormat":1},{"version":"7e046b9634add57e512412a7881efbc14d44d1c65eadd35432412aa564537975","impliedFormat":1},{"version":"aac9079b9e2b5180036f27ab37cb3cf4fd19955be48ccc82eab3f092ee3d4026","impliedFormat":1},{"version":"3d9c38933bc69e0a885da20f019de441a3b5433ce041ba5b9d3a541db4b568cb","impliedFormat":1},{"version":"606aa2b74372221b0f79ca8ae3568629f444cc454aa59b032e4cb602308dec94","impliedFormat":1},{"version":"50474eaea72bfda85cc37ae6cd29f0556965c0849495d96c8c04c940ef3d2f44","impliedFormat":1},{"version":"b4874382f863cf7dc82b3d15aed1e1372ac3fede462065d5bfc8510c0d8f7b19","impliedFormat":1},{"version":"df10b4f781871afb72b2d648d497671190b16b679bf7533b744cc10b3c6bf7ea","impliedFormat":1},{"version":"1fdc28754c77e852c92087c789a1461aa6eed19c335dc92ce6b16a188e7ba305","impliedFormat":1},{"version":"a656dab1d502d4ddc845b66d8735c484bfebbf0b1eda5fb29729222675759884","impliedFormat":1},{"version":"465a79505258d251068dc0047a67a3605dd26e6b15e9ad2cec297442cbb58820","impliedFormat":1},{"version":"ddae22d9329db28ce3d80a2a53f99eaed66959c1c9cd719c9b744e5470579d2f","impliedFormat":1},{"version":"d0e25feadef054c6fc6a7f55ccc3b27b7216142106b9ff50f5e7b19d85c62ca7","impliedFormat":1},{"version":"111214009193320cacbae104e8281f6cb37788b52a6a84d259f9822c8c71f6ca","impliedFormat":1},{"version":"01c8e2c8984c96b9b48be20ee396bd3689a3a3e6add8d50fe8229a7d4e62ff45","impliedFormat":1},{"version":"a4a0800b592e533897b4967b00fb00f7cd48af9714d300767cc231271aa100af","impliedFormat":1},{"version":"20aa818c3e16e40586f2fa26327ea17242c8873fe3412a69ec68846017219314","impliedFormat":1},{"version":"f498532f53d54f831851990cb4bcd96063d73e302906fa07e2df24aa5935c7d1","impliedFormat":1},{"version":"5fd19dfde8de7a0b91df6a9bbdc44b648fd1f245cae9e8b8cf210d83ee06f106","impliedFormat":1},{"version":"3b8d6638c32e63ea0679eb26d1eb78534f4cc02c27b80f1c0a19f348774f5571","impliedFormat":1},{"version":"ce0da52e69bc3d82a7b5bc40da6baad08d3790de13ad35e89148a88055b46809","impliedFormat":1},{"version":"9e01233da81bfed887f8d9a70d1a26bf11b8ddff165806cc586c84980bf8fc24","impliedFormat":1},{"version":"214a6afbab8b285fc97eb3cece36cae65ea2fca3cbd0c017a96159b14050d202","impliedFormat":1},{"version":"14beeca2944b75b229c0549e0996dc4b7863e07257e0d359d63a7be49a6b86a4","impliedFormat":1},{"version":"f7bb9adb1daa749208b47d1313a46837e4d27687f85a3af7777fc1c9b3dc06b1","impliedFormat":1},{"version":"c549fe2f52101ffe47f58107c702af7cdcd42da8c80afd79f707d1c5d77d4b6e","impliedFormat":1},{"version":"3966ea9e1c1a5f6e636606785999734988e135541b79adc6b5d00abdc0f4bf05","impliedFormat":1},{"version":"0b60b69c957adb27f990fbc27ea4ac1064249400262d7c4c1b0a1687506b3406","impliedFormat":1},{"version":"12c26e5d1befc0ded725cee4c2316f276013e6f2eb545966562ae9a0c1931357","impliedFormat":1},{"version":"27b247363f1376c12310f73ebac6debcde009c0b95b65a8207e4fa90e132b30a","impliedFormat":1},{"version":"05bd302e2249da923048c09dc684d1d74cb205551a87f22fb8badc09ec532a08","impliedFormat":1},{"version":"fe930ec064571ab3b698b13bddf60a29abf9d2f36d51ab1ca0083b087b061f3a","impliedFormat":1},{"version":"6b85c4198e4b62b0056d55135ad95909adf1b95c9a86cdbed2c0f4cc1a902d53","impliedFormat":1},{"version":"258a35442d9b7bfb92eb074413c918f4019f56d02ba02ffb738773858f078306","affectsGlobalScope":true,"impliedFormat":1},"42e5950a034cc591bc24948a4b8baaa1174b32db7246c84e5ea34edacf718767","4cf0452bfb2aa24f7c3003a5f7f648ed068355ad7b21d0f519e137077fc665ba","38e57403cc105e9947b2d41b70d48da8b7c16df9c0524845c227b39cae9a3835","0a4d436e9bb2139a238f1c89f393a984b3b456d4c069710c02e79489701c3737","af338af64bd0454b8b13d29d4c0acbd1ba1fed8f192782ec8fa7cbb1f04e3b50","218254e2197f2f1fe6462c36a62160bf4a1e3dce8231c8c8a20078b03f5fe244","dcc61da423f6028a4f575bb026c6e52a44d6c63974c71a2c3bde8c2fb02eced7",{"version":"99fed0ac0d683b05b4706c1646076bd0b62e7a30a1f277dc489156f747d1e305","signature":"91290e9a1b5bfcc13dd45df1c3ef1dd34dd31edf1318316d4b9d03c0a5652c8f"},"ac3280b4ed98e826615ebdd8937efb04d11828506e9a8e9ba08d3fe429e8cd33","8ef2e368bd5a830113c227232367c0df4bb8e2eae582e5968321985cefa47fec",{"version":"163d8cf35c7f0ed9536eedc93cd414a17aadb03b9812917014b0e9f71893aed2","signature":"06bcb93aa5e58978fe351044d047b9547fd22056bd9079e3c74f1a4dfd4bf07e"},"b9fa07ae76b1cd96f354d085dc8ee6a4f5f028e087c0b8f2a451d6e92af9deb1","ce64764834cbdfe80ae1a27a115b99cabdbfea70a74ccd3bf5b826fa975e4e71","6acb1a4d1138f6178455246bd697c14427771377e4d7ae19407a7de1b6b46bfb","fd9ee9887dbc9e6e44fe64d72c3a8eadb1b9e2ff0ed2e20b32cfe2aa2df7e49e","30b69d990aae21f1199ac44595fd4ecdcf76421b1b3116375038a802443e2587","a3b0904ebfd366829c0894999b3937c5f0463899353d78d9eb5d29d43bff5437","511a62d7a07240df3d0caa21bec2194348501dbe1328250a8a154764c0c5dc8e",{"version":"6d6fab9053c3ae498fd75e0da52da5ef3486c62306bd28bad4d147410655ae7e","signature":"6bfd6ae361cee85f57af35359b610cb1b33dfac7313d2550ff0a7e5fa30ff3ac"},{"version":"59164839b052bbf319a2e7bc68184fdfd676b827c1d6fd31caadfaebb9c481c5","signature":"33ca02a6710841534ac09f53c31ec5156a9f9df80c035aa57d4fd79c17eaf36c"},"8abe66e0a3428ce0ed7a2dec8e0d9f21a8ea75ec7712d033e45c869b8dcbc396","5923df749fc076ce1bbdda4a85aacfd8fd2381f0529bd362b8a4e3b8fc886c93",{"version":"4c9758f110328250280c8b99debe27dc4c082c9645e5f6aedb6acb1ffc985a1a","signature":"8b0abcfc767a06ded3a19aef13be487040b42342c882545236808927a5f3047d"},"ffce0ec758f953369f8aa44e230acf9d2db46a3564aae6fa06302225384af9fc","e64a6331803c756b0b51c332eeb714858726a1d8db0deaf9d146bb70ba34fee2",{"version":"4b19a27eaccfc0549e5a68d2012546bfc62064842d923c30699381460d32b472","impliedFormat":99},{"version":"97a50b01aa5289ea4e360a4d86f2dd8fed81a03ad657439b369dcace978feca2","impliedFormat":99},{"version":"7c06703b5cba08462692c2df83b4ec2faedac46ecd3a6a83240db8729f0efa71","impliedFormat":99},"14bb2042156448b1ffe923013c4d14fd17b5443a117268e4139327c1fa86263b","27ba92e87f0c8e5bb87dc4d153cdbff8942886b09c7a620e737fced7dcefc070",{"version":"e1d9d7d038c2e5177718a433efbf949e74dcfed21cebcd6f877b3b0d81495997","signature":"1b9bd338ed37aa893037a36c839c868fcdf161afb23010b0a93b60fc49086adb"},{"version":"a534e61c2f06a147d97aebad720db97dffd8066b7142212e46bcbcdcb640b81a","impliedFormat":99},{"version":"ddf569d04470a4d629090d43a16735185001f3fcf0ae036ead99f2ceab62be48","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"53c448183c7177c83d3eb0b40824cf8952721a6584cf22052adc24f778986732","impliedFormat":99},{"version":"a4e9e5e7991ab97d4852119abf344cbf3c728ca0f7158dfb3564407f6ccff705","signature":"2faefb33ce985ea1b4d37e5da4924b0c468149588b5083be24852b4a5d782baa"},{"version":"df472224084811b4c922d0be66e99889b2b65e0af0b9ebb0fb298c0a8696a4e6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5dc0215d688b4576e6a243efe28256b1508fd07e9a49b5868cdaf9d2e8eded35","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1d3c143e796159a455f3c8bbfb7b088d28313dcfb1fa1f7e1eafef9c2dad12e","signature":"08855ad6e6347e7b8eb3a59809ee917f9b92e147b1f8241ddc781eb93edcaaf7"},{"version":"073f8693de916e6e483bf77c8fcb54ccf695d39372ac00aeda27745d510498c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"e270efd2c1c69bfefaff27a026f769704ace866c91c544ce792b735b85c1c2a0",{"version":"91d5ad7754cb7b8b765ba6bace1a258e413c33b0113d6e5813786d77d1c7a50b","impliedFormat":1},"88841b3997def968eb6a6228485aef7a4c610cba58f09b25956b07222ad35ba2",{"version":"dd90c02f064b9023c27a74f981437912eaf13a0b3685206228f1597f60ea46b7","impliedFormat":1},{"version":"e4e957c7cb5a8a14f5b43ddcbf6a6a8c0877c2c933c8f8230cfa85cb7acef018","impliedFormat":1},{"version":"89eeeebbc612a079c6e7ebe0bde08e06fbc46cfeaebf6157ea3051ed55967b10","impliedFormat":1},{"version":"4c72f66622e266b542fb097f4d1fe88eb858b88b98414a13ef3dd901109e03a1","impliedFormat":1},{"version":"23a933d83f3a8d595b35f3827c5e68239fb4f6eb44e96389269d183fe7ff09ba","impliedFormat":1},{"version":"3de661ae6c0893d37188844935676bdb290216d3e32f22b9b8aa522dfbe68af6","impliedFormat":1},{"version":"beb9a139ce8d28b7796745cf5ed0ae920f0d1165b992c4d89264e0f596c80a99","impliedFormat":1},{"version":"f734b58ea162765ff4d4a36f671ee06da898921e985a2064510f4925ec1ed062","affectsGlobalScope":true,"impliedFormat":1},{"version":"55c0569d0b70dbc0bb9a811469a1e2a7b8e2bab2d70c013f2e40dfb2d2803d05","impliedFormat":1},{"version":"37f96daaddc2dd96712b2e86f3901f477ac01a5c2539b1bc07fd609d62039ee1","impliedFormat":1},{"version":"9c5c84c449a3d74e417343410ba9f1bd8bfeb32abd16945a1b3d0592ded31bc8","impliedFormat":1},{"version":"a7f09d2aaf994dbfd872eda4f2411d619217b04dbe0916202304e7a3d4b0f5f8","impliedFormat":1},{"version":"a66ebe9a1302d167b34d302dd6719a83697897f3104d255fe02ff65c47c5814e","impliedFormat":99},{"version":"bc01cd5014b23f8ab96e296c0cc134e039a777714fa75a68d6cbff1b4947b729","impliedFormat":1},{"version":"ce6603fcee6c000c0930d500060b7fca478dcef634196c6c27126d78ecd8fa1b","impliedFormat":1},{"version":"37acfa2160073f00dacc863f396a503bf491d893b628cb523c49ac09bc7d1a95","impliedFormat":1},{"version":"71da2b4e02affc733ef57f8894a0ecdd9a4747379c24db8056e0e0f7f63ae0b9","impliedFormat":1},{"version":"81c4a0e6de3d5674ec3a721e04b3eb3244180bda86a22c4185ecac0e3f051cd8","impliedFormat":1},{"version":"36c16eada3eaadcd3973cd12c8894eb5fdf838d2a98145d846e3ab5131dd14f5","impliedFormat":1},{"version":"7261cabedede09ebfd50e135af40be34f76fb9dbc617e129eaec21b00161ae86","impliedFormat":1},{"version":"ea554794a0d4136c5c6ea8f59ae894c3c0848b17848468a63ed5d3a307e148ae","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"c60b14c297cc569c648ddaea70bc1540903b7f4da416edd46687e88a543515a1","impliedFormat":1},{"version":"97a295a4a0f80ee3ffbd49f3635b58b367ad8c7d5ae4d88085b8c6f0d6caaa57","impliedFormat":1},{"version":"7f155795a4af97ded466e29e864a5365e033869acb38c39b2bef79a761e7cb63","impliedFormat":1},{"version":"fc80a762d006a43cbaf249ae10e6eab50c82552f040e2f6c49be5b5da8478a11","impliedFormat":1},{"version":"6ce50ada4bc9d2ad69927dce35cead36da337a618de0a2daaaeeafe38c692597","impliedFormat":1},{"version":"13b8d0a9b0493191f15d11a5452e7c523f811583a983852c1c8539ab2cfdae7c","impliedFormat":1},{"version":"4d42529fbadc9cfc3aa03e381b422fa5135edb175985d41799531711da96141b","impliedFormat":1},{"version":"df6251bd4b5fad52759bfe96e8ab8f2ce625d0b6739b825209b263729a9c321e","impliedFormat":1},{"version":"846068dbe466864be6e2cae9993a4e3ac492a5cb05a36d5ce36e98690fde41f4","impliedFormat":1},{"version":"94c8c60f751015c8f38923e0d1ae32dd4780b572660123fa087b0cf9884a68a8","impliedFormat":1},{"version":"eb1422dd19b22a12df6365f71adde9a24bc73dbf2f6d20e7b650216897f3258f","impliedFormat":1},{"version":"01ec6506f7c60c69dbb4486ef4174fb4fd721c84f12f531d1ef640fa7379fd94","impliedFormat":1},{"version":"e451e32b6e0d25ae9d5c9149d2cd4afba4aec07874b7282b27e7f1e27cb8286d","impliedFormat":1},{"version":"66cfc74e54331cabf88ed12b3317b13716d66865ee0187498d5b71b5d82c70a4","impliedFormat":1},{"version":"c5b47653a15ec7c0bde956e77e5ca103ddc180d40eb4b311e4a024ef7c668fb0","impliedFormat":1},{"version":"223709d7c096b4e2bb00390775e43481426c370ac8e270de7e4c36d355fc8bc9","impliedFormat":1},{"version":"0528a80462b04f2f2ad8bee604fe9db235db6a359d1208f370a236e23fc0b1e0","impliedFormat":1},{"version":"c8b003c0f6be91a5485bbfe99ab1b532c2c3e9ecb0290295013eeb5db0373fba","impliedFormat":1},{"version":"82ef7d775e89b200380d8a14dc6af6d985a45868478773d98850ea2449f1be56","impliedFormat":1},{"version":"953440f26228d2301293dbb5a71397b5508ba09f57c5dbcd33b16eca57076eb2","impliedFormat":1},{"version":"fb7e20b94d23d989fa7c7d20fccebef31c1ef2d3d9ca179cadba6516e4e918ad","impliedFormat":1},{"version":"8326f735a1f0d2b4ad20539cda4e0d2e7c5fc0b534e3c0d503d5ed20a5711009","impliedFormat":1},{"version":"8d720cd4ee809af1d81f4ce88f02168568d5fded574d89875afd8fe7afd9549e","impliedFormat":1},{"version":"df87c2628c5567fd71dc0b765c845b0cbfef61e7c2e56961ac527bfb615ea639","impliedFormat":1},{"version":"659a83f1dd901de4198c9c2aa70e4a46a9bd0c41ce8a42ee26f2dbff5e86b1f3","impliedFormat":1},{"version":"a66f3da7de689a5879af9501bbae12a28b42194e0a364afb7a6d395b3e3813c3","impliedFormat":1},{"version":"224f85b48786de61fb0b018fbea89620ebec6289179daa78ed33c0f83014fc75","impliedFormat":1},{"version":"05fbfcb5c5c247a8b8a1d97dd8557c78ead2fff524f0b6380b4ac9d3e35249fb","impliedFormat":1},{"version":"322f70408b4e1f550ecc411869707764d8b28da3608e4422587630b366daf9de","impliedFormat":1},{"version":"acb93abc527fa52eb2adc5602a7c3c0949861f8e4317a187bb5c3372f872eff4","impliedFormat":1},{"version":"c4ef9e9e0fcb14b52c97ce847fb26a446b7d668d9db98a7de915a22c46f44c37","impliedFormat":1},{"version":"0e447b14e81b5b3e5d83cbea58b734850f78fb883f810e46d3dedba1a5124658","impliedFormat":1},{"version":"bd2221581a2adfb320e2bb7b648e837005e90beacc0918139c3ba0523ec036b6","impliedFormat":1},{"version":"929939785efdef0b6781b7d3a7098238ea3af41be010f18d6627fd061b6c9edf","impliedFormat":1},{"version":"fca68ac3b92725dbf3dac3f9fbc80775b66d2a9c642e75595a4a11a2095b3c9a","impliedFormat":1},{"version":"245d13141d7f9ec6edd36b14844b247e0680950c1c3289774d431cbbd47e714e","impliedFormat":1},{"version":"4326dc453ff5bf36ad778e93b7021cdd9abcfc4efe75a5c04032324f404af558","impliedFormat":1},{"version":"27b47fbd2f2d0d3cd44b8c7231c800f8528949cc56f421093e2b829d6976f173","impliedFormat":1},{"version":"2733026486e03cb5ea5809e1c3ea5bf263d7a94733ef732643684296aecb072a","impliedFormat":1},{"version":"fc745bebefc96e2a518a2d559af6850626cada22a75f794fd40a17aae11e2d54","impliedFormat":1},{"version":"2b0fe9ba00d0d593fb475d4204214a0f604ad8a56f22a5f05c378b52205ef36b","impliedFormat":1},{"version":"3d94a259051acf8acd2108cee57ad58fee7f7b278de76a7a5746f0656eecbff6","impliedFormat":1},{"version":"bb4c1bfe357af1c473ec97d5366fe7204ad2d85534943316ba3a4e8f5a2f2d7e","impliedFormat":1},{"version":"14df3316ed8d60048de388cede480067482534e8dcb7a068331cb4bf02c18595","impliedFormat":1},{"version":"3f3526aea8d29f0c53f8fb99201c770c87c357b5e87349aca8494bfd0c145c26","impliedFormat":1},{"version":"6ee92d844e5a1c0eb562d110676a3a17f00d2cd2ea2aaaff0a98d7881b9a4041","impliedFormat":1},{"version":"d65d0a4617a365090b075ef495e3d3bb2d3cbd2e6f8f6f9aec9416f3bab91ef2","impliedFormat":1},{"version":"6052522a593f094cfee0e99c76312a229cf2d49ac2e75095af83813ec9f4b109","impliedFormat":1},{"version":"a0ceb6ce93981581494bae078b971b17e36b67502a36a056966940377517091d","impliedFormat":1},{"version":"a63ce903dd08c662702e33700a3d28ca66ed21ac0591e1dbf4a0b309ae80e690","impliedFormat":1},{"version":"2b63d2725550866e0f2b56b2394ce001ebf1145cb4b04dc9daa29d73867b878c","impliedFormat":1},{"version":"a937735c59855758c103378610b46bd56b3bd6e12037260c4b6ad6d73f519baa","impliedFormat":1},{"version":"6e2d2b63c278fd1c8dd54da2328622c964f50afa62978ed1a73ccd85e99a4fc7","impliedFormat":1},{"version":"d90f5bd18a862fdbd39b1db0eb9d92722e2922b1ff29c6f06cd198ba812d84a0","impliedFormat":1},{"version":"b83ffe71adbac91c5596133251e5ec0c9e6664017ee5b776841effe93de8f466","impliedFormat":1},{"version":"61ecf051972c69e7c992bab9cf74c511ecba51b273c4e1590574d97a542bd4ea","impliedFormat":1},{"version":"068f5afbae92a20a5fcd9cfce76f7b90de2c59a952396b5da225b61f95a1d60a","impliedFormat":1},{"version":"d6a104e56ead828ad1583f56348ccc6993bc73e89fe974474c7fa249407197cd","impliedFormat":1},{"version":"4e024e2530feda4719448af6bdd0c0c7cfa28d1a4887900f4886bec70cd48fea","impliedFormat":1},{"version":"99c88ea4f93e883d10c04961dbf37c403c4f3c8444948b86effec0bf52176d0e","impliedFormat":1},{"version":"e88f3729fcc3d38d2a1b3cdcbd773d13d72ea3bdf4d0c0c784818e3bfbe7998d","impliedFormat":1},{"version":"f25b1264b694a647593b0a9a044a267098aaf249d646981a7f0503b8bb185352","impliedFormat":1},{"version":"964d0862660f8e46675c83793f42ab2af336f3d6106dee966a4053d5dc433063","impliedFormat":1},{"version":"292ad4203c181f33beb9eb8fe7c6aaae29f62163793278a7ffc2fcc0d0dbed19","impliedFormat":1},{"version":"4e04e6263670ad377f2f6bcd477def099ac3634d760ee8a7cca74a6f39d70a48","impliedFormat":1},{"version":"39610d544bf13ae42304250e075918fea69b5e9ac0ad694948008ea44abcdead","impliedFormat":1},{"version":"f437151a618f7f89587479bcf5d64799276b0b5f578bf629b1b994ee723c6b5e","impliedFormat":1},{"version":"0cc800e9f15f736729b9b4e77cc6b7f9ea48010db7624f93ca773a48c712eb44","impliedFormat":1},{"version":"e567fdeb99631ab6483d5a4fe829c93c68adeb2cbfebc86a87f98e077d5c0268","impliedFormat":1},{"version":"5481417b1f4d6bf5ee34abc2de84cfe3770b877e987e3fa7a773fd1b0a4e11f4","impliedFormat":1},{"version":"e1b846ae9f58738fd93b58871f177fef92db61800a281c8a3410b7d0d84cb0c3","impliedFormat":1},{"version":"ee0ce25cc8881cbbba0cd58012eb398b54a790cc29dbdcf53e0473b7c49cba69","impliedFormat":1},{"version":"aaf76607f93af53b24eb112bfb152d8de7e6c756144e58eef864df6501e7545a","impliedFormat":1},{"version":"419b14db41edddf6618ebb84fd95ed083a29f19f774ef7de8e0d6e32b48407f8","impliedFormat":1},{"version":"4edfc4848068bf58016856dfeb27341c15679884575e1a501e2389a1fea5c579","impliedFormat":1},{"version":"0c3d7a094ef401b3c36c8e3d88382a7e7a8b1e4f702769eba861d03db559876b","impliedFormat":1},{"version":"050b1cd5315269fce82a01a8987bd7db84fb8f94881709a1f700f4f97224f642","impliedFormat":1},{"version":"7e3a4800683a39375bc99f0d53b21328b0a0377ab7cbb732c564ca7ca04d9b37","impliedFormat":1},{"version":"910738f73810877fe9024e9a0a5444d5bdca683461fe4d6a20c208adf2f94d00","impliedFormat":1},{"version":"4976dbbdf489ba70dc16e49d259efaac8e20f419b91656f8f4fe94886505303d","impliedFormat":1},{"version":"829a98c450dadb13125faaaa93c0b5e7e1c5c4f7c066bb4c00b69eb9db36536c","impliedFormat":1},{"version":"5bb16745b183f1dc755d5b77d9fb9b01f8d40b3835872cc733b84e2eccbedb21","impliedFormat":1},{"version":"a01db1c770264e60119d70720b38e9a44fb25312f9fc70642e96147e17becc28","impliedFormat":1},{"version":"5c2a40582c6a1168ac26165dea811be68935d1b3066253cdcae8350192bc7aab","impliedFormat":1},{"version":"06612a809e386e1adb0f35e8729eda408e371551c38969b44f1cecde9cd17df7","impliedFormat":1},{"version":"40d4724906e7ec0d9d608d5d81674f613afc5d12aa0f87a879fa2c512d7627f8","impliedFormat":1},{"version":"8378f204551aa7932df9ec1586b8f719873fdaa7de89de66f6a157a1aa5c147e","impliedFormat":1},{"version":"6291216b4d40642809c77703a00c5bb44d22ad9542f8960cd84228eeaa6df549","impliedFormat":1},{"version":"1246e5867cb2df7eede23eb1bf490e4262e97fc6eab5234223d92817db4229d7","impliedFormat":1},{"version":"c9280a410eb43a85010a5173640b03bbe51b734ecdb2e41b2852f3b048d84143","impliedFormat":1},{"version":"9daed3c8782cce6973646a43b22e072d4095195fd3f207b547772907d2f50d1d","impliedFormat":1},{"version":"143c6771fe7d73f3b1d23b92d598778320da0f57f971146d4e40c794b9c3708a","impliedFormat":1},{"version":"892b19153694b7a3c9a69bcedb54e1c8ad3b9fa370076db4d3522838afd2cd60","impliedFormat":1},{"version":"7fc4be1e2f21d64bb9d0d9f54a1fee943997a3d52c4628f5c5df431e7e4512dd","impliedFormat":1},{"version":"7f58eed7b82d0447cda84a1c9eccde2619da21a0f6ce26165db08afe11270f43","impliedFormat":1},{"version":"af31f37264ea5d5349eec50786ceca75c572ed3be91bdd7cb428fdd8cd14b17c","impliedFormat":1},{"version":"85e4673ec8507aef18afd4a9acfae0294bdfaac29458ede0b8b56f5a63738486","impliedFormat":1},{"version":"40683566071340b03c74d0a4ffa84d49fedb181a691ce04c97e11b231a7deee4","impliedFormat":1},{"version":"02631c985f434279165a322afdf222a825ab8293ab5085b694593cb92c6f273d","impliedFormat":1},{"version":"e885933b92f26fa3204403999eddc61651cd3109faf8bffa4f6b6e558b0ab2fa","impliedFormat":1},{"version":"ed3d34d1a1c751550a5e7de98e5274148b444b5e012fd2863e534a8bd19db229","impliedFormat":1},{"version":"f158721f7427976b5510660c8e53389d5033c915496c028558c66caaf3d1db1c","impliedFormat":1},{"version":"7baac8ea31358e13bf05b439b9e8fe60091e965cc9d38719e817f0e67d29f3ce","impliedFormat":1},{"version":"3fc80e195460c77d81d8256749f083fe6160ea65279192ae09cbb4a06c021c62","signature":"0aa221cfa1e4094ab4b4d59ea2a96672bccbcb30a1b65d7332c50b61c0f5e2e4"},"1e566feceb069544f90b04029fedaee3981548f6e0bf0f1590d15498476d1f05",{"version":"8a2378fa6a2778b95e21af647fb61ae98919e40876267f4fcc955657cb9ad044","signature":"f748f036f5b02c711ec300d8fe5935286c751fbc27829eb8dbcb0875d4440836"},{"version":"b38d231dde5aa64243a75605a49e61e99d704c345145f15fa4a56d05bc06bf82","signature":"cf5e40a3243ad964e6e098e675fb707daae7233a8f13cc233f879d35a90fac6f"},{"version":"dd332252bb45677533cd5553e0c35340cee4c485c90c63360f8e653901286a4f","impliedFormat":1},{"version":"dddde95f3dea44dc49c9095a861298e829122a54a3f56b3b815e615501e2ed16","impliedFormat":1},{"version":"794a88237c94d74302df12ebb02f521cf5389a5bf046a3fdbdd3afb21dc02511","impliedFormat":1},{"version":"66a08d30c55a7aefa847c1f5958924a3ef9bea6cd1c962a8ff1b2548f66a6ce0","impliedFormat":1},{"version":"0790ae78f92ab08c9d7e66b59733a185a9681be5d0dc90bd20ab5d84e54dcb86","impliedFormat":1},{"version":"1046cd42ec19e4fd038c803b4fc1aff31e51e6e48a6b8237a0240a11c1c27792","impliedFormat":1},{"version":"8f93c7e1084de38a142085c7f664b0eb463428601308fb51c68b25cb687e0887","impliedFormat":1},{"version":"83f69c968d32101f8690845f47bcae016cbea049e222a5946889eb3ae37e7582","impliedFormat":1},{"version":"59c3f3ed18de1c7f5927e0eafcdc0e545db88bfae4168695a89e38a85943a86d","impliedFormat":1},{"version":"32e6c27fd3ef2b1ddbf2bf833b2962d282eb07d9d9d3831ca7f4ff63937268e1","impliedFormat":1},{"version":"406ebb72aa8fdd9227bfce7a1b3e390e2c15b27f5da37ea9e3ed19c7fb78d298","impliedFormat":1},{"version":"197109f63a34b5f9379b2d7ba82fc091659d6878db859bd428ea64740cb06669","impliedFormat":1},{"version":"059871a743c0ca4ae511cbd1e356548b4f12e82bc805ab2e1197e15b5588d1c4","impliedFormat":1},{"version":"8ccefe3940a2fcb6fef502cdbc7417bb92a19620a848f81abc6caa146ab963e9","impliedFormat":1},{"version":"44d8ec73d503ae1cb1fd7c64252ffa700243b1b2cc0afe0674cd52fe37104d60","impliedFormat":1},{"version":"67ea5a827a2de267847bb6f1071a56431aa58a4c28f8af9b60d27d5dc87b7289","impliedFormat":1},{"version":"e33bb784508856827448a22947f2cac69e19bc6e9d6ef1c4f42295f7bd4ce293","impliedFormat":1},{"version":"383bb09bfeb8c6ef424c7fbce69ec7dc59b904446f8cfec838b045f0143ce917","impliedFormat":1},{"version":"83508492e3fc5977bc73e63541e92c5a137db076aafc59dcf63e9c6ad34061c7","impliedFormat":1},{"version":"ef064b9a331b7fc9fe0b368499c52623fb85d37d8972d5758edc26064189d14d","impliedFormat":1},{"version":"d64457d06ab06ad5e5f693123ee2f17594f00e6d5481517058569deac326fea0","impliedFormat":1},{"version":"e92ea29d716c5fe1977a34e447866d5cfbd94b3f648e3b9c550603fdae0e94fb","impliedFormat":1},{"version":"3d10f47c6b1e9225c68c140235657a0cdd4fc590c18faf87dcd003fd4e22c67f","impliedFormat":1},{"version":"13989f79ff8749a8756cac50f762f87f153e3fb1c35768cc6df15968ec1adb1a","impliedFormat":1},{"version":"e014c2f91e94855a52dd9fc88867ee641a7d795cfe37e6045840ecf93dab2e6b","impliedFormat":1},{"version":"74b9f867d1cc9f4e6122f81b59c77cbd6ff39f482fb16cffdc96e4cda1b5fdb1","impliedFormat":1},{"version":"7c8574cfc7cb15a86db9bf71a7dc7669593d7f62a68470adc01b05f246bd20ff","impliedFormat":1},{"version":"c8f49d91b2669bf9414dfc47089722168602e5f64e9488dbc2b6fe1a0f6688da","impliedFormat":1},{"version":"3abee758d3d415b3b7b03551f200766c3e5dd98bb1e4ff2c696dc6f0c5f93191","impliedFormat":1},{"version":"79bd7f60a080e7565186cfdfd84eac7781fc4e7b212ab4cd315b9288c93b7dc7","impliedFormat":1},{"version":"4a2f281330a7b5ed71ebc4624111a832cd6835f3f92ad619037d06b944398cf4","impliedFormat":1},{"version":"ea8130014cb8ee30621bf521f58d036bff3b9753b2f6bd090cc88ac15836d33c","impliedFormat":1},{"version":"c740d49c5a0ecc553ddfc14b7c550e6f5a2971be9ed6e4f2280b1f1fa441551d","impliedFormat":1},{"version":"886a56c6252e130f3e4386a6d3340cf543495b54c67522d21384ed6fb80b7241","impliedFormat":1},{"version":"4b7424620432be60792ede80e0763d4b7aab9fe857efc7bbdb374e8180f4092a","impliedFormat":1},{"version":"e407db365f801ee8a693eca5c21b50fefd40acafda5a1fa67f223800319f98a8","impliedFormat":1},{"version":"529660b3de2b5246c257e288557b2cfa5d5b3c8d2240fa55a4f36ba272b57d18","impliedFormat":1},{"version":"0f6646f9aba018d0a48b8df906cb05fa4881dc7f026f27ab21d26118e5aa15de","impliedFormat":1},{"version":"b3620fcf3dd90a0e6a07268553196b65df59a258fe0ec860dfac0169e0f77c52","impliedFormat":1},{"version":"08135e83e8d9e34bab71d0cf35b015c21d0fd930091b09706c6c9c0e766aca28","impliedFormat":1},{"version":"96e14f2fdc1e3a558462ada79368ed49b004efce399f76f084059d50121bb9a9","impliedFormat":1},{"version":"56f2ade178345811f0c6c4e63584696071b1bd207536dc12384494254bc1c386","impliedFormat":1},{"version":"e484786ef14e10d044e4b16b6214179c95741e89122ba80a7c93a7e00bf624b1","impliedFormat":1},{"version":"4763ce202300b838eb045923eaeb32d9cf86092eee956ca2d4e223cef6669b13","impliedFormat":1},{"version":"7cff5fff5d1a92ae954bf587e5c35987f88cacaa006e45331b3164c4e26369de","impliedFormat":1},{"version":"c276acedaadc846336bb51dd6f2031fdf7f299d0fae1ee5936ccba222e1470ef","impliedFormat":1},{"version":"426c3234f768c89ba4810896c1ee4f97708692727cfecba85712c25982e7232b","impliedFormat":1},{"version":"ee12dd75feac91bb075e2cb0760279992a7a8f5cf513b1cffaa935825e3c58be","impliedFormat":1},{"version":"3e51868ea728ceb899bbfd7a4c7b7ad6dd24896b66812ea35893e2301fd3b23f","impliedFormat":1},{"version":"781e8669b80a9de58083ca1f1c6245ef9fb04d98add79667e3ed70bde034dfd5","impliedFormat":1},{"version":"cfd35b460a1e77a73f218ebf7c4cd1e2eeeaf3fa8d0d78a0a314c6514292e626","impliedFormat":1},{"version":"452d635c0302a0e1c5108edebcca06fc704b2f8132123b1e98a5220afa61a965","impliedFormat":1},{"version":"bbe64c26d806764999b94fcd47c69729ba7b8cb0ca839796b9bb4d887f89b367","impliedFormat":1},{"version":"b87d65da85871e6d8c27038146044cffe40defd53e5113dbd198b8bce62c32db","impliedFormat":1},{"version":"c37712451f6a80cbf8abec586510e5ac5911cb168427b08bc276f10480667338","impliedFormat":1},{"version":"ecf02c182eec24a9a449997ccc30b5f1b65da55fd48cbfc2283bcfa8edc19091","impliedFormat":1},{"version":"0b2c6075fc8139b54e8de7bcb0bed655f1f6b4bf552c94c3ee0c1771a78dea73","impliedFormat":1},{"version":"49707726c5b9248c9bac86943fc48326f6ec44fe7895993a82c3e58fb6798751","impliedFormat":1},{"version":"a9679a2147c073267943d90a0a736f271e9171de8fbc9c378803dd4b921f5ed3","impliedFormat":1},{"version":"a8a2529eec61b7639cce291bfaa2dd751cac87a106050c3c599fccb86cc8cf7f","impliedFormat":1},{"version":"bfc46b597ca6b1f6ece27df3004985c84807254753aaebf8afabd6a1a28ed506","impliedFormat":1},{"version":"7fdee9e89b5a38958c6da5a5e03f912ac25b9451dc95d9c5e87a7e1752937f14","impliedFormat":1},{"version":"b8f3eafeaf04ba3057f574a568af391ca808bdcb7b031e35505dd857db13e951","impliedFormat":1},{"version":"30b38ae72b1169c4b0d6d84c91016a7f4c8b817bfe77539817eac099081ce05c","impliedFormat":1},{"version":"c9f17e24cb01635d6969577113be7d5307f7944209205cb7e5ffc000d27a8362","impliedFormat":1},{"version":"685ead6d773e6c63db1df41239c29971a8d053f2524bfabdef49b829ae014b9a","impliedFormat":1},{"version":"b7bdabcd93148ae1aecdc239b6459dfbe35beb86d96c4bd0aca3e63a10680991","impliedFormat":1},{"version":"e83cfc51d3a6d3f4367101bfdb81283222a2a1913b3521108dbaf33e0baf764a","impliedFormat":1},{"version":"95f397d5a1d9946ca89598e67d44a214408e8d88e76cf9e5aecbbd4956802070","impliedFormat":1},{"version":"74042eac50bc369a2ed46afdd7665baf48379cf1a659c080baec52cc4e7c3f13","impliedFormat":1},{"version":"1541765ce91d2d80d16146ca7c7b3978bd696dc790300a4c2a5d48e8f72e4a64","impliedFormat":1},{"version":"ec6acc4492c770e1245ade5d4b6822b3df3ba70cf36263770230eac5927cf479","impliedFormat":1},{"version":"4c39ee6ae1d2aeda104826dd4ce1707d3d54ac34549d6257bea5d55ace844c29","impliedFormat":1},{"version":"deb099454aabad024656e1fc033696d49a9e0994fc3210b56be64c81b59c2b20","impliedFormat":1},{"version":"80eec3c0a549b541de29d3e46f50a3857b0b90552efeeed90c7179aba7215e2f","impliedFormat":1},{"version":"a4153fbd5c9c2f03925575887c4ce96fc2b3d2366a2d80fad5efdb75056e5076","impliedFormat":1},{"version":"6f7c70ca6fa1a224e3407eb308ec7b894cfc58042159168675ccbe8c8d4b3c80","impliedFormat":1},{"version":"4b56181b844219895f36cfb19100c202e4c7322569dcda9d52f5c8e0490583c9","impliedFormat":1},{"version":"5609530206981af90de95236ce25ddb81f10c5a6a346bf347a86e2f5c40ae29b","impliedFormat":1},{"version":"632ce3ee4a6b320a61076aeca3da8432fb2771280719fde0936e077296c988a9","impliedFormat":1},{"version":"8b293d772aff6db4985bd6b33b364d971399993abb7dc3f19ceed0f331262f04","impliedFormat":1},{"version":"4eb7bad32782df05db4ba1c38c6097d029bed58f0cb9cda791b8c104ccfdaa1f","impliedFormat":1},{"version":"c6a8aa80d3dde8461b2d8d03711dbdf40426382923608aac52f1818a3cead189","impliedFormat":1},{"version":"bf5e79170aa7fc005b5bf87f2fe3c28ca8b22a1f7ff970aa2b1103d690593c92","impliedFormat":1},{"version":"ba3c92c785543eba69fbd333642f5f7da0e8bce146dec55f06cfe93b41e7e12f","impliedFormat":1},{"version":"c6d72ececae6067e65c78076a5d4a508f16c806577a3d206259a0d0bfeedc8d1","impliedFormat":1},{"version":"b6429631df099addfcd4a5f33a046cbbde1087e3fc31f75bfbbd7254ef98ea3c","impliedFormat":1},{"version":"4e9cf1b70c0faf6d02f1849c4044368dc734ad005c875fe7957b7df5afe867c9","impliedFormat":1},{"version":"7498b7d83674a020bd6be46aeed3f0717610cb2ae76d8323e560e964eb122d0c","impliedFormat":1},{"version":"b80405e0473b879d933703a335575858b047e38286771609721c6ab1ea242741","impliedFormat":1},{"version":"7193dfd01986cd2da9950af33229f3b7c5f7b1bee0be9743ad2f38ec3042305e","impliedFormat":1},{"version":"1ccb40a5b22a6fb32e28ffb3003dea3656a106dd3ed42f955881858563776d2c","impliedFormat":1},{"version":"8d97d5527f858ae794548d30d7fc78b8b9f6574892717cc7bc06307cc3f19c83","impliedFormat":1},{"version":"ccb4ecdc8f28a4f6644aa4b5ab7337f9d93ff99c120b82b1c109df12915292ac","impliedFormat":1},{"version":"8bbcf9cecabe7a70dcb4555164970cb48ba814945cb186493d38c496f864058f","impliedFormat":1},{"version":"7d57bdfb9d227f8a388524a749f5735910b3f42adfe01bfccca9999dc8cf594c","impliedFormat":1},{"version":"3508810388ea7c6585496ee8d8af3479880aba4f19c6bbd61297b17eb30428f4","impliedFormat":1},{"version":"56931daef761e6bdd586358664ccd37389baabeb5d20fe39025b9af90ea169a5","impliedFormat":1},{"version":"abb48247ab33e8b8f188ef2754dfa578129338c0f2e277bfc5250b14ef1ab7c5","impliedFormat":1},{"version":"beaba1487671ed029cf169a03e6d680540ea9fa8b810050bc94cb95d5e462db2","impliedFormat":1},{"version":"1418ef0ba0a978a148042bc460cf70930cd015f7e6d41e4eb9348c4909f0e16d","impliedFormat":1},{"version":"56be4f89812518a2e4f0551f6ef403ffdeb8158a7c271b681096a946a25227e9","impliedFormat":1},{"version":"bbb0937150b7ab2963a8bc260e86a8f7d2f10dc5ee7ddb1b4976095a678fdaa4","impliedFormat":1},{"version":"862301d178172dc3c6f294a9a04276b30b6a44d5f44302a6e9d7dc1b4145b20b","impliedFormat":1},{"version":"cbf20c7e913c08cb08c4c3f60dae4f190abbabaa3a84506e75e89363459952f0","impliedFormat":1},{"version":"0f3333443f1fea36c7815601af61cb3184842c06116e0426d81436fc23479cb8","impliedFormat":1},{"version":"421d3e78ed21efcbfa86a18e08d5b6b9df5db65340ef618a9948c1f240859cc1","impliedFormat":1},{"version":"b1225bc77c7d2bc3bad15174c4fd1268896a90b9ab3b306c99b1ade2f88cddcc","impliedFormat":1},{"version":"ca46e113e95e7c8d2c659d538b25423eac6348c96e94af3b39382330b3929f2a","impliedFormat":1},{"version":"03ca07dbb8387537b242b3add5deed42c5143b90b5a10a3c51f7135ca645bd63","impliedFormat":1},{"version":"ca936efd902039fda8a9fc3c7e7287801e7e3d5f58dd16bf11523dc848a247d7","impliedFormat":1},{"version":"2c7b3bfa8b39ed4d712a31e24a8f4526b82eeca82abb3828f0e191541f17004c","impliedFormat":1},{"version":"5ffaae8742b1abbe41361441aa9b55a4e42aee109f374f9c710a66835f14a198","impliedFormat":1},{"version":"ecab0f43679211efc9284507075e0b109c5ad024e49b190bb28da4adfe791e49","impliedFormat":1},{"version":"967109d5bc55face1aaa67278fc762ac69c02f57277ab12e5d16b65b9023b04f","impliedFormat":1},{"version":"36d25571c5c35f4ce81c9dcae2bdd6bbaf12e8348d57f75b3ef4e0a92175cd41","impliedFormat":1},{"version":"fde94639a29e3d16b84ea50d5956ee76263f838fa70fe793c04d9fce2e7c85b9","impliedFormat":1},{"version":"5f4c286fea005e44653b760ebfc81162f64aabc3d1712fd4a8b70a982b8a5458","impliedFormat":1},{"version":"e02dabe428d1ffd638eccf04a6b5fba7b2e8fccee984e4ef2437afc4e26f91c2","impliedFormat":1},{"version":"60dc0180bd223aa476f2e6329dca42fb0acaa71b744a39eb3f487ab0f3472e1c","impliedFormat":1},{"version":"b6fdbecf77dcbf1b010e890d1a8d8bfa472aa9396e6c559e0fceee05a3ef572f","impliedFormat":1},{"version":"e1bf9d73576e77e3ae62695273909089dbbb9c44fb52a1471df39262fe518344","impliedFormat":1},{"version":"d2d57df33a7a5ea6db5f393df864e3f8f8b8ee1dfdfe58180fb5d534d617470f","impliedFormat":1},{"version":"fdcd692f0ac95e72a0c6d1e454e13d42349086649828386fe7368ac08c989288","impliedFormat":1},{"version":"5583eef89a59daa4f62dd00179a3aeff4e024db82e1deff2c7ec3014162ea9a2","impliedFormat":1},{"version":"b0641d9de5eaa90bff6645d754517260c3536c925b71c15cb0f189b68c5386b4","impliedFormat":1},{"version":"9899a0434bd02881d19cb08b98ddd0432eb0dafbfe5566fa4226bdd15624b56f","impliedFormat":1},{"version":"4496c81ce10a0a9a2b9cb1dd0e0ddf63169404a3fb116eb65c52b4892a2c91b9","impliedFormat":1},{"version":"ecdb4312822f5595349ec7696136e92ecc7de4c42f1ea61da947807e3f11ebfc","impliedFormat":1},{"version":"42edbfb7198317dd7359ce3e52598815b5dc5ca38af5678be15a4086cccd7744","impliedFormat":1},{"version":"8105321e64143a22ed5411258894fb0ba3ec53816dad6be213571d974542feeb","impliedFormat":1},{"version":"d1b34c4f74d3da4bdf5b29bb930850f79fd5a871f498adafb19691e001c4ea42","impliedFormat":1},{"version":"9a1caf586e868bf47784176a62bf71d4c469ca24734365629d3198ebc80858d7","impliedFormat":1},{"version":"35a443f013255b33d6b5004d6d7e500548536697d3b6ba1937fd788ca4d5d37b","impliedFormat":1},{"version":"b591c69f31d30e46bc0a2b383b713f4b10e63e833ec42ee352531bbad2aadfaa","impliedFormat":1},{"version":"31e686a96831365667cbd0d56e771b19707bad21247d6759f931e43e8d2c797d","impliedFormat":1},{"version":"dfc3b8616bece248bf6cd991987f723f19c0b9484416835a67a8c5055c5960e0","impliedFormat":1},{"version":"03b64b13ecf5eb4e015a48a01bc1e70858565ec105a5639cfb2a9b63db59b8b1","impliedFormat":1},{"version":"c56cc01d91799d39a8c2d61422f4d5df44fab62c584d86c8a4469a5c0675f7c6","impliedFormat":1},{"version":"5205951312e055bc551ed816cbb07e869793e97498ef0f2277f83f1b13e50e03","impliedFormat":1},{"version":"50b1aeef3e7863719038560b323119f9a21f5bd075bb97efe03ee7dec23e9f1b","impliedFormat":1},{"version":"0cc13970d688626da6dce92ae5d32edd7f9eabb926bb336668e5095031833b7c","impliedFormat":1},{"version":"3be9c1368c34165ba541027585f438ed3e12ddc51cdc49af018e4646d175e6a1","impliedFormat":1},{"version":"7d617141eb3f89973b1e58202cdc4ba746ea086ef35cdedf78fb04a8bb9b8236","impliedFormat":1},{"version":"ea6d9d94247fd6d72d146467070fe7fc45e4af6e0f6e046b54438fd20d3bd6a2","impliedFormat":1},{"version":"d584e4046091cdef5df0cb4de600d46ba83ff3a683c64c4d30f5c5a91edc6c6c","impliedFormat":1},{"version":"ce68902c1612e8662a8edde462dff6ee32877ed035f89c2d5e79f8072f96aed0","impliedFormat":1},{"version":"180aea5a3582c0fec46dde39f546d3c68f5ebb8e9ec19da767c13e1f3b83f76d","signature":"b9e4058e59e0c53f6055e2161b42cdb02bdd09eee9f5539e4ff4481a3c24d4fb"},{"version":"40ec7db12ef36c35f631997958d81c53e4c3ca110ed39dbfc3d93790e68655c6","signature":"be480288912b08eee9aba527d45f2e193a0ca9df9e3a827ca4731339ff04fed4"},{"version":"7a43318306a9d62a259c7bf238758099d1c4bf58b5ea2deb52cbabae5c530173","signature":"c57f33aacdc3e9101810cd3c04af5f9a267e17a720516305762a5c3642f8ee90"},{"version":"3eb28a7a41ea267c93207a38bc1ecd67178751efad30216e01097885e463ca6c","signature":"4fea77702104ec7e97517e1daec97342a11e598f2718382c9caff0de29d27912"},"071719471bc28d08b4ac26105a80df795c6b320250a81879677ae29addc39568",{"version":"ab85ec91e1e3e0a474f4bfc7e02cbdb128db6ef378464f5505aa056e3e29b2de","signature":"1884662d9a93e8460cdc886323b31f220672cacd54a46f013f356a70502a23f4"},{"version":"5ac6aa21c4e1e07caeb04e667c1446bb9e622529313d6505046f4fed49601e9a","signature":"80d4a4a32e4d3198db912b5b71c6a5fb53cfa341516d0963a153f26110f2e718"},"54ce2d2f007b8bba8a0d11d00899ada3d6f16d2a99ed85f115072b5fe4839180","d5229053fb2b77c6ccbf2d3bed24fe1702f3eed51b3cd0aad86a31600aa3a591",{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"2b37ba54ec067598bf912d56fcb81f6d8ad86a045c757e79440bdef97b52fe1b","impliedFormat":99},{"version":"1bc9dd465634109668661f998485a32da369755d9f32b5a55ed64a525566c94b","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"9d62e577adb05f5aafed137e747b3a1b26f8dce7b20f350d22f6fb3255a3c0ed","impliedFormat":99},{"version":"7ed92bcef308af6e3925b3b61c83ad6157a03ff15c7412cf325f24042fe5d363","impliedFormat":99},{"version":"3da9062d0c762c002b7ab88187d72e1978c0224db61832221edc8f4eb0b54414","impliedFormat":99},{"version":"84dbf6af43b0b5ad42c01e332fddf4c690038248140d7c4ccb74a424e9226d4d","impliedFormat":99},{"version":"00884fc0ea3731a9ffecffcde8b32e181b20e1039977a8ae93ae5bce3ab3d245","impliedFormat":99},{"version":"0bd8b6493d9bf244afe133ccb52d32d293de8d08d15437cca2089beed5f5a6b5","impliedFormat":99},{"version":"7fc3099c95752c6e7b0ea215915464c7203e835fcd6878210f2ce4f0dcbbfe67","impliedFormat":99},{"version":"83b5499dbc74ee1add93aef162f7d44b769dcef3a74afb5f80c70f9a5ce77cc0","impliedFormat":99},{"version":"8bf8b772b38fc4da471248320f49a2219c363a9669938c720e0e0a5a2531eabf","impliedFormat":99},{"version":"7da6e8c98eacf084c961e039255f7ebb9d97a43377e7eee2695cb77fec640c66","impliedFormat":99},{"version":"0b5b064c5145a48cd3e2a5d9528c63f49bac55aa4bc5f5b4e68a160066401375","impliedFormat":99},{"version":"702ff40d28906c05d9d60b23e646c2577ad1cc7cd177d5c0791255a2eab13c07","impliedFormat":99},{"version":"49ff0f30d6e757d865ae0b422103f42737234e624815eee2b7f523240aa0c8f8","impliedFormat":99},{"version":"0389aacf0ffd49a877a46814a21a4770f33fc33e99951a1584de866c8e971993","impliedFormat":99},{"version":"5cb7a51cf151c1056b61f078cf80b811e19787d1f29a33a2a6e4bf00334bbc10","impliedFormat":99},{"version":"215aa8915d707f97ad511b7abbf7eda51d3a7048e9a656955cf0dda767ae7db0","impliedFormat":99},{"version":"0d689a717fbef83da07ab4de33f83db5cbcec9bc4e3b04edb106c538a50a0210","impliedFormat":99},{"version":"d00bc73e8d1f4137f2f6238bb3aa2bbdad8573658cc95920e2cdfa7ad491a8d8","impliedFormat":99},{"version":"e3667aa9f5245d1a99fb4a2a1ac48daf1429040c29cc0d262e3843f9ae3b9d65","impliedFormat":99},{"version":"08c0f3222b50ec2b534be1a59392660102549129246425d33ec43f35aa051dc6","impliedFormat":99},{"version":"612fb780f312e6bb3c40f3cb2b827ea7455b922198f651c799d844fdd44cf2e9","impliedFormat":99},{"version":"bcd98e8f44bc76e4fcb41e4b1a8bab648161a942653a3d1f261775a891d258de","impliedFormat":99},{"version":"5abaa19aa91bb4f63ea58154ada5d021e33b1f39aa026ca56eb95f13b12c497a","impliedFormat":99},{"version":"356a18b0c50f297fee148f4a2c64b0affd352cbd6f21c7b6bfa569d30622c693","impliedFormat":99},{"version":"5876027679fd5257b92eb55d62efee634358012b9f25c5711ad02b918e52c837","impliedFormat":99},{"version":"f5622423ee5642dcf2b92d71b37967b458e8df3cf90b468675ff9fddaa532a0f","impliedFormat":99},{"version":"70265bc75baf24ec0d61f12517b91ea711732b9c349fceef71a446c4ff4a247a","impliedFormat":99},{"version":"41a4b2454b2d3a13b4fc4ec57d6a0a639127369f87da8f28037943019705d619","impliedFormat":99},{"version":"e9b82ac7186490d18dffaafda695f5d975dfee549096c0bf883387a8b6c3ab5a","impliedFormat":99},{"version":"eed9b5f5a6998abe0b408db4b8847a46eb401c9924ddc5b24b1cede3ebf4ee8c","impliedFormat":99},{"version":"af85fde8986fdad68e96e871ae2d5278adaf2922d9879043b9313b18fae920b1","impliedFormat":99},{"version":"8a1f5d2f7cf4bf851cc9baae82056c3316d3c6d29561df28aff525556095554b","impliedFormat":99},{"version":"a5dbd4c9941b614526619bad31047ddd5f504ec4cdad88d6117b549faef34dd3","impliedFormat":99},{"version":"e87873f06fa094e76ac439c7756b264f3c76a41deb8bc7d39c1d30e0f03ef547","impliedFormat":99},{"version":"488861dc4f870c77c2f2f72c1f27a63fa2e81106f308e3fc345581938928f925","impliedFormat":99},{"version":"eff73acfacda1d3e62bb3cb5bc7200bb0257ea0c8857ce45b3fee5bfec38ad12","impliedFormat":99},{"version":"aff4ac6e11917a051b91edbb9a18735fe56bcfd8b1802ea9dbfb394ad8f6ce8e","impliedFormat":99},{"version":"1f68aed2648740ac69c6634c112fcaae4252fbae11379d6eabee09c0fbf00286","impliedFormat":99},{"version":"5e7c2eff249b4a86fb31e6b15e4353c3ddd5c8aefc253f4c3e4d9caeb4a739d4","impliedFormat":99},{"version":"14c8d1819e24a0ccb0aa64f85c61a6436c403eaf44c0e733cdaf1780fed5ec9f","impliedFormat":99},{"version":"011423c04bfafb915ceb4faec12ea882d60acbe482780a667fa5095796c320f8","impliedFormat":99},{"version":"f8eb2909590ec619643841ead2fc4b4b183fbd859848ef051295d35fef9d8469","impliedFormat":99},{"version":"fe784567dd721417e2c4c7c1d7306f4b8611a4f232f5b7ce734382cf34b417d2","impliedFormat":99},{"version":"45d1e8fb4fd3e265b15f5a77866a8e21870eae4c69c473c33289a4b971e93704","impliedFormat":99},{"version":"cd40919f70c875ca07ecc5431cc740e366c008bcbe08ba14b8c78353fb4680df","impliedFormat":99},{"version":"ddfd9196f1f83997873bbe958ce99123f11b062f8309fc09d9c9667b2c284391","impliedFormat":99},{"version":"2999ba314a310f6a333199848166d008d088c6e36d090cbdcc69db67d8ae3154","impliedFormat":99},{"version":"62c1e573cd595d3204dfc02b96eba623020b181d2aa3ce6a33e030bc83bebb41","impliedFormat":99},{"version":"ca1616999d6ded0160fea978088a57df492b6c3f8c457a5879837a7e68d69033","impliedFormat":99},{"version":"835e3d95251bbc48918bb874768c13b8986b87ea60471ad8eceb6e38ddd8845e","impliedFormat":99},{"version":"de54e18f04dbcc892a4b4241b9e4c233cfce9be02ac5f43a631bbc25f479cd84","impliedFormat":99},{"version":"453fb9934e71eb8b52347e581b36c01d7751121a75a5cd1a96e3237e3fd9fc7e","impliedFormat":99},{"version":"bc1a1d0eba489e3eb5c2a4aa8cd986c700692b07a76a60b73a3c31e52c7ef983","impliedFormat":99},{"version":"4098e612efd242b5e203c5c0b9afbf7473209905ab2830598be5c7b3942643d0","impliedFormat":99},{"version":"28410cfb9a798bd7d0327fbf0afd4c4038799b1d6a3f86116dc972e31156b6d2","impliedFormat":99},{"version":"514ae9be6724e2164eb38f2a903ef56cf1d0e6ddb62d0d40f155f32d1317c116","impliedFormat":99},{"version":"970e5e94a9071fd5b5c41e2710c0ef7d73e7f7732911681592669e3f7bd06308","impliedFormat":99},{"version":"491fb8b0e0aef777cec1339cb8f5a1a599ed4973ee22a2f02812dd0f48bd78c1","impliedFormat":99},{"version":"6acf0b3018881977d2cfe4382ac3e3db7e103904c4b634be908f1ade06eb302d","impliedFormat":99},{"version":"2dbb2e03b4b7f6524ad5683e7b5aa2e6aef9c83cab1678afd8467fde6d5a3a92","impliedFormat":99},{"version":"135b12824cd5e495ea0a8f7e29aba52e1adb4581bb1e279fb179304ba60c0a44","impliedFormat":99},{"version":"e4c784392051f4bbb80304d3a909da18c98bc58b093456a09b3e3a1b7b10937f","impliedFormat":99},{"version":"2e87c3480512f057f2e7f44f6498b7e3677196e84e0884618fc9e8b6d6228bed","impliedFormat":99},{"version":"66984309d771b6b085e3369227077da237b40e798570f0a2ddbfea383db39812","impliedFormat":99},{"version":"e41be8943835ad083a4f8a558bd2a89b7fe39619ed99f1880187c75e231d033e","impliedFormat":99},{"version":"260558fff7344e4985cfc78472ae58cbc2487e406d23c1ddaf4d484618ce4cfd","impliedFormat":99},{"version":"413d50bc66826f899c842524e5f50f42d45c8cb3b26fd478a62f26ac8da3d90e","impliedFormat":99},{"version":"d9083e10a491b6f8291c7265555ba0e9d599d1f76282812c399ab7639019f365","impliedFormat":99},{"version":"09de774ebab62974edad71cb3c7c6fa786a3fda2644e6473392bd4b600a9c79c","impliedFormat":99},{"version":"e8bcc823792be321f581fcdd8d0f2639d417894e67604d884c38b699284a1a2a","impliedFormat":99},{"version":"7c99839c518dcf5ab8a741a97c190f0703c0a71e30c6d44f0b7921b0deec9f67","impliedFormat":99},{"version":"44c14e4da99cd71f9fe4e415756585cec74b9e7dc47478a837d5bedfb7db1e04","impliedFormat":99},{"version":"1f46ee2b76d9ae1159deb43d14279d04bcebcb9b75de4012b14b1f7486e36f82","impliedFormat":99},{"version":"2838028b54b421306639f4419606306b940a5c5fcc5bc485954cbb0ab84d90f4","impliedFormat":99},{"version":"7116e0399952e03afe9749a77ceaca29b0e1950989375066a9ddc9cb0b7dd252","impliedFormat":99},"efcf1263f9589732b4c5bf3914514d58793de6e3a8af41f25fdb2778edbfb703",{"version":"9f011349595f55370d4d9cebc7ff95bcdae821d65d2915f3c299d724c8f53391","signature":"bf270f0d8374b44320c2dd0b9528a9d0790c4f80506240d01ed099a8fbb7ed4e"},"83909bce15194514f7211552d1d728b5fb3b2ba6c3257298312fdf46f536a14a","31d566945b1e7b9e05a427f1e31f9e1eba257012d817d437403713012570dd6c","7c040d7506dbf4aa7852c87ad9992eead09204cce0aadcfa614f341b97171634",{"version":"a7dcb9628791a58ca5438d634b48998583f6a6e133dfc26632e8ed7f953a510d","signature":"a679b2a5e8fb533ef7061a21c5d2b57f0fa4aab7c8c23f57e7def5d9a3581eb8"},{"version":"b81a2082c5907ac269785bbeb636a6f196547d1cf3b521194f49b70adcdcf5f9","signature":"410809459e06fd859c1040c277f8e566e5c7beef8c41bc3aeb808657d5705b1a"},{"version":"baf4506ad2dd8bc9ee391ce4d7d5947defb63b54af8e89025b31b3b3d08377d6","signature":"f367ebfaa5a834d376576092753f25a95fcffdbc0847d88501bbd49a8cde3838"},{"version":"22e8104174de9e693d63ea889be22da4ccc5e66aaa681db9beb9d825279188b5","signature":"6d805553211a247299904d8c7f95cdbb56cd07467f0db9846dc717e4ba55b913"},"c3085aa7c267e4a12c37d1330a7a4a29c38f8626db50456302ec5a79c215f656","400e5d3eedaf3a266823f089ddf6a9602908c4589a49e83241b56ee82bacba8b","0abb1cfa97658d004692c079d2e4dc3ee7743029bf38f2a87243b1be19fb5653","ab3ed9e9865e539d39bada59df90b1b39e97e24c748747122383fdabc0a6581e","2d644318e8bcc5325a8d794921082acd971dd11fe2871f3d5318820fc8091adc",{"version":"59c0463d38cef139f8cc967d4d140c39ef012e265ade07c9b70bacd2b8ff8e6a","signature":"89b0f68f8f0b901f9dfff2b9e7255520283a783d6af7f2bc2953d771232317a2"},"cad16fb4c42deb4cfa689a09c012456f97266f186554d1b42962c27d987536ab","83520fcfa6b8e78fa5fc0d18376f48d03d64048534fc6f7c81e33a8732457fcf",{"version":"d0a99a1742c075a5b60520aa49b51433314a43c46ff63898e3f8c3189178de8e","signature":"89b0f68f8f0b901f9dfff2b9e7255520283a783d6af7f2bc2953d771232317a2"},"8c77b83d6e380cd151c1f66d8ea034092e6747a5f5ecebf113555f81430ac286","d568f252e2d3886ee75f73a7b8e9dddc2dfa173638d13f7c44a88a750ac703b6","de8fe752cb5954f6c99acb19eb64084378b9532bc6fd4cd92dd94ff93a5feeaf","4b5af5bf9948475247385ece37424caaf053cd6ef184c03429022a52b35a7e9a","c85961d64506c7c09f703df49a089caffc19c2f8235f6e0eb303ac03af50467a","406c09ca64c7243df96f22338ad2c83625eb557afcaed6eed7423e1aaf2158ab","d79be59f2572ebc03369f1f87419139e97286a1380ec9cf0b442ea7d6d35dc02","2cb0ee75cd57bfb25a0172cade7f047b1c5938d3b7bf939065bb111b75813ae9","0913a38c6d5edd277c0676c79809ad9db97f73b347c75d4fc32e957e3803313b","ac6afe311396eb3f77e581344afc8c8546cc7d4cb64ccab7035ed90070a0195d","3c4205b49f12e74ec5250ba9c0fae0acbdb0671c7adcbf42b94f8e53f698e06e",{"version":"b1538a92b9bae8d230267210c5db38c2eb6bdb352128a3ce3aa8c6acf9fc9622","impliedFormat":1},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"ff09b6fbdcf74d8af4e131b8866925c5e18d225540b9b19ce9485ca93e574d84","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"56208c500dcb5f42be7e18e8cb578f257a1a89b94b3280c506818fed06391805","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"1f366bde16e0513fa7b64f87f86689c4d36efd85afce7eb24753e9c99b91c319","impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"5d08a179b846f5ee674624b349ebebe2121c455e3a265dc93da4e8d9e89722b4","impliedFormat":1},{"version":"7fa8d75d229eeaee235a801758d9c694e94405013fe77d5d1dd8e3201fc414f1","impliedFormat":1},{"version":"d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","impliedFormat":1},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"6823ccc7b5b77bbf898d878dbcad18aa45e0fa96bdd0abd0de98d514845d9ed9","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},{"version":"742f21debb3937c3839a63245648238555bdab1ea095d43fd10c88a64029bf76","impliedFormat":1},{"version":"0944f27ebff4b20646b71e7e3faaaae50a6debd40bc63e225de1320dd15c5795","impliedFormat":1},{"version":"8a7219b41d3c1c93f3f3b779146f313efade2404eeece88dcd366df7e2364977","impliedFormat":1},{"version":"a109c4289d59d9019cfe1eeab506fe57817ee549499b02a83a7e9d3bdf662d63","impliedFormat":1},{"version":"868c78a84ad3530fc1b6e03da4611405da111bbfb0f1480abe45e801cde0b995","impliedFormat":1},{"version":"a3e12bcf2d196656ccd5b5d5344182967a2bdde0f63c9b955c36169ed02c3555","impliedFormat":1},{"version":"8f337cd0829439b8eb60ef076f30c0cbf7e2b2490ff4b048cfb98bedeb0b52c6","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1}],"root":[454,455,536,[682,706],[710,712],[722,727],729,[856,859],[1007,1015],[1103,1131]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":1,"module":99,"skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[1115,1],[1116,2],[1117,3],[1118,4],[1121,5],[1120,6],[1119,7],[1122,8],[1123,9],[1124,10],[1125,11],[1126,12],[1127,13],[1128,14],[1129,15],[1130,16],[1113,17],[1114,18],[1131,19],[1112,20],[683,21],[684,22],[685,23],[687,22],[686,22],[688,22],[691,22],[690,22],[689,24],[693,25],[694,25],[695,26],[696,26],[697,25],[698,27],[699,25],[701,26],[700,26],[702,26],[703,25],[705,28],[706,25],[710,29],[729,30],[856,31],[1012,32],[857,33],[1013,34],[711,35],[858,36],[859,37],[1010,38],[1014,35],[1007,39],[1015,30],[1104,40],[1105,35],[1009,41],[1106,35],[1008,30],[1107,30],[1103,42],[1108,30],[1109,30],[1110,43],[712,30],[727,44],[1011,45],[1111,46],[682,47],[723,48],[722,35],[724,49],[704,35],[726,50],[725,35],[692,51],[454,52],[455,44],[948,53],[950,54],[949,35],[951,55],[952,56],[947,57],[982,58],[983,59],[981,60],[985,61],[988,62],[984,63],[986,64],[987,64],[989,65],[990,66],[995,67],[992,68],[991,30],[994,69],[993,70],[999,71],[998,72],[996,73],[997,63],[1000,74],[1001,75],[1005,76],[1003,77],[1002,78],[1004,79],[940,80],[922,63],[923,81],[925,82],[939,81],[926,83],[928,63],[927,35],[929,63],[930,84],[937,63],[931,35],[932,35],[933,35],[934,63],[935,85],[936,86],[924,65],[938,87],[1006,88],[979,89],[980,90],[978,91],[916,92],[914,93],[915,94],[913,95],[912,96],[909,97],[908,98],[902,96],[904,99],[903,100],[911,101],[910,98],[905,102],[906,103],[907,103],[943,83],[941,83],[944,104],[946,105],[945,106],[942,107],[893,85],[894,35],[917,108],[921,109],[918,35],[919,110],[920,35],[896,111],[897,111],[900,112],[901,113],[899,111],[898,112],[895,81],[953,63],[954,63],[955,63],[956,114],[977,115],[965,116],[964,35],[957,117],[960,63],[958,63],[961,63],[963,118],[962,119],[959,63],[973,35],[966,35],[967,35],[968,63],[969,63],[970,35],[971,63],[972,35],[976,120],[974,35],[975,63],[870,35],[872,121],[873,122],[871,35],[874,35],[875,35],[878,123],[876,35],[877,35],[879,35],[880,35],[881,35],[882,124],[883,35],[884,125],[869,126],[860,35],[861,35],[863,35],[862,30],[864,30],[865,35],[866,30],[867,35],[868,35],[892,127],[890,128],[885,35],[886,35],[887,35],[888,35],[889,35],[891,35],[742,129],[741,35],[738,35],[469,35],[472,130],[1132,35],[1133,35],[1134,35],[1135,131],[751,35],[1137,132],[752,133],[1136,35],[1138,35],[1140,134],[470,35],[1141,135],[477,35],[1017,136],[1027,136],[1139,35],[1016,35],[1142,35],[473,137],[519,138],[520,139],[518,35],[456,35],[466,140],[462,141],[465,142],[528,143],[509,35],[511,144],[531,144],[510,145],[467,35],[464,146],[457,147],[524,148],[459,149],[461,150],[523,35],[521,149],[460,35],[463,147],[458,35],[471,35],[850,35],[482,35],[718,151],[720,152],[719,153],[717,154],[716,35],[782,35],[1096,35],[1070,155],[1069,156],[1068,157],[1095,158],[1094,159],[1098,160],[1097,161],[1100,162],[1099,163],[1055,164],[1029,165],[1030,166],[1031,166],[1032,166],[1033,166],[1034,166],[1035,166],[1036,166],[1037,166],[1038,166],[1039,166],[1053,167],[1040,166],[1041,166],[1042,166],[1043,166],[1044,166],[1045,166],[1046,166],[1047,166],[1049,166],[1050,166],[1048,166],[1051,166],[1052,166],[1054,166],[1028,168],[1093,169],[1073,170],[1074,170],[1075,170],[1076,170],[1077,170],[1078,170],[1079,171],[1081,170],[1080,170],[1092,172],[1082,170],[1084,170],[1083,170],[1086,170],[1085,170],[1087,170],[1088,170],[1089,170],[1090,170],[1091,170],[1072,170],[1071,173],[1063,174],[1061,175],[1062,175],[1066,176],[1064,175],[1065,175],[1067,175],[1060,35],[500,177],[498,178],[499,179],[487,180],[488,178],[495,181],[486,182],[491,183],[501,35],[492,184],[497,185],[503,186],[502,187],[485,188],[493,189],[494,190],[489,191],[496,177],[490,192],[1059,193],[1058,194],[768,35],[766,195],[770,196],[830,197],[825,198],[735,199],[801,200],[796,201],[846,202],[733,203],[800,204],[791,205],[829,206],[826,207],[785,208],[795,209],[831,210],[832,210],[833,211],[841,212],[835,212],[843,212],[847,212],[834,212],[836,212],[839,212],[842,212],[838,213],[840,212],[844,214],[837,215],[745,216],[812,30],[809,217],[813,30],[756,212],[746,212],[805,218],[734,219],[755,220],[759,221],[811,212],[731,30],[810,222],[808,30],[807,212],[747,30],[854,223],[853,224],[855,225],[820,35],[818,35],[822,226],[821,227],[817,228],[819,229],[823,230],[824,231],[816,30],[754,232],[730,212],[815,212],[769,233],[814,30],[794,232],[845,212],[787,234],[743,235],[748,236],[797,237],[778,238],[781,234],[760,239],[780,240],[789,241],[790,242],[786,243],[788,244],[765,245],[804,246],[802,247],[803,248],[799,249],[779,250],[767,251],[772,252],[749,253],[776,254],[777,255],[773,256],[750,257],[761,258],[798,242],[744,259],[852,35],[771,260],[764,261],[792,35],[827,35],[848,35],[783,35],[757,35],[784,35],[736,262],[851,263],[763,264],[793,265],[762,266],[828,267],[774,35],[806,268],[758,35],[775,35],[849,35],[732,30],[740,269],[737,35],[1102,270],[1101,271],[1057,272],[1056,273],[739,35],[479,274],[478,135],[484,35],[529,35],[468,35],[1024,275],[1023,35],[1026,276],[1022,35],[1025,277],[1019,278],[1018,136],[1021,279],[1020,280],[753,281],[475,282],[508,283],[481,284],[476,282],[474,35],[480,285],[506,35],[504,35],[505,35],[483,35],[507,286],[526,287],[535,288],[525,289],[530,290],[517,291],[514,292],[522,35],[515,141],[715,293],[713,294],[533,295],[532,296],[513,297],[714,298],[512,35],[516,299],[534,300],[721,301],[527,35],[536,302],[632,303],[631,304],[537,35],[728,305],[398,35],[641,306],[644,307],[650,308],[653,309],[674,310],[652,311],[633,35],[634,312],[635,313],[638,35],[636,35],[637,35],[675,314],[640,306],[639,35],[676,315],[643,307],[642,35],[680,316],[677,317],[647,318],[649,319],[646,320],[648,321],[645,318],[678,322],[651,306],[679,323],[654,324],[673,325],[670,326],[672,327],[657,328],[664,329],[666,330],[668,331],[667,332],[659,333],[656,326],[660,35],[671,334],[661,335],[658,35],[669,35],[655,35],[662,336],[663,35],[665,337],[538,35],[1150,338],[1149,339],[1146,340],[1151,341],[1147,35],[1152,35],[1154,342],[1155,343],[1153,35],[115,344],[116,344],[117,345],[76,346],[118,347],[119,348],[120,349],[71,35],[74,350],[72,35],[73,35],[121,351],[122,352],[123,353],[124,354],[125,355],[126,356],[127,356],[129,357],[128,358],[130,359],[131,360],[132,361],[114,362],[75,35],[133,363],[134,364],[135,365],[168,366],[136,367],[137,368],[138,369],[139,370],[140,371],[141,372],[142,373],[143,374],[144,375],[145,376],[146,376],[147,377],[148,35],[149,35],[150,378],[152,379],[151,380],[153,381],[154,382],[155,383],[156,384],[157,385],[158,386],[159,387],[160,388],[161,389],[162,390],[163,391],[164,392],[165,393],[166,394],[167,395],[1157,396],[1158,35],[1144,35],[1145,35],[172,39],[173,397],[171,30],[169,398],[170,399],[60,35],[62,400],[245,30],[1156,35],[1143,401],[1148,402],[1159,403],[681,404],[708,405],[709,406],[61,35],[630,35],[69,407],[401,408],[406,20],[408,409],[194,410],[349,411],[376,412],[205,35],[186,35],[192,35],[338,413],[273,414],[193,35],[339,415],[378,416],[379,417],[326,418],[335,419],[243,420],[343,421],[344,422],[342,423],[341,35],[340,424],[377,425],[195,426],[280,35],[281,427],[190,35],[206,428],[196,429],[218,428],[249,428],[179,428],[348,430],[358,35],[185,35],[304,431],[305,432],[299,433],[429,35],[307,35],[308,433],[300,434],[320,30],[434,435],[433,436],[428,35],[246,437],[381,35],[334,438],[333,35],[427,439],[301,30],[221,440],[219,441],[430,35],[432,442],[431,35],[220,443],[422,444],[425,445],[230,446],[229,447],[228,448],[437,30],[227,449],[268,35],[440,35],[443,35],[442,30],[444,450],[175,35],[345,451],[346,452],[347,453],[370,35],[184,454],[174,35],[177,455],[319,456],[318,457],[309,35],[310,35],[317,35],[312,35],[315,458],[311,35],[313,459],[316,460],[314,459],[191,35],[182,35],[183,428],[400,461],[409,462],[413,463],[352,464],[351,35],[264,35],[445,465],[361,466],[302,467],[303,468],[296,469],[286,35],[294,35],[295,470],[324,471],[287,472],[325,473],[322,474],[321,35],[323,35],[277,475],[353,476],[354,477],[288,478],[292,479],[284,480],[330,481],[360,482],[363,483],[266,484],[180,485],[359,486],[176,412],[382,35],[383,487],[394,488],[380,35],[393,489],[70,35],[368,490],[252,35],[282,491],[364,35],[181,35],[213,35],[392,492],[189,35],[255,493],[291,494],[350,495],[290,35],[391,35],[385,496],[386,497],[187,35],[388,498],[389,499],[371,35],[390,485],[211,500],[369,501],[395,502],[198,35],[201,35],[199,35],[203,35],[200,35],[202,35],[204,503],[197,35],[258,504],[257,35],[263,505],[259,506],[262,507],[261,507],[265,505],[260,506],[217,508],[247,509],[357,510],[447,35],[417,511],[419,512],[289,35],[418,513],[355,476],[446,514],[306,476],[188,35],[248,515],[214,516],[215,517],[216,518],[212,519],[329,519],[224,519],[250,520],[225,520],[208,521],[207,35],[256,522],[254,523],[253,524],[251,525],[356,526],[328,527],[327,528],[298,529],[337,530],[336,531],[332,532],[242,533],[244,534],[241,535],[209,536],[276,35],[405,35],[275,537],[331,35],[267,538],[285,451],[283,539],[269,540],[271,541],[441,35],[270,542],[272,542],[403,35],[402,35],[404,35],[439,35],[274,543],[239,30],[68,35],[222,544],[231,35],[279,545],[210,35],[411,30],[421,546],[238,30],[415,433],[237,547],[397,548],[236,546],[178,35],[423,549],[234,30],[235,30],[226,35],[278,35],[233,550],[232,551],[223,552],[293,375],[362,375],[387,35],[366,553],[365,35],[407,35],[240,30],[297,30],[399,554],[63,30],[66,555],[67,556],[64,30],[65,35],[384,557],[375,558],[374,35],[373,559],[372,35],[396,560],[410,561],[412,562],[414,563],[416,564],[420,565],[453,566],[424,566],[452,567],[426,568],[435,569],[436,570],[438,571],[448,572],[451,454],[450,35],[449,573],[707,574],[367,575],[58,35],[59,35],[10,35],[11,35],[13,35],[12,35],[2,35],[14,35],[15,35],[16,35],[17,35],[18,35],[19,35],[20,35],[21,35],[3,35],[22,35],[23,35],[4,35],[24,35],[28,35],[25,35],[26,35],[27,35],[29,35],[30,35],[31,35],[5,35],[32,35],[33,35],[34,35],[35,35],[6,35],[39,35],[36,35],[37,35],[38,35],[40,35],[7,35],[41,35],[46,35],[47,35],[42,35],[43,35],[44,35],[45,35],[8,35],[51,35],[48,35],[49,35],[50,35],[52,35],[9,35],[53,35],[54,35],[55,35],[57,35],[56,35],[1,35],[92,576],[102,577],[91,576],[112,578],[83,579],[82,580],[111,573],[105,581],[110,582],[85,583],[99,584],[84,585],[108,586],[80,587],[79,573],[109,588],[81,589],[86,590],[87,35],[90,590],[77,35],[113,591],[103,592],[94,593],[95,594],[97,595],[93,596],[96,597],[106,573],[88,598],[89,599],[98,600],[78,601],[101,592],[100,590],[104,35],[107,602],[543,603],[550,604],[545,35],[546,35],[544,605],[547,606],[539,35],[540,35],[551,607],[542,608],[548,35],[549,609],[541,610],[622,611],[626,612],[623,612],[619,611],[627,613],[624,614],[628,615],[625,612],[620,616],[621,617],[615,618],[559,619],[561,620],[614,35],[560,621],[618,622],[617,623],[616,624],[552,35],[562,619],[563,35],[554,625],[558,626],[553,35],[555,627],[556,628],[557,35],[629,629],[564,630],[565,630],[566,630],[567,630],[568,630],[569,630],[570,630],[571,630],[572,630],[573,630],[574,630],[575,630],[576,630],[578,630],[577,630],[579,630],[580,630],[581,630],[582,630],[613,631],[583,630],[584,630],[585,630],[586,630],[587,630],[588,630],[589,630],[590,630],[591,630],[592,630],[593,630],[594,630],[595,630],[597,630],[596,630],[598,630],[599,630],[600,630],[601,630],[602,630],[603,630],[604,630],[605,630],[606,630],[607,630],[608,630],[609,630],[612,630],[610,630],[611,630]],"semanticDiagnosticsPerFile":[[706,[{"start":2028,"length":8,"code":2550,"category":1,"messageText":"Property 'toSorted' does not exist on type 'Dirent[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2023' or later."},{"start":2038,"length":1,"messageText":"Parameter 'a' implicitly has an 'any' type.","category":1,"code":7006},{"start":2041,"length":1,"messageText":"Parameter 'b' implicitly has an 'any' type.","category":1,"code":7006}]],[1015,[{"start":8438,"length":8,"code":2550,"category":1,"messageText":"Property 'toSorted' does not exist on type 'Record[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2023' or later."},{"start":8448,"length":1,"messageText":"Parameter 'a' implicitly has an 'any' type.","category":1,"code":7006},{"start":8451,"length":1,"messageText":"Parameter 'b' implicitly has an 'any' type.","category":1,"code":7006}]],[1104,[{"start":2680,"length":6,"code":2322,"category":1,"messageText":{"messageText":"Type 'import(\"/Users/kumareth/Documents/projects/openclaw/apps/web/lib/report-blocks\").ReportConfig' is not assignable to type 'import(\"/Users/kumareth/Documents/projects/openclaw/apps/web/app/components/charts/types\").ReportConfig'.","category":1,"code":2322,"next":[{"messageText":"Types of property 'panels' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type '{ id: string; title: string; type: string; sql: string; mapping: Record; size?: string | undefined; }[]' is not assignable to type 'PanelConfig[]'.","category":1,"code":2322,"next":[{"messageText":"Type '{ id: string; title: string; type: string; sql: string; mapping: Record; size?: string | undefined; }' is not assignable to type 'PanelConfig'.","category":1,"code":2322,"next":[{"messageText":"Types of property 'type' are incompatible.","category":1,"code":2326,"next":[{"messageText":"Type 'string' is not assignable to type 'ChartType'.","category":1,"code":2322,"canonicalHead":{"code":2322,"messageText":"Type '{ id: string; title: string; type: string; sql: string; mapping: Record; size?: string | undefined; }' is not assignable to type 'PanelConfig'."}}]}]}],"canonicalHead":{"code":2322,"messageText":"Type 'import(\"/Users/kumareth/Documents/projects/openclaw/apps/web/lib/report-blocks\").ReportConfig' is not assignable to type 'import(\"/Users/kumareth/Documents/projects/openclaw/apps/web/app/components/charts/types\").ReportConfig'."}}]}]},"relatedInformation":[{"file":"./app/components/charts/report-card.tsx","start":203,"length":6,"messageText":"The expected type comes from property 'config' which is declared here on type 'IntrinsicAttributes & ReportCardProps'","category":3,"code":6500}]}]],[1109,[{"start":8626,"length":8,"code":2550,"category":1,"messageText":"Property 'toSorted' does not exist on type 'Record[]'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2023' or later."},{"start":8636,"length":1,"messageText":"Parameter 'a' implicitly has an 'any' type.","category":1,"code":7006},{"start":8639,"length":1,"messageText":"Parameter 'b' implicitly has an 'any' type.","category":1,"code":7006},{"start":12991,"length":5,"messageText":"Parameter 'entry' implicitly has an 'any' type.","category":1,"code":7006},{"start":12998,"length":3,"messageText":"Parameter 'idx' implicitly has an 'any' type.","category":1,"code":7006}]]],"affectedFilesPendingEmit":[1115,1116,1117,1118,1121,1120,1119,1122,1123,1124,1125,1126,1127,1128,1129,1130,1113,1114,1131,683,684,685,687,686,688,691,690,689,693,694,695,696,697,698,699,701,700,702,703,705,706,710,729,856,1012,857,1013,711,858,859,1010,1014,1007,1015,1104,1105,1009,1106,1008,1107,1103,1108,1109,1110,712,727,1011,1111,682,723,722,724,704,726,725,692,455,536],"version":"5.9.3"} \ No newline at end of file
{field.name} + {field.type === "relation" && field.related_object_name && ( + + ({field.related_object_name}) + + )} + + + + + + {rr.sourceObjectName} + + via {rr.fieldName} + + +
+ +